#Call the dataset

data = read.csv("G:/karpur.csv")
library(caret)
## Loading required package: ggplot2
## Loading required package: lattice

#Build MLR model

model1 <- lm(k.core ~ . - Facies, data = data)
summary(model1)
## 
## Call:
## lm(formula = k.core ~ . - Facies, data = data)
## 
## Residuals:
##     Min      1Q  Median      3Q     Max 
## -5549.5  -755.5  -178.1   578.0 11260.8 
## 
## Coefficients:
##               Estimate Std. Error t value Pr(>|t|)    
## (Intercept)  60762.728  16605.360   3.659 0.000269 ***
## depth           -7.398      1.446  -5.115 3.92e-07 ***
## caliper      -3955.952   1055.105  -3.749 0.000190 ***
## ind.deep       -14.183      2.345  -6.048 2.24e-09 ***
## ind.med         17.300      2.509   6.896 1.08e-11 ***
## gamma          -77.487      5.475 -14.153  < 2e-16 ***
## phi.N        -1784.704   1301.772  -1.371 0.170763    
## R.deep         -26.007      6.974  -3.729 0.000206 ***
## R.med           63.525      9.841   6.455 1.86e-10 ***
## SP              -8.784      3.460  -2.539 0.011313 *  
## density.corr  -523.060   5358.876  -0.098 0.922269    
## density       8011.106   1120.554   7.149 1.96e-12 ***
## phi.core       183.203     23.802   7.697 4.07e-14 ***
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 1442 on 806 degrees of freedom
## Multiple R-squared:  0.5903, Adjusted R-squared:  0.5842 
## F-statistic: 96.77 on 12 and 806 DF,  p-value: < 2.2e-16
r2_1 <- summary(model1)$r.squared
adj_r2_1 <- summary(model1)$adj.r.squared
cat("Scenario 1 - R2:", r2_1, "Adjusted R2:", adj_r2_1, "\n")
## Scenario 1 - R2: 0.5902845 Adjusted R2: 0.5841845
k.pred1 <- predict(model1, data = data)
plot(k.pred1, data$k.core)

rmse_1 <- RMSE(k.pred1, data$k.core)
rmse_1
## [1] 1430.118

#Stepwise Elimination to the previous model

model2 <- step(model1, direction = "backward")
## Start:  AIC=11926.91
## k.core ~ (depth + caliper + ind.deep + ind.med + gamma + phi.N + 
##     R.deep + R.med + SP + density.corr + density + phi.core + 
##     Facies) - Facies
## 
##                Df Sum of Sq        RSS   AIC
## - density.corr  1     19799 1675068713 11925
## - phi.N         1   3906205 1678955118 11927
## <none>                      1675048914 11927
## - SP            1  13394190 1688443104 11931
## - R.deep        1  28897686 1703946599 11939
## - caliper       1  29214826 1704263740 11939
## - depth         1  54372650 1729421563 11951
## - ind.deep      1  76022788 1751071701 11961
## - R.med         1  86603706 1761652619 11966
## - ind.med       1  98823752 1773872666 11972
## - density       1 106221406 1781270319 11975
## - phi.core      1 123125117 1798174031 11983
## - gamma         1 416312526 2091361440 12107
## 
## Step:  AIC=11924.92
## k.core ~ depth + caliper + ind.deep + ind.med + gamma + phi.N + 
##     R.deep + R.med + SP + density + phi.core
## 
##            Df Sum of Sq        RSS   AIC
## <none>                  1675068713 11925
## - phi.N     1   4564880 1679633593 11925
## - SP        1  13491079 1688559792 11930
## - R.deep    1  28896144 1703964857 11937
## - caliper   1  29253869 1704322581 11937
## - depth     1  54825159 1729893872 11949
## - ind.deep  1  77573926 1752642639 11960
## - R.med     1  86772220 1761840933 11964
## - ind.med   1 100740701 1775809413 11971
## - density   1 114209586 1789278299 11977
## - phi.core  1 124694278 1799762991 11982
## - gamma     1 417015194 2092083907 12105
summary(model2)
## 
## Call:
## lm(formula = k.core ~ depth + caliper + ind.deep + ind.med + 
##     gamma + phi.N + R.deep + R.med + SP + density + phi.core, 
##     data = data)
## 
## Residuals:
##     Min      1Q  Median      3Q     Max 
## -5545.3  -753.4  -177.1   576.8 11260.2 
## 
## Coefficients:
##              Estimate Std. Error t value Pr(>|t|)    
## (Intercept) 60910.619  16525.937   3.686 0.000243 ***
## depth          -7.409      1.442  -5.139 3.46e-07 ***
## caliper     -3957.892   1054.270  -3.754 0.000186 ***
## ind.deep      -14.146      2.314  -6.113 1.52e-09 ***
## ind.med        17.263      2.478   6.967 6.74e-12 ***
## gamma         -77.461      5.465 -14.174  < 2e-16 ***
## phi.N       -1825.771   1231.150  -1.483 0.138470    
## R.deep        -25.972      6.961  -3.731 0.000204 ***
## R.med          63.466      9.816   6.466 1.75e-10 ***
## SP             -8.803      3.453  -2.549 0.010974 *  
## density      7980.761   1075.902   7.418 3.02e-13 ***
## phi.core      183.436     23.667   7.751 2.75e-14 ***
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 1441 on 807 degrees of freedom
## Multiple R-squared:  0.5903, Adjusted R-squared:  0.5847 
## F-statistic: 105.7 on 11 and 807 DF,  p-value: < 2.2e-16
r2_2 <- summary(model2)$r.squared
adj_r2_2 <- summary(model2)$adj.r.squared
cat("Scenario 2 - R2:", r2_2, "Adjusted R2:", adj_r2_2, "\n")
## Scenario 2 - R2: 0.5902797 Adjusted R2: 0.5846949
k.pred2 <- predict(model2, data = data)
plot(k.pred2, data$k.core)

rmse_2 <- RMSE(k.pred2, data$k.core)
rmse_2
## [1] 1430.126

#Build MLR model of k using all well logs including Facies

model3 <- lm(k.core ~ ., data = data)
summary(model3)
## 
## Call:
## lm(formula = k.core ~ ., 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|)    
## (Intercept)  -6.783e+04  1.760e+04  -3.853 0.000126 ***
## 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 ***
## FaciesF10     8.921e+02  3.590e+02   2.485 0.013157 *  
## FaciesF2      9.243e+02  5.818e+02   1.589 0.112514    
## FaciesF3      4.393e+02  3.344e+02   1.313 0.189394    
## FaciesF5      7.411e+02  3.428e+02   2.162 0.030908 *  
## FaciesF7     -4.152e+01  5.742e+02  -0.072 0.942377    
## FaciesF8     -1.179e+03  3.927e+02  -3.002 0.002770 ** 
## FaciesF9     -2.969e+03  4.298e+02  -6.908 1.00e-11 ***
## ---
## 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.6889, Adjusted R-squared:  0.6815 
## F-statistic: 93.12 on 19 and 799 DF,  p-value: < 2.2e-16
r2_3 <- summary(model3)$r.squared
adj_r2_3 <- summary(model3)$adj.r.squared
cat("Scenario 3 - R2:", r2_3, "Adjusted R2:", adj_r2_3, "\n")
## Scenario 3 - R2: 0.6888892 Adjusted R2: 0.6814911
k.pred3 <- predict(model3, data = data)
plot(k.pred3, data$k.core)

rmse_3 <- RMSE(k.pred3, data$k.core)
rmse_3
## [1] 1246.201

#Stepwise Elimination to the previous model

model4 <- step(model3, direction = "backward")
## Start:  AIC=11715.43
## k.core ~ depth + caliper + ind.deep + ind.med + gamma + phi.N + 
##     R.deep + R.med + SP + density.corr + density + phi.core + 
##     Facies
## 
##                Df Sum of Sq        RSS   AIC
## - ind.deep      1     16793 1271937992 11713
## - ind.med       1    356746 1272277945 11714
## - density.corr  1    453661 1272374861 11714
## - phi.N         1   2953609 1274874809 11715
## - caliper       1   3063007 1274984206 11715
## <none>                      1271921199 11715
## - density       1   6217927 1278139127 11717
## - SP            1   8171834 1280093033 11719
## - R.deep        1  22117394 1294038593 11728
## - depth         1  36466976 1308388176 11737
## - R.med         1  61690461 1333611660 11752
## - gamma         1  92579723 1364500923 11771
## - phi.core      1 112793101 1384714301 11783
## - Facies        7 403127714 1675048914 11927
## 
## Step:  AIC=11713.44
## k.core ~ depth + caliper + ind.med + gamma + phi.N + R.deep + 
##     R.med + SP + density.corr + density + phi.core + Facies
## 
##                Df Sum of Sq        RSS   AIC
## - density.corr  1    437546 1272375538 11712
## - phi.N         1   2938766 1274876758 11713
## - caliper       1   3074396 1275012389 11713
## <none>                      1271937992 11713
## - density       1   6228928 1278166920 11715
## - ind.med       1   6905855 1278843848 11716
## - SP            1   8191802 1280129794 11717
## - R.deep        1  22125695 1294063687 11726
## - depth         1  39139470 1311077462 11736
## - R.med         1  61773953 1333711946 11750
## - gamma         1  92865220 1364803212 11769
## - phi.core      1 112960440 1384898432 11781
## - Facies        7 479133709 1751071701 11961
## 
## Step:  AIC=11711.72
## k.core ~ depth + caliper + ind.med + gamma + phi.N + R.deep + 
##     R.med + SP + density + phi.core + Facies
## 
##            Df Sum of Sq        RSS   AIC
## - caliper   1   2980713 1275356252 11712
## <none>                  1272375538 11712
## - phi.N     1   3279032 1275654571 11712
## - density   1   5792837 1278168375 11713
## - ind.med   1   6813959 1279189497 11714
## - SP        1   8391302 1280766840 11715
## - R.deep    1  22009402 1294384940 11724
## - depth     1  38705776 1311081314 11734
## - R.med     1  61436819 1333812357 11748
## - gamma     1  93974329 1366349868 11768
## - phi.core  1 115336515 1387712053 11781
## - Facies    7 480267100 1752642639 11960
## 
## Step:  AIC=11711.64
## k.core ~ depth + ind.med + gamma + phi.N + R.deep + R.med + SP + 
##     density + phi.core + Facies
## 
##            Df Sum of Sq        RSS   AIC
## - phi.N     1   2534906 1277891157 11711
## <none>                  1275356252 11712
## - density   1   7270311 1282626562 11714
## - SP        1   8733336 1284089587 11715
## - ind.med   1  12924050 1288280301 11718
## - R.deep    1  22449117 1297805369 11724
## - depth     1  51507476 1326863728 11742
## - R.med     1  60137982 1335494234 11747
## - phi.core  1 112564835 1387921086 11779
## - gamma     1 141535555 1416891807 11796
## - Facies    7 520094756 1795451008 11978
## 
## Step:  AIC=11711.26
## k.core ~ depth + ind.med + gamma + R.deep + R.med + SP + density + 
##     phi.core + Facies
## 
##            Df Sum of Sq        RSS   AIC
## <none>                  1277891157 11711
## - density   1   5155969 1283047127 11713
## - SP        1   8515796 1286406953 11715
## - ind.med   1  10944937 1288836095 11716
## - R.deep    1  23273312 1301164469 11724
## - depth     1  49725248 1327616405 11740
## - R.med     1  59454645 1337345802 11746
## - phi.core  1 110154394 1388045551 11777
## - gamma     1 219059092 1496950249 11839
## - Facies    7 526383446 1804274603 11980
summary(model4)
## 
## Call:
## lm(formula = k.core ~ depth + ind.med + gamma + R.deep + R.med + 
##     SP + density + phi.core + Facies, data = data)
## 
## Residuals:
##     Min      1Q  Median      3Q     Max 
## -5608.3  -567.8    35.9   500.7  8989.7 
## 
## Coefficients:
##               Estimate Std. Error t value Pr(>|t|)    
## (Intercept) -4.322e+04  6.625e+03  -6.523 1.22e-10 ***
## depth        6.648e+00  1.189e+00   5.590 3.11e-08 ***
## ind.med      1.078e+00  4.111e-01   2.623 0.008894 ** 
## gamma       -5.324e+01  4.537e+00 -11.733  < 2e-16 ***
## R.deep      -2.395e+01  6.264e+00  -3.824 0.000141 ***
## R.med        5.515e+01  9.022e+00   6.112 1.53e-09 ***
## SP          -7.214e+00  3.118e+00  -2.313 0.020960 *  
## density      1.880e+03  1.044e+03   1.800 0.072240 .  
## phi.core     1.817e+02  2.184e+01   8.320 3.77e-16 ***
## FaciesF10    8.266e+02  3.533e+02   2.340 0.019553 *  
## FaciesF2     7.035e+02  5.567e+02   1.264 0.206697    
## FaciesF3     4.100e+02  3.228e+02   1.270 0.204443    
## FaciesF5     5.913e+02  3.211e+02   1.841 0.065924 .  
## FaciesF7    -3.159e+02  5.402e+02  -0.585 0.558866    
## FaciesF8    -1.455e+03  3.122e+02  -4.661 3.69e-06 ***
## FaciesF9    -3.017e+03  3.764e+02  -8.017 3.82e-15 ***
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 1262 on 803 degrees of freedom
## Multiple R-squared:  0.6874, Adjusted R-squared:  0.6816 
## F-statistic: 117.7 on 15 and 803 DF,  p-value: < 2.2e-16
r2_4 <- summary(model4)$r.squared
adj_r2_4 <- summary(model4)$adj.r.squared
cat("Scenario 4 - R2:", r2_4, "Adjusted R2:", adj_r2_4, "\n")
## Scenario 4 - R2: 0.687429 Adjusted R2: 0.6815901
k.pred4 <- predict(model4, data = data)
plot(k.pred4, data$k.core)

rmse_4 <- RMSE(k.pred4, data$k.core)
rmse_4
## [1] 1249.122

#Transformation of k into log sacle and building MLR of log10(k) using all well logs including Facies

data$log10_k.core <- log10(data$k.core)
model5 <- lm(log10_k.core ~ . - k.core, data = data)
summary(model5)
## 
## Call:
## lm(formula = log10_k.core ~ . - k.core, 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|)    
## (Intercept)  -2.3461877  4.6532000  -0.504  0.61425    
## depth         0.0007425  0.0004718   1.574  0.11596    
## caliper      -0.4605945  0.2693103  -1.710  0.08760 .  
## ind.deep     -0.0007951  0.0006222  -1.278  0.20168    
## ind.med       0.0007137  0.0006833   1.044  0.29659    
## 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.11987    
## R.med         0.0044073  0.0023960   1.839  0.06622 .  
## SP           -0.0016935  0.0008312  -2.037  0.04194 *  
## density.corr  1.4462633  1.2712045   1.138  0.25558    
## density       1.6148374  0.3100921   5.208 2.44e-07 ***
## phi.core      0.0948634  0.0060329  15.724  < 2e-16 ***
## FaciesF10     0.0786460  0.0948909   0.829  0.40746    
## FaciesF2     -0.0184334  0.1537793  -0.120  0.90462    
## FaciesF3     -0.0307548  0.0883957  -0.348  0.72799    
## FaciesF5      0.1094193  0.0906034   1.208  0.22753    
## FaciesF7      0.2811620  0.1517797   1.852  0.06433 .  
## FaciesF8     -0.0976234  0.1038054  -0.940  0.34727    
## FaciesF9     -0.3562116  0.1135966  -3.136  0.00178 ** 
## ---
## 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.6806, Adjusted R-squared:  0.673 
## F-statistic:  89.6 on 19 and 799 DF,  p-value: < 2.2e-16
r2_5 <- summary(model5)$r.squared
adj_r2_5 <- summary(model5)$adj.r.squared
cat("Scenario 5 - R2:", r2_5, "Adjusted R2:", adj_r2_5, "\n")
## Scenario 5 - R2: 0.6805741 Adjusted R2: 0.6729783
log_k.pred5 <- predict(model5, data = data)
k.pred5 <- 10^log_k.pred5
plot(k.pred5, data$k.core)

rmse_5 <- RMSE(k.pred5, data$k.core)
rmse_5
## [1] 1333.017

#Stepwise Elimination to the previous model

model6 <- step(model5, direction = "backward")
## Start:  AIC=-1779.02
## log10_k.core ~ (depth + caliper + ind.deep + ind.med + gamma + 
##     phi.N + R.deep + R.med + SP + density.corr + density + phi.core + 
##     k.core + Facies) - k.core
## 
##                Df Sum of Sq     RSS     AIC
## - ind.med       1    0.1213  88.981 -1779.9
## - density.corr  1    0.1440  89.004 -1779.7
## - ind.deep      1    0.1816  89.042 -1779.3
## <none>                       88.860 -1779.0
## - R.deep        1    0.2696  89.130 -1778.5
## - depth         1    0.2754  89.135 -1778.5
## - caliper       1    0.3253  89.185 -1778.0
## - R.med         1    0.3763  89.236 -1777.6
## - SP            1    0.4617  89.322 -1776.8
## - phi.N         1    2.2710  91.131 -1760.3
## - density       1    3.0160  91.876 -1753.7
## - gamma         1    3.6713  92.531 -1747.9
## - Facies        7    7.0758  95.936 -1730.3
## - phi.core      1   27.4982 116.358 -1560.2
## 
## Step:  AIC=-1779.9
## log10_k.core ~ depth + caliper + ind.deep + gamma + phi.N + R.deep + 
##     R.med + SP + density.corr + density + phi.core + Facies
## 
##                Df Sum of Sq     RSS     AIC
## - density.corr  1    0.1931  89.174 -1780.1
## <none>                       88.981 -1779.9
## - ind.deep      1    0.2179  89.199 -1779.9
## - R.deep        1    0.2447  89.226 -1779.7
## - caliper       1    0.2921  89.273 -1779.2
## - R.med         1    0.3397  89.321 -1778.8
## - SP            1    0.4101  89.391 -1778.1
## - depth         1    0.4622  89.444 -1777.7
## - phi.N         1    2.2035  91.185 -1761.9
## - density       1    3.0113  91.993 -1754.6
## - gamma         1    3.5761  92.557 -1749.6
## - Facies        7    9.1242  98.106 -1714.0
## - phi.core      1   27.4190 116.400 -1561.9
## 
## Step:  AIC=-1780.12
## log10_k.core ~ depth + caliper + ind.deep + gamma + phi.N + R.deep + 
##     R.med + SP + density + phi.core + Facies
## 
##            Df Sum of Sq     RSS     AIC
## - ind.deep  1    0.2180  89.392 -1780.1
## <none>                   89.174 -1780.1
## - R.deep    1    0.2526  89.427 -1779.8
## - caliper   1    0.2676  89.442 -1779.7
## - R.med     1    0.3598  89.534 -1778.8
## - SP        1    0.3832  89.558 -1778.6
## - depth     1    0.5404  89.715 -1777.2
## - phi.N     1    2.0726  91.247 -1763.3
## - gamma     1    3.4838  92.658 -1750.7
## - density   1    3.6220  92.796 -1749.5
## - Facies    7    9.3567  98.531 -1712.4
## - phi.core  1   27.2273 116.402 -1563.9
## 
## Step:  AIC=-1780.12
## log10_k.core ~ depth + caliper + gamma + phi.N + R.deep + R.med + 
##     SP + density + phi.core + Facies
## 
##            Df Sum of Sq     RSS     AIC
## <none>                   89.392 -1780.1
## - R.deep    1    0.2869  89.679 -1779.5
## - depth     1    0.3332  89.726 -1779.1
## - SP        1    0.4296  89.822 -1778.2
## - R.med     1    0.5085  89.901 -1777.5
## - caliper   1    0.5746  89.967 -1776.9
## - phi.N     1    2.3337  91.726 -1761.0
## - gamma     1    3.8214  93.214 -1747.8
## - density   1    3.8626  93.255 -1747.5
## - Facies    7    9.2100  98.602 -1713.8
## - phi.core  1   27.0935 116.486 -1565.3
summary(model6)
## 
## Call:
## lm(formula = log10_k.core ~ depth + caliper + gamma + phi.N + 
##     R.deep + R.med + SP + density + phi.core + Facies, data = data)
## 
## Residuals:
##      Min       1Q   Median       3Q      Max 
## -2.58182 -0.12001  0.03437  0.15230  0.70317 
## 
## Coefficients:
##               Estimate Std. Error t value Pr(>|t|)    
## (Intercept) -1.2671250  3.9316796  -0.322  0.74732    
## depth        0.0006562  0.0003796   1.729  0.08420 .  
## caliper     -0.5608681  0.2470292  -2.270  0.02344 *  
## gamma       -0.0091497  0.0015626  -5.855 6.94e-09 ***
## phi.N       -1.7463527  0.3816550  -4.576 5.50e-06 ***
## R.deep      -0.0026554  0.0016551  -1.604  0.10903    
## R.med        0.0049837  0.0023334   2.136  0.03300 *  
## SP          -0.0016140  0.0008221  -1.963  0.04996 *  
## density      1.7602255  0.2990153   5.887 5.79e-09 ***
## phi.core     0.0927539  0.0059493  15.591  < 2e-16 ***
## FaciesF10    0.0896953  0.0945929   0.948  0.34330    
## FaciesF2     0.0152576  0.1523676   0.100  0.92026    
## FaciesF3    -0.0292379  0.0869197  -0.336  0.73667    
## FaciesF5     0.1022238  0.0879087   1.163  0.24524    
## FaciesF7     0.2794793  0.1462763   1.911  0.05641 .  
## FaciesF8    -0.0932936  0.0927473  -1.006  0.31477    
## FaciesF9    -0.3877078  0.1030388  -3.763  0.00018 ***
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 0.3339 on 802 degrees of freedom
## Multiple R-squared:  0.6787, Adjusted R-squared:  0.6722 
## F-statistic: 105.9 on 16 and 802 DF,  p-value: < 2.2e-16
r2_6 <- summary(model6)$r.squared
adj_r2_6 <- summary(model6)$adj.r.squared
cat("Scenario 6 - R2:", r2_6, "Adjusted R2:", adj_r2_6, "\n")
## Scenario 6 - R2: 0.6786603 Adjusted R2: 0.6722495
log_k.pred6 <- predict(model6, data = data)
k.pred6 <- 10^log_k.pred6
plot(k.pred6, data$k.core)

rmse_6 <- RMSE(k.pred6, data$k.core)
rmse_6
## [1] 1330.932

#Random Subsampling Cross-Validation

library(dplyr)
## 
## Attaching package: 'dplyr'
## The following objects are masked from 'package:stats':
## 
##     filter, lag
## The following objects are masked from 'package:base':
## 
##     intersect, setdiff, setequal, union
set.seed(12345)
training <- sample_frac(data, .79)
testing <- anti_join(data, training)
## Joining with `by = join_by(depth, caliper, ind.deep, ind.med, gamma, phi.N,
## R.deep, R.med, SP, density.corr, density, phi.core, k.core, Facies,
## log10_k.core)`

#build MLR model

model7 <- lm(log10_k.core ~ . - k.core, data = training)
summary(model7)
## 
## Call:
## lm(formula = log10_k.core ~ . - k.core, data = training)
## 
## Residuals:
##      Min       1Q   Median       3Q      Max 
## -2.57068 -0.12031  0.02531  0.14496  0.79954 
## 
## Coefficients:
##                Estimate Std. Error t value Pr(>|t|)    
## (Intercept)  -2.3338245  5.3405094  -0.437 0.662259    
## depth         0.0007730  0.0005476   1.412 0.158585    
## caliper      -0.4758221  0.3093909  -1.538 0.124570    
## ind.deep     -0.0005397  0.0007136  -0.756 0.449786    
## ind.med       0.0004931  0.0007835   0.629 0.529372    
## gamma        -0.0084986  0.0018837  -4.512 7.68e-06 ***
## phi.N        -1.7446532  0.4555104  -3.830 0.000141 ***
## R.deep       -0.0027202  0.0020339  -1.337 0.181566    
## R.med         0.0047328  0.0029136   1.624 0.104793    
## SP           -0.0022489  0.0009696  -2.319 0.020700 *  
## density.corr  1.6518025  1.4029122   1.177 0.239479    
## density       1.5557138  0.3519394   4.420 1.16e-05 ***
## phi.core      0.0948640  0.0069168  13.715  < 2e-16 ***
## FaciesF10     0.0852007  0.1094278   0.779 0.436508    
## FaciesF2     -0.0084986  0.1668517  -0.051 0.959394    
## FaciesF3     -0.0733970  0.1032212  -0.711 0.477308    
## FaciesF5      0.1222724  0.1070618   1.142 0.253860    
## FaciesF7      0.3089534  0.1660316   1.861 0.063239 .  
## FaciesF8     -0.1076240  0.1223413  -0.880 0.379357    
## FaciesF9     -0.3776886  0.1352314  -2.793 0.005383 ** 
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 0.3419 on 627 degrees of freedom
## Multiple R-squared:  0.6658, Adjusted R-squared:  0.6557 
## F-statistic: 65.74 on 19 and 627 DF,  p-value: < 2.2e-16
r2_7 <- summary(model7)$r.squared
adj_r2_7 <- summary(model7)$adj.r.squared
cat("Scenario 7 - R2:", r2_7, "Adjusted R2:", adj_r2_7, "\n")
## Scenario 7 - R2: 0.6658013 Adjusted R2: 0.6556741
log_k.pred7 <- predict(model7, newdata = testing)
k.pred7 <- 10^log_k.pred7
plot(k.pred7, testing$k.core)

rmse_7 <- RMSE(k.pred7, testing$k.core)
rmse_7
## [1] 1584.6

#Stepwise Elimination to the previous model

model8 <- step(model7, direction = "backward")
## Start:  AIC=-1369.03
## log10_k.core ~ (depth + caliper + ind.deep + ind.med + gamma + 
##     phi.N + R.deep + R.med + SP + density.corr + density + phi.core + 
##     k.core + Facies) - k.core
## 
##                Df Sum of Sq    RSS     AIC
## - ind.med       1    0.0463 73.346 -1370.6
## - ind.deep      1    0.0669 73.366 -1370.4
## - density.corr  1    0.1621 73.461 -1369.6
## - R.deep        1    0.2091 73.508 -1369.2
## <none>                      73.299 -1369.0
## - depth         1    0.2329 73.532 -1369.0
## - caliper       1    0.2765 73.576 -1368.6
## - R.med         1    0.3085 73.608 -1368.3
## - SP            1    0.6288 73.928 -1365.5
## - phi.N         1    1.7150 75.014 -1356.1
## - density       1    2.2843 75.584 -1351.2
## - gamma         1    2.3795 75.679 -1350.4
## - Facies        7    6.4097 79.709 -1328.8
## - phi.core      1   21.9898 95.289 -1201.3
## 
## Step:  AIC=-1370.62
## log10_k.core ~ depth + caliper + ind.deep + gamma + phi.N + R.deep + 
##     R.med + SP + density.corr + density + phi.core + Facies
## 
##                Df Sum of Sq    RSS     AIC
## - ind.deep      1    0.0705 73.416 -1372.0
## - R.deep        1    0.1952 73.541 -1370.9
## - density.corr  1    0.1982 73.544 -1370.9
## <none>                      73.346 -1370.6
## - caliper       1    0.2545 73.600 -1370.4
## - R.med         1    0.2889 73.635 -1370.1
## - depth         1    0.3424 73.688 -1369.6
## - SP            1    0.5975 73.943 -1367.4
## - phi.N         1    1.6840 75.030 -1357.9
## - density       1    2.2874 75.633 -1352.8
## - gamma         1    2.3346 75.680 -1352.3
## - Facies        7    7.7371 81.083 -1319.7
## - phi.core      1   21.9485 95.294 -1203.2
## 
## Step:  AIC=-1372
## log10_k.core ~ depth + caliper + gamma + phi.N + R.deep + R.med + 
##     SP + density.corr + density + phi.core + Facies
## 
##                Df Sum of Sq    RSS     AIC
## - density.corr  1    0.1992 73.615 -1372.2
## - R.deep        1    0.2169 73.633 -1372.1
## <none>                      73.416 -1372.0
## - depth         1    0.2721 73.688 -1371.6
## - R.med         1    0.3724 73.789 -1370.7
## - caliper       1    0.4176 73.834 -1370.3
## - SP            1    0.6422 74.058 -1368.4
## - phi.N         1    1.8523 75.268 -1357.9
## - density       1    2.4045 75.821 -1353.2
## - gamma         1    2.4894 75.906 -1352.4
## - Facies        7    7.6853 81.101 -1321.6
## - phi.core      1   22.0320 95.448 -1204.2
## 
## Step:  AIC=-1372.25
## log10_k.core ~ depth + caliper + gamma + phi.N + R.deep + R.med + 
##     SP + density + phi.core + Facies
## 
##            Df Sum of Sq    RSS     AIC
## - R.deep    1    0.2255 73.841 -1372.3
## <none>                  73.615 -1372.2
## - depth     1    0.3393 73.955 -1371.3
## - caliper   1    0.3933 74.009 -1370.8
## - R.med     1    0.3975 74.013 -1370.8
## - SP        1    0.6017 74.217 -1369.0
## - phi.N     1    1.7291 75.345 -1359.2
## - gamma     1    2.4012 76.017 -1353.5
## - density   1    2.8902 76.506 -1349.3
## - Facies    7    7.8784 81.494 -1320.5
## - phi.core  1   21.8428 95.458 -1206.1
## 
## Step:  AIC=-1372.27
## log10_k.core ~ depth + caliper + gamma + phi.N + R.med + SP + 
##     density + phi.core + Facies
## 
##            Df Sum of Sq    RSS     AIC
## <none>                  73.841 -1372.3
## - depth     1    0.2495 74.090 -1372.1
## - R.med     1    0.3317 74.173 -1371.4
## - caliper   1    0.3938 74.235 -1370.8
## - SP        1    0.5061 74.347 -1369.8
## - phi.N     1    1.8276 75.668 -1358.5
## - gamma     1    2.3037 76.145 -1354.4
## - density   1    2.7608 76.602 -1350.5
## - Facies    7    7.8064 81.647 -1321.2
## - phi.core  1   22.5119 96.353 -1202.1
summary(model8)
## 
## Call:
## lm(formula = log10_k.core ~ depth + caliper + gamma + phi.N + 
##     R.med + SP + density + phi.core + Facies, data = training)
## 
## Residuals:
##      Min       1Q   Median       3Q      Max 
## -2.58781 -0.11469  0.02415  0.14940  0.76102 
## 
## Coefficients:
##               Estimate Std. Error t value Pr(>|t|)    
## (Intercept) -1.3964357  4.5448109  -0.307  0.75875    
## depth        0.0006470  0.0004431   1.460  0.14472    
## caliper     -0.5245579  0.2859513  -1.834  0.06706 .  
## gamma       -0.0081856  0.0018449  -4.437 1.08e-05 ***
## phi.N       -1.7527796  0.4435291  -3.952 8.63e-05 ***
## R.med        0.0014815  0.0008800   1.684  0.09276 .  
## SP          -0.0019674  0.0009460  -2.080  0.03796 *  
## density      1.6459766  0.3388783   4.857 1.50e-06 ***
## phi.core     0.0938835  0.0067689  13.870  < 2e-16 ***
## FaciesF10    0.1159162  0.1078556   1.075  0.28290    
## FaciesF2     0.0399244  0.1645495   0.243  0.80837    
## FaciesF3    -0.0604366  0.1008642  -0.599  0.54926    
## FaciesF5     0.1520285  0.1014985   1.498  0.13467    
## FaciesF7     0.3339848  0.1581542   2.112  0.03510 *  
## FaciesF8    -0.0613564  0.1067983  -0.575  0.56583    
## FaciesF9    -0.3605925  0.1205182  -2.992  0.00288 ** 
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 0.3421 on 631 degrees of freedom
## Multiple R-squared:  0.6633, Adjusted R-squared:  0.6553 
## F-statistic: 82.88 on 15 and 631 DF,  p-value: < 2.2e-16
r2_8 <- summary(model8)$r.squared
adj_r2_8 <- summary(model8)$adj.r.squared
cat("Scenario 8 - R2:", r2_8, "Adjusted R2:", adj_r2_8, "\n")
## Scenario 8 - R2: 0.6633322 Adjusted R2: 0.6553291
log_k.pred8 <- predict(model8, newdata = testing)
k.pred8 <- 10^log_k.pred8
plot(k.pred8, testing$k.core)

rmse_8 <- RMSE(k.pred8, testing$k.core)
rmse_8
## [1] 1632.529