data<-read.csv("C:/Users/iraq/Desktop/sama fw/karpur.csv",header=TRUE)
dim(data)
## [1] 819 14
summary(data)
## depth caliper ind.deep ind.med
## Min. :5667 Min. :8.487 Min. : 6.532 Min. : 9.386
## 1st Qu.:5769 1st Qu.:8.556 1st Qu.: 28.799 1st Qu.: 27.892
## Median :5872 Median :8.588 Median :217.849 Median :254.383
## Mean :5873 Mean :8.622 Mean :275.357 Mean :273.357
## 3rd Qu.:5977 3rd Qu.:8.686 3rd Qu.:566.793 3rd Qu.:544.232
## Max. :6083 Max. :8.886 Max. :769.484 Max. :746.028
## gamma phi.N R.deep R.med
## Min. : 16.74 Min. :0.0150 Min. : 1.300 Min. : 1.340
## 1st Qu.: 40.89 1st Qu.:0.2030 1st Qu.: 1.764 1st Qu.: 1.837
## Median : 51.37 Median :0.2450 Median : 4.590 Median : 3.931
## Mean : 53.42 Mean :0.2213 Mean : 24.501 Mean : 21.196
## 3rd Qu.: 62.37 3rd Qu.:0.2640 3rd Qu.: 34.724 3rd Qu.: 35.853
## Max. :112.40 Max. :0.4100 Max. :153.085 Max. :106.542
## SP density.corr density phi.core
## Min. :-73.95 Min. :-0.067000 Min. :1.758 Min. :15.70
## 1st Qu.:-42.01 1st Qu.:-0.016000 1st Qu.:2.023 1st Qu.:23.90
## Median :-32.25 Median :-0.007000 Median :2.099 Median :27.60
## Mean :-30.98 Mean :-0.008883 Mean :2.102 Mean :26.93
## 3rd Qu.:-19.48 3rd Qu.: 0.002000 3rd Qu.:2.181 3rd Qu.:30.70
## Max. : 25.13 Max. : 0.089000 Max. :2.387 Max. :36.30
## k.core Facies
## Min. : 0.42 Length:819
## 1st Qu.: 657.33 Class :character
## Median : 1591.22 Mode :character
## Mean : 2251.91
## 3rd Qu.: 3046.82
## Max. :15600.00
head(data)
## depth caliper ind.deep ind.med gamma phi.N R.deep R.med SP
## 1 5667.0 8.685 618.005 569.781 98.823 0.410 1.618 1.755 -56.587
## 2 5667.5 8.686 497.547 419.494 90.640 0.307 2.010 2.384 -61.916
## 3 5668.0 8.686 384.935 300.155 78.087 0.203 2.598 3.332 -55.861
## 4 5668.5 8.686 278.324 205.224 66.232 0.119 3.593 4.873 -41.860
## 5 5669.0 8.686 183.743 131.155 59.807 0.069 5.442 7.625 -34.934
## 6 5669.5 8.686 109.512 75.633 57.109 0.048 9.131 13.222 -39.769
## density.corr density phi.core k.core Facies
## 1 -0.033 2.205 33.9000 2442.590 F1
## 2 -0.067 2.040 33.4131 3006.989 F1
## 3 -0.064 1.888 33.1000 3370.000 F1
## 4 -0.053 1.794 34.9000 2270.000 F1
## 5 -0.054 1.758 35.0644 2530.758 F1
## 6 -0.058 1.759 35.3152 2928.314 F1
tail(data)
## depth caliper ind.deep ind.med gamma phi.N R.deep R.med SP
## 814 6080.5 8.578 683.847 672.125 24.003 0.208 1.462 1.488 -33.714
## 815 6081.0 8.590 678.002 669.171 27.855 0.214 1.475 1.494 -4.808
## 816 6081.5 8.588 668.633 661.949 32.591 0.228 1.496 1.511 -4.727
## 817 6082.0 8.588 656.328 647.918 38.547 0.243 1.524 1.543 -21.390
## 818 6082.5 8.588 643.216 628.536 45.555 0.256 1.555 1.591 -31.597
## 819 6083.0 8.588 631.098 608.163 52.244 0.265 1.584 1.644 -36.109
## density.corr density phi.core k.core Facies
## 814 0.003 2.147 26.9000 1300.790 F5
## 815 -0.002 2.162 25.7547 1249.706 F5
## 816 -0.008 2.158 24.5569 1196.282 F5
## 817 -0.006 2.136 23.3592 1142.859 F5
## 818 -0.002 2.115 22.1614 1089.435 F5
## 819 -0.003 2.109 20.9637 1036.012 F5
range(data$depth)
## [1] 5667 6083
par(mfrow=c(1,2))
hist(data$k.core, main='Histogram of Permeability', xlab='Permeability, md', col='blue')
hist(data$phi.core, main='Histogram of Porosity', xlab='Porosity', col='yellow')

# Multiple Linear Regression of Core Permeability as a function of other data
model1 <- lm(k.core ~ .-1, data = data)
summary(model1)
##
## Call:
## lm(formula = k.core ~ . - 1, data = data)
##
## Residuals:
## Min 1Q Median 3Q Max
## -5585.6 -568.9 49.2 476.5 8928.4
##
## Coefficients:
## Estimate Std. Error t value Pr(>|t|)
## depth 8.544e+00 1.785e+00 4.786 2.02e-06 ***
## caliper 1.413e+03 1.019e+03 1.387 0.165789
## ind.deep -2.418e-01 2.354e+00 -0.103 0.918220
## ind.med 1.224e+00 2.585e+00 0.473 0.636062
## gamma -4.583e+01 6.010e+00 -7.626 6.88e-14 ***
## phi.N -2.010e+03 1.476e+03 -1.362 0.173540
## R.deep -2.344e+01 6.288e+00 -3.727 0.000207 ***
## R.med 5.643e+01 9.065e+00 6.225 7.76e-10 ***
## SP -7.125e+00 3.145e+00 -2.266 0.023736 *
## density.corr -2.567e+03 4.809e+03 -0.534 0.593602
## density 2.319e+03 1.173e+03 1.976 0.048458 *
## phi.core 1.921e+02 2.282e+01 8.418 < 2e-16 ***
## FaciesF1 -6.783e+04 1.760e+04 -3.853 0.000126 ***
## FaciesF10 -6.694e+04 1.765e+04 -3.793 0.000160 ***
## FaciesF2 -6.691e+04 1.761e+04 -3.800 0.000156 ***
## FaciesF3 -6.740e+04 1.767e+04 -3.815 0.000147 ***
## FaciesF5 -6.709e+04 1.767e+04 -3.798 0.000157 ***
## FaciesF7 -6.788e+04 1.764e+04 -3.848 0.000129 ***
## FaciesF8 -6.901e+04 1.770e+04 -3.900 0.000104 ***
## FaciesF9 -7.080e+04 1.779e+04 -3.980 7.52e-05 ***
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Residual standard error: 1262 on 799 degrees of freedom
## Multiple R-squared: 0.8457, Adjusted R-squared: 0.8418
## F-statistic: 218.9 on 20 and 799 DF, p-value: < 2.2e-16
par(mfrow=c(2,2))
plot(model1)

model1.red <- lm(k.core ~ depth+gamma+R.deep+R.med+SP+density+phi.core+Facies-1, data = data)
summary(model1.red)
##
## Call:
## lm(formula = k.core ~ depth + gamma + R.deep + R.med + SP + density +
## phi.core + Facies - 1, data = data)
##
## Residuals:
## Min 1Q Median 3Q Max
## -5461.7 -545.5 37.0 505.0 9072.8
##
## Coefficients:
## Estimate Std. Error t value Pr(>|t|)
## depth 8.088 1.059 7.639 6.23e-14 ***
## gamma -51.915 4.526 -11.471 < 2e-16 ***
## R.deep -22.467 6.261 -3.588 0.000353 ***
## R.med 48.859 8.730 5.597 2.99e-08 ***
## SP -6.490 3.118 -2.082 0.037671 *
## density 2013.607 1047.054 1.923 0.054818 .
## phi.core 188.002 21.791 8.628 < 2e-16 ***
## FaciesF1 -51703.918 5802.150 -8.911 < 2e-16 ***
## FaciesF10 -50893.923 5917.391 -8.601 < 2e-16 ***
## FaciesF2 -51009.565 5854.625 -8.713 < 2e-16 ***
## FaciesF3 -51322.213 5871.731 -8.741 < 2e-16 ***
## FaciesF5 -51174.044 6008.663 -8.517 < 2e-16 ***
## FaciesF7 -52302.690 5971.976 -8.758 < 2e-16 ***
## FaciesF8 -53362.629 6033.789 -8.844 < 2e-16 ***
## FaciesF9 -54796.231 6100.716 -8.982 < 2e-16 ***
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Residual standard error: 1266 on 804 degrees of freedom
## Multiple R-squared: 0.8436, Adjusted R-squared: 0.8407
## F-statistic: 289.1 on 15 and 804 DF, p-value: < 2.2e-16
par(mfrow=c(2,2))
plot(model1.red)

k.core.pred <- predict(model1.red,data)
range(data$k.core)
## [1] 0.42 15600.00
AdjR.sq1 <- 1-sum((k.core.pred - data$k.core)^2)/sum((data$k.core-mean(data$k.core))^2)
AdjR.sq1
## [1] 0.6847518
mspe.model1 <- sqrt(sum((k.core.pred - data$k.core)^2)/nrow(data))
mspe.model1
## [1] 1254.46
par(mfrow=c(1,1))
plot(y=y<-(data$depth),ylim=rev(range(data$depth)),x=x<-(data$k.core),type="p", col="red", lwd = 5, pch=16, xlab='Permeability',
ylab='Depth, m', xlim=c(0,16000), cex=1.5, cex.lab=1.5, cex.axis=1.2)
grid()
par(new = TRUE)
plot(y=y<-(data$depth),ylim=rev(range(data$depth)),x=x<-(k.core.pred),type="l", col="black", lwd = 5, pch=17, xlab='',
ylab='Depth, m', xlim=c(0,16000), cex=1.5, cex.lab=1.5, cex.axis=1.2, main='AdjR.sq1=0.6847 & RMSE=1254')
grid()
legend('topright', legend=c("Observed", "Predicted"), pch=c(16,17), col=c("red", "blue"))

##### Core Permeability Modeling as Log Transforamtion
model2<-lm(log10(k.core) ~ .-1,data=data)
summary(model2)
##
## Call:
## lm(formula = log10(k.core) ~ . - 1, data = data)
##
## Residuals:
## Min 1Q Median 3Q Max
## -2.5804 -0.1138 0.0322 0.1529 0.7384
##
## Coefficients:
## Estimate Std. Error t value Pr(>|t|)
## depth 0.0007425 0.0004718 1.574 0.1160
## caliper -0.4605945 0.2693103 -1.710 0.0876 .
## ind.deep -0.0007951 0.0006222 -1.278 0.2017
## ind.med 0.0007137 0.0006833 1.044 0.2966
## gamma -0.0091269 0.0015885 -5.746 1.30e-08 ***
## phi.N -1.7628155 0.3901024 -4.519 7.16e-06 ***
## R.deep -0.0025878 0.0016620 -1.557 0.1199
## R.med 0.0044073 0.0023960 1.839 0.0662 .
## SP -0.0016935 0.0008312 -2.037 0.0419 *
## density.corr 1.4462633 1.2712045 1.138 0.2556
## density 1.6148374 0.3100921 5.208 2.44e-07 ***
## phi.core 0.0948634 0.0060329 15.724 < 2e-16 ***
## FaciesF1 -2.3461877 4.6532000 -0.504 0.6143
## FaciesF10 -2.2675417 4.6652182 -0.486 0.6271
## FaciesF2 -2.3646211 4.6544047 -0.508 0.6116
## FaciesF3 -2.3769425 4.6697172 -0.509 0.6109
## FaciesF5 -2.2367684 4.6697432 -0.479 0.6321
## FaciesF7 -2.0650257 4.6623059 -0.443 0.6579
## FaciesF8 -2.4438111 4.6776859 -0.522 0.6015
## FaciesF9 -2.7023993 4.7023453 -0.575 0.5657
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Residual standard error: 0.3335 on 799 degrees of freedom
## Multiple R-squared: 0.9891, Adjusted R-squared: 0.9888
## F-statistic: 3613 on 20 and 799 DF, p-value: < 2.2e-16
par(mfrow=c(2,2))
plot(model2)

model2.red <- lm(log10(k.core) ~ caliper+gamma+phi.N+SP+density+phi.core+Facies-1,data=data)
summary(model2.red)
##
## Call:
## lm(formula = log10(k.core) ~ caliper + gamma + phi.N + SP + density +
## phi.core + Facies - 1, data = data)
##
## Residuals:
## Min 1Q Median 3Q Max
## -2.60108 -0.11891 0.03253 0.15792 0.70925
##
## Coefficients:
## Estimate Std. Error t value Pr(>|t|)
## caliper -0.840136 0.182354 -4.607 4.74e-06 ***
## gamma -0.010369 0.001337 -7.754 2.68e-14 ***
## phi.N -1.596764 0.359392 -4.443 1.01e-05 ***
## SP -0.001585 0.000793 -1.998 0.04600 *
## density 1.762145 0.287056 6.139 1.31e-09 ***
## phi.core 0.093920 0.005931 15.835 < 2e-16 ***
## FaciesF1 4.981486 1.783281 2.793 0.00534 **
## FaciesF10 5.101106 1.793029 2.845 0.00455 **
## FaciesF2 4.995149 1.796855 2.780 0.00556 **
## FaciesF3 4.967152 1.799799 2.760 0.00591 **
## FaciesF5 5.158638 1.760353 2.930 0.00348 **
## FaciesF7 5.272425 1.759300 2.997 0.00281 **
## FaciesF8 4.952389 1.753512 2.824 0.00486 **
## FaciesF9 4.687264 1.762588 2.659 0.00799 **
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Residual standard error: 0.3346 on 805 degrees of freedom
## Multiple R-squared: 0.9889, Adjusted R-squared: 0.9887
## F-statistic: 5128 on 14 and 805 DF, p-value: < 2.2e-16
par(mfrow=c(2,2))
plot(model2.red)

k.core.pred2 <- predict(model2.red,data)
k.core.pred2 <- 10^(k.core.pred2)
AdjR.sq2 <- 1-sum((k.core.pred2 - data$k.core)^2)/sum((data$k.core-mean(data$k.core))^2)
AdjR.sq2
## [1] 0.6366977
mspe.model2 <- sqrt(sum((k.core.pred2 - data$k.core)^2)/nrow(data))
mspe.model2
## [1] 1346.681
par(mfrow=c(1,1))
plot(y=y<-(data$depth),ylim=rev(range(data$depth)),x=x<-(data$k.core),type="p", col="black", lwd = 5, pch=16, xlab='Permeability',
ylab='Depth, m', xlim=c(0,16000), cex=1.5, cex.lab=1.5, cex.axis=1.2)
grid()
par(new = TRUE)
plot(y=y<-(data$depth),ylim=rev(range(data$depth)),x=x<-(k.core.pred2),type="l", col="purple", lwd = 5, pch=15, xlab='',
ylab='Depth, m', xlim=c(0,16000), cex=1.5, cex.lab=1.5, cex.axis=1.2, main='AdjR.sq1=0.6367 & RMSE=1346')
grid()
legend('topright', legend=c("Observed", "Predicted"), pch=c(16,15), col=c("black", "purple"))

##### BOX-COX Transforamtion
require(MASS)
## Loading required package: MASS
library(MASS)
model1 <- lm(k.core ~ .-1,data=data)
bc <- boxcox(model1, lambda=seq(0,1,by=0.1))

lambda <- bc$x[which.max(bc$y)]
lambda
## [1] 0.3333333
k.corebc <- ((data$ k.core^lambda-1)/lambda)
hist(k.corebc)

model3 <- lm(k.corebc ~ .-1,data=data)
summary(model3)
##
## Call:
## lm(formula = k.corebc ~ . - 1, data = data)
##
## Residuals:
## Min 1Q Median 3Q Max
## -15.278 -1.469 0.223 2.034 9.186
##
## Coefficients:
## Estimate Std. Error t value Pr(>|t|)
## depth -5.882e-03 5.281e-03 -1.114 0.265724
## caliper -8.512e+00 2.976e+00 -2.861 0.004336 **
## ind.deep -5.954e-03 6.866e-03 -0.867 0.386105
## ind.med 2.620e-03 7.541e-03 0.347 0.728358
## gamma -7.033e-02 1.816e-02 -3.874 0.000116 ***
## phi.N -1.852e+01 4.310e+00 -4.298 1.94e-05 ***
## R.deep 6.668e-03 1.850e-02 0.360 0.718613
## R.med -3.482e-02 2.707e-02 -1.286 0.198837
## SP -8.001e-03 9.202e-03 -0.869 0.384870
## density.corr 1.926e+01 1.403e+01 1.372 0.170342
## density 1.429e+01 3.430e+00 4.166 3.44e-05 ***
## phi.core 9.720e-01 6.946e-02 13.993 < 2e-16 ***
## k.core 4.020e-03 1.032e-04 38.954 < 2e-16 ***
## FaciesF1 8.374e+01 5.182e+01 1.616 0.106523
## FaciesF10 8.438e+01 5.194e+01 1.624 0.104690
## FaciesF2 8.323e+01 5.183e+01 1.606 0.108689
## FaciesF3 8.267e+01 5.200e+01 1.590 0.112254
## FaciesF5 8.392e+01 5.200e+01 1.614 0.106925
## FaciesF7 8.756e+01 5.193e+01 1.686 0.092116 .
## FaciesF8 8.495e+01 5.211e+01 1.630 0.103445
## FaciesF9 8.330e+01 5.240e+01 1.590 0.112338
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Residual standard error: 3.68 on 798 degrees of freedom
## Multiple R-squared: 0.989, Adjusted R-squared: 0.9887
## F-statistic: 3402 on 21 and 798 DF, p-value: < 2.2e-16
par(mfrow=c(2,2))
plot(model3)

model3.red <- lm(k.corebc ~ caliper+gamma+phi.N+density+phi.core+Facies-1,data=data)
summary(model3.red)
##
## Call:
## lm(formula = k.corebc ~ caliper + gamma + phi.N + density + phi.core +
## Facies - 1, data = data)
##
## Residuals:
## Min 1Q Median 3Q Max
## -26.0549 -3.4595 0.3749 3.5855 20.9714
##
## Coefficients:
## Estimate Std. Error t value Pr(>|t|)
## caliper -16.76369 3.49089 -4.802 1.87e-06 ***
## gamma -0.32095 0.02557 -12.553 < 2e-16 ***
## phi.N -17.57664 6.88267 -2.554 0.01084 *
## density 24.66495 5.49378 4.490 8.18e-06 ***
## phi.core 1.78088 0.11360 15.677 < 2e-16 ***
## FaciesF1 98.56843 34.08857 2.892 0.00394 **
## FaciesF10 103.38483 34.28718 3.015 0.00265 **
## FaciesF2 101.37743 34.35094 2.951 0.00326 **
## FaciesF3 99.07487 34.41812 2.879 0.00410 **
## FaciesF5 104.26268 33.65904 3.098 0.00202 **
## FaciesF7 100.40719 33.66106 2.983 0.00294 **
## FaciesF8 96.38629 33.53702 2.874 0.00416 **
## FaciesF9 88.74221 33.70903 2.633 0.00864 **
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Residual standard error: 6.408 on 806 degrees of freedom
## Multiple R-squared: 0.9662, Adjusted R-squared: 0.9656
## F-statistic: 1771 on 13 and 806 DF, p-value: < 2.2e-16
par(mfrow=c(2,2))
plot(model3.red)

k.core.pred3 <- predict(model3.red,data)
k.core.pred3 <-(1+(lambda*k.corebc))^(1/lambda)
AdjR.sq3 <- 1-sum((k.core.pred3 - data$k.core)^2)/sum((data$k.core-mean(data$k.core))^2)
AdjR.sq3
## [1] 1
mspe.model3 <- sqrt(sum((k.core.pred3 - data$k.core)^2)/nrow(data))
mspe.model3
## [1] 1.175883e-12
par(mfrow=c(1,1))
plot(y=y<-(data$depth),ylim=rev(range(data$depth)),x=x<-(data$k.core),type="p", col="red", lwd = 5, pch=16, xlab='Permeability',
ylab='Depth, m', xlim=c(0,16000), cex=1.5, cex.lab=1.5, cex.axis=1.2)
grid()
par(new = TRUE)
plot(y=y<-(data$depth),ylim=rev(range(data$depth)),x=x<-(k.core.pred2),type="l", col="blue", lwd = 5, pch=15, xlab='',
ylab='Depth, m', xlim=c(0,16000), cex=1.5, cex.lab=1.5, cex.axis=1.2, main='AdjR.sq1=0.9999 & RMSE=0')
grid()
legend('topright', legend=c("Observed", "Predicted"), pch=c(16,15), col=c("red", "blue"))

### Plot all 3 models results together
par(mfrow=c(1,1))
plot(y=y<-(data$depth),ylim=rev(range(data$depth)),x=x<-(data$k.core),type="p", col="red", lwd = 5, pch=16, xlab='Permeability',
ylab='Depth, m', xlim=c(0,16000), cex=1.5, cex.lab=1.5, cex.axis=1.2)
grid()
par(new = TRUE)
plot(y=y<-(data$depth),ylim=rev(range(data$depth)),x=x<-(k.core.pred),type="l", col="blue", lwd = 5, pch=17, xlab='',
ylab='Depth, m', xlim=c(0,16000), cex=1.5, cex.lab=1.5, cex.axis=1.2)
grid()
par(new = TRUE)
plot(y=y<-(data$depth),ylim=rev(range(data$depth)),x=x<-(k.core.pred2),type="l", col="green", lwd = 5, pch=15, xlab='',
ylab='Depth, m', xlim=c(0,16000), cex=1.5, cex.lab=1.5, cex.axis=1.2)
grid()
par(new = TRUE)
plot(y=y<-(data$depth),ylim=rev(range(data$depth)),x=x<-(k.core.pred3),type="l", col="yellow", lwd = 5, pch=15, xlab='',
ylab='Depth, m', xlim=c(0,16000), cex=1.5, cex.lab=1.5, cex.axis=1.2)
grid()
legend('topright', legend=c("Observed", "Predicted1", "Predicted2", "Predicted3"), pch=c(16,15,17,11), col=c("red", "blue", "green", "yellow"))

require(xtable)
## Loading required package: xtable
## Warning: package 'xtable' was built under R version 4.1.2
library(xtable)
xtable(summary(model3.red))
## % latex table generated in R 4.1.1 by xtable 1.8-4 package
## % Sat Jan 15 21:47:30 2022
## \begin{table}[ht]
## \centering
## \begin{tabular}{rrrrr}
## \hline
## & Estimate & Std. Error & t value & Pr($>$$|$t$|$) \\
## \hline
## caliper & -16.7637 & 3.4909 & -4.80 & 0.0000 \\
## gamma & -0.3209 & 0.0256 & -12.55 & 0.0000 \\
## phi.N & -17.5766 & 6.8827 & -2.55 & 0.0108 \\
## density & 24.6650 & 5.4938 & 4.49 & 0.0000 \\
## phi.core & 1.7809 & 0.1136 & 15.68 & 0.0000 \\
## FaciesF1 & 98.5684 & 34.0886 & 2.89 & 0.0039 \\
## FaciesF10 & 103.3848 & 34.2872 & 3.02 & 0.0026 \\
## FaciesF2 & 101.3774 & 34.3509 & 2.95 & 0.0033 \\
## FaciesF3 & 99.0749 & 34.4181 & 2.88 & 0.0041 \\
## FaciesF5 & 104.2627 & 33.6590 & 3.10 & 0.0020 \\
## FaciesF7 & 100.4072 & 33.6611 & 2.98 & 0.0029 \\
## FaciesF8 & 96.3863 & 33.5370 & 2.87 & 0.0042 \\
## FaciesF9 & 88.7422 & 33.7090 & 2.63 & 0.0086 \\
## \hline
## \end{tabular}
## \end{table}
karpur2 <- cbind(data,k.core.pred2)
write.csv(karpur2,"karpur2.csv")
head(karpur2)
## depth caliper ind.deep ind.med gamma phi.N R.deep R.med SP
## 1 5667.0 8.685 618.005 569.781 98.823 0.410 1.618 1.755 -56.587
## 2 5667.5 8.686 497.547 419.494 90.640 0.307 2.010 2.384 -61.916
## 3 5668.0 8.686 384.935 300.155 78.087 0.203 2.598 3.332 -55.861
## 4 5668.5 8.686 278.324 205.224 66.232 0.119 3.593 4.873 -41.860
## 5 5669.0 8.686 183.743 131.155 59.807 0.069 5.442 7.625 -34.934
## 6 5669.5 8.686 109.512 75.633 57.109 0.048 9.131 13.222 -39.769
## density.corr density phi.core k.core Facies k.core.pred2
## 1 -0.033 2.205 33.9000 2442.590 F1 1460.992
## 2 -0.067 2.040 33.4131 3006.989 F1 1216.419
## 3 -0.064 1.888 33.1000 3370.000 F1 1187.019
## 4 -0.053 1.794 34.9000 2270.000 F1 2054.629
## 5 -0.054 1.758 35.0644 2530.758 F1 2513.148
## 6 -0.058 1.759 35.3152 2928.314 F1 3123.951
##Cross validation:
#Divide the data set into 70% and 30% :
split <- sample(2, nrow(data),replace=TRUE, prob = c(0.7,0.3))
train <- data[split==1,]
valid <- data[split==2,]
head(train)
## depth caliper ind.deep ind.med gamma phi.N R.deep R.med SP
## 2 5667.5 8.686 497.547 419.494 90.640 0.307 2.010 2.384 -61.916
## 4 5668.5 8.686 278.324 205.224 66.232 0.119 3.593 4.873 -41.860
## 6 5669.5 8.686 109.512 75.633 57.109 0.048 9.131 13.222 -39.769
## 8 5670.5 8.686 40.856 23.879 53.603 0.055 24.476 41.877 -47.122
## 9 5671.0 8.686 32.977 18.041 53.865 0.066 30.324 55.430 -47.035
## 10 5671.5 8.686 32.341 17.374 55.728 0.074 30.921 57.559 -45.988
## density.corr density phi.core k.core Facies
## 2 -0.067 2.040 33.4131 3006.989 F1
## 4 -0.053 1.794 34.9000 2270.000 F1
## 6 -0.058 1.759 35.3152 2928.314 F1
## 8 -0.046 1.818 34.6448 3053.205 F1
## 9 -0.040 1.848 33.7000 2730.000 F1
## 10 -0.043 1.849 33.1980 2802.169 F1
head(valid)
## depth caliper ind.deep ind.med gamma phi.N R.deep R.med SP
## 1 5667.0 8.685 618.005 569.781 98.823 0.410 1.618 1.755 -56.587
## 3 5668.0 8.686 384.935 300.155 78.087 0.203 2.598 3.332 -55.861
## 5 5669.0 8.686 183.743 131.155 59.807 0.069 5.442 7.625 -34.934
## 7 5670.0 8.686 63.530 40.841 55.067 0.047 15.741 24.485 -45.882
## 14 5673.5 8.686 31.434 18.600 57.304 0.049 31.812 53.764 -38.205
## 19 5676.0 8.686 21.170 20.776 51.682 0.078 47.237 48.133 -43.077
## density.corr density phi.core k.core Facies
## 1 -0.033 2.205 33.9000 2442.590 F1
## 3 -0.064 1.888 33.1000 3370.000 F1
## 5 -0.054 1.758 35.0644 2530.758 F1
## 7 -0.056 1.781 35.6000 3380.000 F1
## 14 -0.043 1.859 32.4996 2368.791 F1
## 19 -0.049 1.877 32.9296 1931.936 F1
model4<-lm(log10(k.core) ~ .-1,data=train)
summary(model4)
##
## Call:
## lm(formula = log10(k.core) ~ . - 1, data = train)
##
## Residuals:
## Min 1Q Median 3Q Max
## -1.77662 -0.12338 0.02747 0.15693 0.72265
##
## Coefficients:
## Estimate Std. Error t value Pr(>|t|)
## depth 0.0008005 0.0005790 1.383 0.167370
## caliper -0.5359024 0.3235662 -1.656 0.098261 .
## ind.deep -0.0012362 0.0007313 -1.690 0.091540 .
## ind.med 0.0010529 0.0008037 1.310 0.190731
## gamma -0.0101745 0.0019307 -5.270 1.98e-07 ***
## phi.N -1.6135128 0.4857529 -3.322 0.000956 ***
## R.deep -0.0024491 0.0019168 -1.278 0.201905
## R.med 0.0032197 0.0027687 1.163 0.245386
## SP -0.0017048 0.0009822 -1.736 0.083199 .
## density.corr 0.0298080 1.6199917 0.018 0.985327
## density 1.2898975 0.3755299 3.435 0.000639 ***
## phi.core 0.0954765 0.0072410 13.186 < 2e-16 ***
## FaciesF1 -1.3951613 5.6360915 -0.248 0.804585
## FaciesF10 -1.1757159 5.6423314 -0.208 0.835016
## FaciesF2 -1.9575840 5.6195546 -0.348 0.727713
## FaciesF3 -1.2060451 5.6487663 -0.214 0.831014
## FaciesF5 -1.2069205 5.6522104 -0.214 0.830995
## FaciesF7 -1.0963805 5.6412393 -0.194 0.845975
## FaciesF8 -1.4482364 5.6609878 -0.256 0.798183
## FaciesF9 -1.6587982 5.6889520 -0.292 0.770719
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Residual standard error: 0.3298 on 534 degrees of freedom
## Multiple R-squared: 0.9894, Adjusted R-squared: 0.989
## F-statistic: 2492 on 20 and 534 DF, p-value: < 2.2e-16
par(mfrow=c(2,2))
plot(model4)

model4.red <- lm(log10(k.core) ~ gamma+phi.N+SP+density+phi.core+Facies-1,data=train)
summary(model4.red)
##
## Call:
## lm(formula = log10(k.core) ~ gamma + phi.N + SP + density + phi.core +
## Facies - 1, data = train)
##
## Residuals:
## Min 1Q Median 3Q Max
## -1.82476 -0.12929 0.03246 0.17555 0.71881
##
## Coefficients:
## Estimate Std. Error t value Pr(>|t|)
## gamma -0.0100502 0.0015837 -6.346 4.68e-10 ***
## phi.N -1.6021286 0.4464615 -3.589 0.000363 ***
## SP -0.0017756 0.0009525 -1.864 0.062853 .
## density 1.4318006 0.3428045 4.177 3.45e-05 ***
## phi.core 0.1032658 0.0067947 15.198 < 2e-16 ***
## FaciesF1 -2.0094576 0.7582302 -2.650 0.008280 **
## FaciesF10 -1.7256756 0.7960403 -2.168 0.030607 *
## FaciesF2 -2.5300449 0.7746250 -3.266 0.001159 **
## FaciesF3 -1.8393175 0.7874965 -2.336 0.019874 *
## FaciesF5 -1.6179011 0.7725981 -2.094 0.036715 *
## FaciesF7 -1.4969291 0.7800585 -1.919 0.055511 .
## FaciesF8 -1.8292906 0.7600509 -2.407 0.016427 *
## FaciesF9 -2.0889793 0.7729703 -2.703 0.007097 **
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Residual standard error: 0.3357 on 541 degrees of freedom
## Multiple R-squared: 0.9889, Adjusted R-squared: 0.9886
## F-statistic: 3700 on 13 and 541 DF, p-value: < 2.2e-16
par(mfrow=c(2,2))
plot(model4.red)

#Prediction on dataset:
k.core.pred4 <- predict(model4.red,valid)
k.core.pred4 <- 10^(k.core.pred4)
AdjR.sq4 <- 1-sum((k.core.pred4 - valid$k.core)^2)/sum((valid$k.core-mean(valid$k.core))^2)
AdjR.sq4
## [1] 0.6051873
mspe.model4 <- sqrt(sum((k.core.pred4 - valid$k.core)^2)/nrow(valid))
mspe.model4
## [1] 1353.803