Transformation non-normal distribution to the normal distribution by using the method of log transformation, BOX COX transformation and randomly ordered.

Data Analysis :

data <- read.csv("C:/Users/gaming/OneDrive/Desktop/Dena Qais/karpur (2).csv",header = TRUE)   #calling data
dim(data)
## [1] 819  15
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          phi.core.frac   
##  Min.   :    0.42   Length:819         Min.   :0.1570  
##  1st Qu.:  657.33   Class :character   1st Qu.:0.2390  
##  Median : 1591.22   Mode  :character   Median :0.2760  
##  Mean   : 2251.91                      Mean   :0.2693  
##  3rd Qu.: 3046.82                      3rd Qu.:0.3070  
##  Max.   :15600.00                      Max.   :0.3630
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 phi.core.frac
## 1       -0.033   2.205  33.9000 2442.590     F1      0.339000
## 2       -0.067   2.040  33.4131 3006.989     F1      0.334131
## 3       -0.064   1.888  33.1000 3370.000     F1      0.331000
## 4       -0.053   1.794  34.9000 2270.000     F1      0.349000
## 5       -0.054   1.758  35.0644 2530.758     F1      0.350644
## 6       -0.058   1.759  35.3152 2928.314     F1      0.353152
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 phi.core.frac
## 814        0.003   2.147  26.9000 1300.790     F5      0.269000
## 815       -0.002   2.162  25.7547 1249.706     F5      0.257547
## 816       -0.008   2.158  24.5569 1196.282     F5      0.245569
## 817       -0.006   2.136  23.3592 1142.859     F5      0.233592
## 818       -0.002   2.115  22.1614 1089.435     F5      0.221614
## 819       -0.003   2.109  20.9637 1036.012     F5      0.209637
range(data$depth)
## [1] 5667 6083

histogram of core permeability and core porosity :

par(mfrow=c(1,2))
hist(data$k.core, main='Histogram of Permeability', xlab='Permeability, md', col='darkred')
hist(data$phi.core, main='Histogram of Porosity', xlab='Porosity', col='darkgreen')

Multiple Linear Regression of Core Permeability as a function of other data :

model1 <- lm(k.core ~ .-1, data = data)   #k.core as function of all 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: (1 not defined because of singularities)
##                 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 ***
## phi.core.frac         NA         NA      NA       NA    
## ---
## 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)

Reduction the model1 by removing of none effective parameters that have value less than 0.05 ( less than the value of probability of neural hypothesis) pr(>|t|) :

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)

Prduction of K.core.red after the reduction data of model1 :

k.core.pred <- predict(model1.red,data)

Find the adjusted R- sequared that represent the indication of accuracy, and find Root main square error :

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

plot the observed and Predicted values of K.core, plots between K.core, K.core.pred with depth.

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, 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 by using Log Transforamtion method :

model2<-lm(log10(k.core) ~ .-1,data=data)   #k.core as function of all 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: (1 not defined because of singularities)
##                 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    
## phi.core.frac         NA         NA      NA       NA    
## ---
## 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)    #prediction of k.core after reduction data of model2
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

plot the observed and Predicted values K.core, plots between K.core, K.core.pred with depth after using Log Transforamtion method :

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="darkgreen", 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("red", "darkgreen"))

Core Permeability Modeling by using BOX-COX Transforamtion method :

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

lambda <- bc$x[which.max(bc$y)]
lambda
## [1] 0.3333333
k.corebc <- ((y^lambda-1)/lambda)
model3 <- lm(k.corebc ~ .-1,data=data)
summary(model3)
## 
## Call:
## lm(formula = k.corebc ~ . - 1, data = data)
## 
## Residuals:
##        Min         1Q     Median         3Q        Max 
## -0.0037364 -0.0004842  0.0000603  0.0005479  0.0022961 
## 
## Coefficients: (1 not defined because of singularities)
##                 Estimate Std. Error  t value Pr(>|t|)    
## depth          3.051e-03  1.123e-06 2716.209  < 2e-16 ***
## caliper       -1.526e-02  6.329e-04  -24.117  < 2e-16 ***
## ind.deep       4.249e-06  1.460e-06    2.909 0.003723 ** 
## ind.med       -5.410e-06  1.604e-06   -3.373 0.000779 ***
## gamma          1.996e-05  3.862e-06    5.169 2.98e-07 ***
## phi.N         -5.146e-04  9.167e-04   -0.561 0.574694    
## R.deep         1.490e-05  3.935e-06    3.786 0.000164 ***
## R.med         -1.955e-05  5.758e-06   -3.395 0.000719 ***
## SP             8.346e-06  1.957e-06    4.264 2.24e-05 ***
## density.corr   1.271e-02  2.984e-03    4.260 2.29e-05 ***
## density        3.184e-03  7.296e-04    4.364 1.44e-05 ***
## phi.core      -4.254e-06  1.477e-05   -0.288 0.773494    
## k.core         1.675e-08  2.195e-08    0.763 0.445631    
## FaciesF1       3.333e+01  1.102e-02 3023.454  < 2e-16 ***
## FaciesF10      3.333e+01  1.105e-02 3016.997  < 2e-16 ***
## FaciesF2       3.333e+01  1.102e-02 3023.717  < 2e-16 ***
## FaciesF3       3.333e+01  1.106e-02 3013.784  < 2e-16 ***
## FaciesF5       3.333e+01  1.106e-02 3014.071  < 2e-16 ***
## FaciesF7       3.333e+01  1.104e-02 3018.238  < 2e-16 ***
## FaciesF8       3.333e+01  1.108e-02 3007.587  < 2e-16 ***
## FaciesF9       3.333e+01  1.115e-02 2990.587  < 2e-16 ***
## phi.core.frac         NA         NA       NA       NA    
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 0.0007827 on 798 degrees of freedom
## Multiple R-squared:      1,  Adjusted R-squared:      1 
## F-statistic: 1.664e+11 on 21 and 798 DF,  p-value: < 2.2e-16
par(mfrow=c(2,2))
plot(model3)                                               #plot of model3 before reduction                         

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 
## -0.43160 -0.06697 -0.00998  0.05328  0.61040 
## 
## Coefficients:
##             Estimate Std. Error t value Pr(>|t|)    
## caliper   -1.1912285  0.0638615 -18.653  < 2e-16 ***
## gamma     -0.0049245  0.0004677 -10.529  < 2e-16 ***
## phi.N      1.0145357  0.1259097   8.058 2.80e-15 ***
## density    0.7614501  0.1005018   7.576 9.75e-14 ***
## phi.core   0.0021998  0.0020781   1.059     0.29    
## FaciesF1  59.5804034  0.6236074  95.542  < 2e-16 ***
## FaciesF10 59.6446831  0.6272407  95.091  < 2e-16 ***
## FaciesF2  59.5098747  0.6284071  94.700  < 2e-16 ***
## FaciesF3  59.6545207  0.6296360  94.744  < 2e-16 ***
## FaciesF5  59.7201098  0.6157497  96.988  < 2e-16 ***
## FaciesF7  59.6547122  0.6157867  96.876  < 2e-16 ***
## FaciesF8  59.7670655  0.6135175  97.417  < 2e-16 ***
## FaciesF9  60.1230777  0.6166642  97.497  < 2e-16 ***
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 0.1172 on 806 degrees of freedom
## Multiple R-squared:      1,  Adjusted R-squared:      1 
## F-statistic: 1.198e+07 on 13 and 806 DF,  p-value: < 2.2e-16
par(mfrow=c(2,2))
plot(model3.red)                                           #plot of model3 after reduction

k.core.pred3 <- predict(model3.red,data)                   #prediction of k.core after reduction data of model3
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] -2.62226
mspe.model3 <- sqrt(sum((k.core.pred3 - data$k.core)^2)/nrow(data))
mspe.model3
## [1] 4252.266
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="gold", 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", "gold"))

randomly ordered

set.seed(42)
rows <- sample(nrow(data))
data<-data[rows, ]
head(data)
##      depth caliper ind.deep ind.med  gamma phi.N  R.deep  R.med      SP
## 561 5950.0   8.489   26.833  29.266 41.036 0.284  37.268 34.169 -21.363
## 321 5827.0   8.588    8.425  10.695 24.896 0.191 118.698 93.501 -50.852
## 153 5743.0   8.816  341.817 353.069 72.168 0.248   2.925  2.832 -35.805
## 74  5703.5   8.686   32.016  36.599 56.703 0.080  31.234 27.323 -35.935
## 228 5780.5   8.686  222.486 199.552 60.909 0.177   4.495  5.011 -44.079
## 146 5739.5   8.816  316.687 306.366 68.606 0.268   3.158  3.264 -39.945
##     density.corr density phi.core    k.core Facies phi.core.frac
## 561       -0.004   2.054  31.2625 3293.4705     F8      0.312625
## 321       -0.021   2.073  27.6898 5338.7207     F5      0.276898
## 153        0.016   2.171  23.5965  467.5622     F3      0.235965
## 74        -0.029   1.943  31.0000 1866.9200     F1      0.310000
## 228       -0.015   2.181  23.1149 1109.5569     F3      0.231149
## 146       -0.038   2.113  29.0670  597.4316     F3      0.290670
split <- round(nrow(data)*0.70)
train <- data[1:split, ]
test <- data[(split+1):nrow(data), ]
mod <- lm(k.core ~.-1,data=train)
summary(mod)
## 
## Call:
## lm(formula = k.core ~ . - 1, data = train)
## 
## Residuals:
##     Min      1Q  Median      3Q     Max 
## -5414.4  -522.6    48.7   509.1  9856.7 
## 
## Coefficients: (1 not defined because of singularities)
##                 Estimate Std. Error t value Pr(>|t|)    
## depth              6.674      2.126   3.140  0.00178 ** 
## caliper          241.030   1186.630   0.203  0.83911    
## ind.deep           1.607      2.706   0.594  0.55284    
## ind.med           -1.257      2.971  -0.423  0.67247    
## gamma            -44.580      7.171  -6.216 1.00e-09 ***
## phi.N          -1917.013   1807.525  -1.061  0.28935    
## R.deep           -17.012      7.109  -2.393  0.01704 *  
## R.med             47.590     10.493   4.535 7.05e-06 ***
## SP                -3.465      3.671  -0.944  0.34554    
## density.corr   -2890.898   5709.730  -0.506  0.61284    
## density         2493.847   1439.597   1.732  0.08377 .  
## phi.core         215.722     27.953   7.717 5.58e-14 ***
## FaciesF1      -47962.532  20633.714  -2.324  0.02046 *  
## FaciesF10     -46434.471  20683.769  -2.245  0.02516 *  
## FaciesF2      -46513.129  20621.490  -2.256  0.02449 *  
## FaciesF3      -47009.538  20703.937  -2.271  0.02356 *  
## FaciesF5      -47105.613  20705.530  -2.275  0.02329 *  
## FaciesF7      -47150.391  20678.517  -2.280  0.02298 *  
## FaciesF8      -48836.257  20737.279  -2.355  0.01887 *  
## FaciesF9      -50192.276  20858.403  -2.406  0.01644 *  
## phi.core.frac         NA         NA      NA       NA    
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 1244 on 553 degrees of freedom
## Multiple R-squared:  0.8335, Adjusted R-squared:  0.8274 
## F-statistic: 138.4 on 20 and 553 DF,  p-value: < 2.2e-16
mod_red<-lm(k.core ~ depth+caliper+gamma+R.deep+R.med+phi.core+Facies-1,data=train)
summary(mod_red)
## 
## Call:
## lm(formula = k.core ~ depth + caliper + gamma + R.deep + R.med + 
##     phi.core + Facies - 1, data = train)
## 
## Residuals:
##     Min      1Q  Median      3Q     Max 
## -5310.2  -515.2    41.9   489.9  9742.9 
## 
## Coefficients:
##             Estimate Std. Error t value Pr(>|t|)    
## depth          7.181      1.530   4.693 3.39e-06 ***
## caliper      591.301   1032.331   0.573  0.56702    
## gamma        -45.579      5.208  -8.752  < 2e-16 ***
## R.deep       -14.659      6.831  -2.146  0.03231 *  
## R.med         42.671      9.940   4.293 2.08e-05 ***
## phi.core     202.739     23.841   8.504  < 2e-16 ***
## FaciesF1  -48477.805  16112.627  -3.009  0.00274 ** 
## FaciesF10 -46771.173  16229.774  -2.882  0.00411 ** 
## FaciesF2  -47082.589  16181.588  -2.910  0.00376 ** 
## FaciesF3  -47390.015  16223.461  -2.921  0.00363 ** 
## FaciesF5  -47571.622  16230.171  -2.931  0.00352 ** 
## FaciesF7  -47921.184  16161.698  -2.965  0.00315 ** 
## FaciesF8  -49553.036  16243.816  -3.051  0.00239 ** 
## FaciesF9  -50688.624  16362.282  -3.098  0.00205 ** 
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 1243 on 559 degrees of freedom
## Multiple R-squared:  0.8319, Adjusted R-squared:  0.8277 
## F-statistic: 197.7 on 14 and 559 DF,  p-value: < 2.2e-16
bc2 <- boxcox(mod_red)

lambda2 <- bc$x[which.max(bc$y)]
kcox2 <- ((train$k.core^lambda-1)/lambda)
par(mfrow=c(1,2))
hist(kcox2)
hist(data$k.core)

model4<-lm(kcox2~.-1,data=train)
summary(model4)
## 
## Call:
## lm(formula = kcox2 ~ . - 1, data = train)
## 
## Residuals:
##     Min      1Q  Median      3Q     Max 
## -18.144  -1.529   0.271   2.036   8.665 
## 
## Coefficients: (1 not defined because of singularities)
##                 Estimate Std. Error t value Pr(>|t|)    
## depth          2.843e-05  6.468e-03   0.004  0.99649    
## caliper       -8.725e+00  3.579e+00  -2.438  0.01509 *  
## ind.deep      -5.958e-03  8.164e-03  -0.730  0.46582    
## ind.med        2.390e-03  8.963e-03   0.267  0.78982    
## gamma         -4.466e-02  2.237e-02  -1.996  0.04640 *  
## phi.N         -1.799e+01  5.457e+00  -3.297  0.00104 ** 
## R.deep         1.065e-02  2.155e-02   0.494  0.62139    
## R.med         -4.661e-02  3.223e-02  -1.446  0.14870    
## SP            -8.704e-03  1.108e-02  -0.786  0.43246    
## density.corr   3.772e+00  1.723e+01   0.219  0.82673    
## density        9.264e+00  4.354e+00   2.128  0.03380 *  
## phi.core       9.092e-01  8.873e-02  10.246  < 2e-16 ***
## k.core         4.205e-03  1.283e-04  32.785  < 2e-16 ***
## FaciesF1       6.120e+01  6.254e+01   0.979  0.32823    
## FaciesF10      6.280e+01  6.267e+01   1.002  0.31670    
## FaciesF2       6.109e+01  6.248e+01   0.978  0.32866    
## FaciesF3       6.097e+01  6.274e+01   0.972  0.33152    
## FaciesF5       6.159e+01  6.274e+01   0.982  0.32671    
## FaciesF7       6.503e+01  6.266e+01   1.038  0.29980    
## FaciesF8       6.213e+01  6.286e+01   0.988  0.32339    
## FaciesF9       6.056e+01  6.324e+01   0.958  0.33868    
## phi.core.frac         NA         NA      NA       NA    
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 3.753 on 552 degrees of freedom
## Multiple R-squared:  0.9881, Adjusted R-squared:  0.9877 
## F-statistic:  2190 on 21 and 552 DF,  p-value: < 2.2e-16
model4_red<-lm(kcox2~gamma+phi.N+density+phi.core+Facies-1,data=train)
summary(model4_red)
## 
## Call:
## lm(formula = kcox2 ~ gamma + phi.N + density + phi.core + Facies - 
##     1, data = train)
## 
## Residuals:
##      Min       1Q   Median       3Q      Max 
## -25.9117  -3.4276   0.3054   4.2740  22.5922 
## 
## Coefficients:
##            Estimate Std. Error t value Pr(>|t|)    
## gamma      -0.27318    0.03166  -8.629  < 2e-16 ***
## phi.N     -19.95498    8.64226  -2.309  0.02131 *  
## density    19.08967    7.11184   2.684  0.00749 ** 
## phi.core    2.03220    0.14121  14.392  < 2e-16 ***
## FaciesF1  -46.90754   15.91097  -2.948  0.00333 ** 
## FaciesF10 -38.07963   16.76794  -2.271  0.02353 *  
## FaciesF2  -42.00006   16.19334  -2.594  0.00974 ** 
## FaciesF3  -43.89477   16.60413  -2.644  0.00843 ** 
## FaciesF5  -37.13203   16.33217  -2.274  0.02337 *  
## FaciesF7  -37.91485   16.44022  -2.306  0.02146 *  
## FaciesF8  -44.34360   16.13491  -2.748  0.00618 ** 
## FaciesF9  -51.45684   16.36175  -3.145  0.00175 ** 
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 6.666 on 561 degrees of freedom
## Multiple R-squared:  0.962,  Adjusted R-squared:  0.9612 
## F-statistic:  1183 on 12 and 561 DF,  p-value: < 2.2e-16
k4<- predict(model4_red,data= test)
k4<-(k4*lambda2+1)^(1/lambda2)
rmse4<-sqrt(sum((k4 - test$k.core)^2)/nrow(test))
## Warning in k4 - test$k.core: longer object length is not a multiple of shorter
## object length
par(mfrow=c(1,1))
plot(y=y<-(train$depth),ylim=rev(range(train$depth)),x=x<-(train$k.core),type="p", col="red", lwd = 3, pch=20, xlab='Permeability, md',
     ylab='Depth, m', xlim=c(0,16000), cex=1.5, cex.lab=1.5, cex.axis=1.2, main='RMSE=4362.062')
grid()
par(new = TRUE)
plot(y=y<-(train$depth),ylim=rev(range(train$depth)),x=x<-(k4),type="p", col="darkblue", lwd = 3, pch=20, 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", "Predicted"), pch=c(16,15), col=c("red", "darkblue"))

xtable

library(xtable)
xtable(summary(model3.red))
## % latex table generated in R 4.1.2 by xtable 1.8-4 package
## % Sun Jan 16 05:34:52 2022
## \begin{table}[ht]
## \centering
## \begin{tabular}{rrrrr}
##   \hline
##  & Estimate & Std. Error & t value & Pr($>$$|$t$|$) \\ 
##   \hline
## caliper & -1.1912 & 0.0639 & -18.65 & 0.0000 \\ 
##   gamma & -0.0049 & 0.0005 & -10.53 & 0.0000 \\ 
##   phi.N & 1.0145 & 0.1259 & 8.06 & 0.0000 \\ 
##   density & 0.7615 & 0.1005 & 7.58 & 0.0000 \\ 
##   phi.core & 0.0022 & 0.0021 & 1.06 & 0.2901 \\ 
##   FaciesF1 & 59.5804 & 0.6236 & 95.54 & 0.0000 \\ 
##   FaciesF10 & 59.6447 & 0.6272 & 95.09 & 0.0000 \\ 
##   FaciesF2 & 59.5099 & 0.6284 & 94.70 & 0.0000 \\ 
##   FaciesF3 & 59.6545 & 0.6296 & 94.74 & 0.0000 \\ 
##   FaciesF5 & 59.7201 & 0.6157 & 96.99 & 0.0000 \\ 
##   FaciesF7 & 59.6547 & 0.6158 & 96.88 & 0.0000 \\ 
##   FaciesF8 & 59.7671 & 0.6135 & 97.42 & 0.0000 \\ 
##   FaciesF9 & 60.1231 & 0.6167 & 97.50 & 0.0000 \\ 
##    \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
## 561 5950.0   8.489   26.833  29.266 41.036 0.284  37.268 34.169 -21.363
## 321 5827.0   8.588    8.425  10.695 24.896 0.191 118.698 93.501 -50.852
## 153 5743.0   8.816  341.817 353.069 72.168 0.248   2.925  2.832 -35.805
## 74  5703.5   8.686   32.016  36.599 56.703 0.080  31.234 27.323 -35.935
## 228 5780.5   8.686  222.486 199.552 60.909 0.177   4.495  5.011 -44.079
## 146 5739.5   8.816  316.687 306.366 68.606 0.268   3.158  3.264 -39.945
##     density.corr density phi.core    k.core Facies phi.core.frac k.core.pred2
## 561       -0.004   2.054  31.2625 3293.4705     F8      0.312625     1460.992
## 321       -0.021   2.073  27.6898 5338.7207     F5      0.276898     1216.419
## 153        0.016   2.171  23.5965  467.5622     F3      0.235965     1187.019
## 74        -0.029   1.943  31.0000 1866.9200     F1      0.310000     2054.629
## 228       -0.015   2.181  23.1149 1109.5569     F3      0.231149     2513.148
## 146       -0.038   2.113  29.0670  597.4316     F3      0.290670     3123.951