data_sup = read.csv("C:/Users/MUTHI'AH IFFA/Downloads/Semester 4/Analisis Regresi/Minggu 8/Minggu 8/Data Supervisor.csv")
data_sup
## Y X1 X2 X3 X4
## 1 43 51 30 39 61
## 2 63 64 51 54 63
## 3 71 70 68 69 76
## 4 61 63 45 47 54
## 5 81 78 56 66 71
## 6 43 55 49 44 54
## 7 58 67 42 56 66
## 8 71 75 50 55 70
## 9 72 82 72 67 71
## 10 67 61 45 47 62
## 11 64 53 53 58 58
## 12 67 60 47 39 59
## 13 69 62 57 42 55
## 14 68 83 83 45 59
## 15 77 77 54 72 79
## 16 81 90 50 72 60
## 17 74 85 64 69 79
## 18 65 60 65 75 55
## 19 65 70 46 57 75
## 20 50 58 68 54 64
## 21 50 40 33 34 43
## 22 64 61 52 62 66
## 23 53 66 52 50 63
## 24 40 37 42 58 50
## 25 63 54 42 48 66
## 26 66 77 66 63 88
## 27 78 75 58 74 80
## 28 48 57 44 45 51
## 29 85 85 71 71 77
## 30 82 82 39 59 64
str(data_sup)
## 'data.frame': 30 obs. of 5 variables:
## $ Y : int 43 63 71 61 81 43 58 71 72 67 ...
## $ X1: int 51 64 70 63 78 55 67 75 82 61 ...
## $ X2: int 30 51 68 45 56 49 42 50 72 45 ...
## $ X3: int 39 54 69 47 66 44 56 55 67 47 ...
## $ X4: int 61 63 76 54 71 54 66 70 71 62 ...
head(data_sup)
## Y X1 X2 X3 X4
## 1 43 51 30 39 61
## 2 63 64 51 54 63
## 3 71 70 68 69 76
## 4 61 63 45 47 54
## 5 81 78 56 66 71
## 6 43 55 49 44 54
summary(data_sup)
## Y X1 X2 X3 X4
## Min. :40.00 Min. :37.0 Min. :30.00 Min. :34.00 Min. :43.00
## 1st Qu.:58.75 1st Qu.:58.5 1st Qu.:45.00 1st Qu.:47.00 1st Qu.:58.25
## Median :65.50 Median :65.0 Median :51.50 Median :56.50 Median :63.50
## Mean :64.63 Mean :66.6 Mean :53.13 Mean :56.37 Mean :64.63
## 3rd Qu.:71.75 3rd Qu.:77.0 3rd Qu.:62.50 3rd Qu.:66.75 3rd Qu.:71.00
## Max. :85.00 Max. :90.0 Max. :83.00 Max. :75.00 Max. :88.00
cbind(kolom = ncol(data_sup),
baris = nrow(data_sup))
## kolom baris
## [1,] 5 30
karena dalam data ini tidak ada missing value, maka tahapan ini bisa dilewati
Memasukkan terlebih dahulu peubah dengan nilai korelasi tertinggi antara peubah penjelas terhadap peubah respon yang akan dimasukkan ke dalam model
# == korelasi all X vs Y
cor(data_sup[1:5], data_sup$Y)
## [,1]
## Y 1.0000000
## X1 0.8254176
## X2 0.4261169
## X3 0.6236782
## X4 0.5901390
karena peubah X1 memiliki nilai korelasi antara peubah penjelas dan respon tertinggi. maka X4 dimasukkan terlebih dahulu ke dalam model
model1 = lm(Y~1, data = data_sup)
summary(model1)
##
## Call:
## lm(formula = Y ~ 1, data = data_sup)
##
## Residuals:
## Min 1Q Median 3Q Max
## -24.6333 -5.8833 0.8667 7.1167 20.3667
##
## Coefficients:
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) 64.633 2.222 29.08 <2e-16 ***
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Residual standard error: 12.17 on 29 degrees of freedom
model1 memiliki p-value<2e-16 artinya p-value<0.05 (alpha). Sehingga dapat dikatakan bahwa peubah X1 berpengaruh nyata terhadap Y pada taraf nyata 5%
model2 = lm(Y~X1, data = data_sup)
summary(model2)
##
## Call:
## lm(formula = Y ~ X1, data = data_sup)
##
## Residuals:
## Min 1Q Median 3Q Max
## -12.8799 -5.9905 0.1783 6.2978 9.6294
##
## Coefficients:
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) 14.37632 6.61999 2.172 0.0385 *
## X1 0.75461 0.09753 7.737 1.99e-08 ***
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Residual standard error: 6.993 on 28 degrees of freedom
## Multiple R-squared: 0.6813, Adjusted R-squared: 0.6699
## F-statistic: 59.86 on 1 and 28 DF, p-value: 1.988e-08
Memilih peubah penjelas lain yang akan dimasukkan ke dalam model berdasarkan nilai korelasi tertinggi antara peubah respon dengan peubah penjelas sisanya.
library(car)
## Loading required package: carData
model = lm(Y~ X1 + X2 + X3 + X4, data = data_sup)
vif(model)
## X1 X2 X3 X4
## 2.228135 1.542830 1.944395 2.165584
cor(data_sup[1:5], data_sup$Y)
## [,1]
## Y 1.0000000
## X1 0.8254176
## X2 0.4261169
## X3 0.6236782
## X4 0.5901390
model3 = lm(Y~ X1 + X3, data = data_sup)
summary(model3)
##
## Call:
## lm(formula = Y ~ X1 + X3, data = data_sup)
##
## Residuals:
## Min 1Q Median 3Q Max
## -11.5568 -5.7331 0.6701 6.5341 10.3610
##
## Coefficients:
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) 9.8709 7.0612 1.398 0.174
## X1 0.6435 0.1185 5.432 9.57e-06 ***
## X3 0.2112 0.1344 1.571 0.128
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Residual standard error: 6.817 on 27 degrees of freedom
## Multiple R-squared: 0.708, Adjusted R-squared: 0.6864
## F-statistic: 32.74 on 2 and 27 DF, p-value: 6.058e-08
Hasil analisis uji-t menunjukkan bahwa p-value X1 = 9.57e-06>0.05 (alpha) yang artinya peubah X1 tidak berpengaruh signifikan terhadap Y pada taraf 5%
Memasukkan X3 ke dalam model untuk menentukan apakah peubah X3 berpengaruh signifikan ketika dimasukkan ke dalam model
aov(model2)
## Call:
## aov(formula = model2)
##
## Terms:
## X1 Residuals
## Sum of Squares 2927.584 1369.382
## Deg. of Freedom 1 28
##
## Residual standard error: 6.993319
## Estimated effects may be unbalanced
JK_X1 = summary(aov(model2))[[1]]["X1", "Sum Sq"]
JK.b1 = JK_X1
cbind(JK_X1)
## JK_X1
## [1,] 2927.584
# JK(X1, X3) dari model 3
aov(model3)
## Call:
## aov(formula = model3)
##
## Terms:
## X1 X3 Residuals
## Sum of Squares 2927.5843 114.7334 1254.6490
## Deg. of Freedom 1 1 27
##
## Residual standard error: 6.816779
## Estimated effects may be unbalanced
JK_X1 = summary(aov(model3))[[1]]["X1", "Sum Sq"]
JK_X3 = summary(aov(model3))[[1]]["X3", "Sum Sq"]
JK.b1 = JK_X1
JK.b2 = JK_X3
cbind(JK.b1 = JK_X1, JK.b2 = JK_X3)
## JK.b1 JK.b2
## [1,] 2927.584 114.7334
JK.b1b2 = JK_X1 + JK_X3
cbind(JK.b1b2)
## JK.b1b2
## [1,] 3042.318
Hipotesis uji H0: b2 = 0 vs H1: b2 != 0
JK.b2_b1 = JK.b1b2 - JK.b1 #JK(b2|b1)
cbind(JK.b2_b1)
## JK.b2_b1
## [1,] 114.7334
Mencari nilai F-hit dengan menentukan KT.res dan membandingan F-hit dengan F-tab
KT.b2_b1 = JK.b2_b1/1 #KT(b2|b1)
KT.res = summary(aov(model3))[[1]]["Residual", "Sum Sq"]
cbind(KT.b2_b1, KT.res)
## KT.b2_b1 KT.res
## [1,] 114.7334 1254.649
F_hit = KT.b2_b1/KT.res
F_tab = qf(0.95, 1, (nrow(data_sup)-3))
cbind(F_hit, F_tab)
## F_hit F_tab
## [1,] 0.09144665 4.210008
F-hit = 0.091<F-tab = 3.877, artinya tak tolak H0. Sehingga dapat dikatakan bahwa peubah X3 tidak perlu ditambahkan ke dalam model 2 karena tidak berpengaruh signifikan
Menguji semua kemungkinan model subset regresi dari semua kandidat peubah penjelas. Banyaknya model yang mungkin yaitu 2^k-1, dengan K=jumlah peubah penjelas.
str(data_sup)
## 'data.frame': 30 obs. of 5 variables:
## $ Y : int 43 63 71 61 81 43 58 71 72 67 ...
## $ X1: int 51 64 70 63 78 55 67 75 82 61 ...
## $ X2: int 30 51 68 45 56 49 42 50 72 45 ...
## $ X3: int 39 54 69 47 66 44 56 55 67 47 ...
## $ X4: int 61 63 76 54 71 54 66 70 71 62 ...
head(data_sup)
## Y X1 X2 X3 X4
## 1 43 51 30 39 61
## 2 63 64 51 54 63
## 3 71 70 68 69 76
## 4 61 63 45 47 54
## 5 81 78 56 66 71
## 6 43 55 49 44 54
library(olsrr)
##
## Attaching package: 'olsrr'
## The following object is masked from 'package:datasets':
##
## rivers
jumlah kombinasi model = 2^k-1, k = jumlah peubah penjelas
# Buat model penuh
full.model = lm(Y ~ X1 + X2 + X3 + X4, data = data_sup)
# Menggunakan fungsi ols_step_all_possible
ols_step_all_possible(full.model)
## Index N Predictors R-Square Adj. R-Square Mallow's Cp
## 1 1 1 X1 0.6813142 0.6699325 1.976859
## 3 2 1 X3 0.3889745 0.3671521 27.640838
## 4 3 1 X4 0.3482640 0.3249877 31.214733
## 2 4 1 X2 0.1815756 0.1523461 45.848013
## 6 5 2 X1 X3 0.7080152 0.6863867 1.632823
## 7 6 2 X1 X4 0.6838979 0.6604830 3.750034
## 5 7 2 X1 X2 0.6830639 0.6595872 3.823252
## 10 8 2 X3 X4 0.4506703 0.4099792 24.224669
## 8 9 2 X2 X3 0.4075138 0.3636260 28.013299
## 9 10 2 X2 X4 0.3815018 0.3356872 30.296846
## 11 11 3 X1 X2 X3 0.7150044 0.6821203 3.019249
## 13 12 3 X1 X3 X4 0.7082916 0.6746329 3.608557
## 12 13 3 X1 X2 X4 0.6862100 0.6500034 5.547063
## 14 14 3 X2 X3 X4 0.4587139 0.3962578 25.518541
## 15 15 4 X1 X2 X3 X4 0.7152237 0.6696595 5.000000
Evaluasi Umum Model :
dalam kasus ini model dengan jumlah predictors paling sedikit, namun dengan nilai R-sq serta Adj R-sq terbesar adalah model index 1 (X1) dan model ke-5 (X1,X3). Dengan masing-masing nilai R-sq dan Adj R-sq nya adalah 0.681 & 0.669 serta 0.708 & 0.686. Kemudian masing-masing nilai cp Mallow’s dari model index ke-1 dan ke-5 adalah 1.976 dan 1.63.
Model index ke-1 dapat dipilih jika mengutamakan kesederhanaan model, tetapi mungkin model ini tidak dapat mengungkap komplektisitas hubungan dengan variabel lainnya karena hanya melibatkan 1 prediktor.
Model index ke-5 bisa digunakan jika ketika menginginkan keakuratan prediksi dan model ini dapat menjelaskan lebih banyak variabel. Model ini lebih unggul karena nilai R-sq dan Adj R-sq yang tinggi serta nilai cp Malow’s yang lebih kecil.
Diawali dengan model tak lengkap lalu memasukkan peubah penjelas satu per satu ke dalam model berdasarkan nilai korelasi terbesar. Setiap peubah yang sudah masuk ke dalam model tidak dapat dihapus/dikeluarkan kembali. Proses berhenti jika tidak ada lagi peubah penjelas yang signifikan yang tersisa.
full = lm(Y~ X1 + X2 + X3 + X4, data = data_sup)
null = lm(Y~1, data = data_sup)
Melakukan proses stepwise forward selection
step(null, scope = list(lower = null, upper = full), direction = "forward")
## Start: AIC=150.93
## Y ~ 1
##
## Df Sum of Sq RSS AIC
## + X1 1 2927.58 1369.4 118.63
## + X3 1 1671.41 2625.6 138.16
## + X4 1 1496.48 2800.5 140.09
## + X2 1 780.22 3516.7 146.92
## <none> 4297.0 150.93
##
## Step: AIC=118.63
## Y ~ X1
##
## Df Sum of Sq RSS AIC
## + X3 1 114.733 1254.7 118.00
## <none> 1369.4 118.63
## + X4 1 11.102 1358.3 120.38
## + X2 1 7.519 1361.9 120.46
##
## Step: AIC=118
## Y ~ X1 + X3
##
## Df Sum of Sq RSS AIC
## <none> 1254.7 118.00
## + X2 1 30.0326 1224.6 119.28
## + X4 1 1.1877 1253.5 119.97
##
## Call:
## lm(formula = Y ~ X1 + X3, data = data_sup)
##
## Coefficients:
## (Intercept) X1 X3
## 9.8709 0.6435 0.2112
fw = ols_step_forward_p(full.model)
fw
##
##
## Stepwise Summary
## -------------------------------------------------------------------------
## Step Variable AIC SBC SBIC R2 Adj. R2
## -------------------------------------------------------------------------
## 0 Base Model 238.070 240.873 150.751 0.00000 0.00000
## 1 X1 205.764 209.967 120.906 0.68131 0.66993
## 2 X3 205.139 210.744 120.967 0.70802 0.68639
## -------------------------------------------------------------------------
##
## Final Model Output
## ------------------
##
## Model Summary
## ---------------------------------------------------------------
## R 0.841 RMSE 6.467
## R-Squared 0.708 MSE 41.822
## Adj. R-Squared 0.686 Coef. Var 10.547
## Pred R-Squared 0.640 AIC 205.139
## MAE 5.612 SBC 210.744
## ---------------------------------------------------------------
## RMSE: Root Mean Square Error
## MSE: Mean Square Error
## MAE: Mean Absolute Error
## AIC: Akaike Information Criteria
## SBC: Schwarz Bayesian Criteria
##
## ANOVA
## --------------------------------------------------------------------
## Sum of
## Squares DF Mean Square F Sig.
## --------------------------------------------------------------------
## Regression 3042.318 2 1521.159 32.735 0.0000
## Residual 1254.649 27 46.468
## Total 4296.967 29
## --------------------------------------------------------------------
##
## Parameter Estimates
## --------------------------------------------------------------------------------------
## model Beta Std. Error Std. Beta t Sig lower upper
## --------------------------------------------------------------------------------------
## (Intercept) 9.871 7.061 1.398 0.174 -4.618 24.359
## X1 0.644 0.118 0.704 5.432 0.000 0.400 0.887
## X3 0.211 0.134 0.204 1.571 0.128 -0.065 0.487
## --------------------------------------------------------------------------------------
head(fw)
## $metrics
## step variable r2 adj_r2 aic sbc sbic mallows_cp
## 1 1 X1 0.6813142 0.6699325 205.7638 209.9674 120.9063 1.976859
## 2 2 X3 0.7080152 0.6863867 205.1387 210.7435 120.9666 1.632823
## rmse
## 1 6.756188
## 2 6.466965
##
## $model
##
## Call:
## lm(formula = paste(response, "~", paste(preds, collapse = " + ")),
## data = l)
##
## Coefficients:
## (Intercept) X1 X3
## 9.8709 0.6435 0.2112
##
##
## $others
## $others$base_model
##
## Call:
## lm(formula = paste(response, "~", 1), data = data)
##
## Coefficients:
## (Intercept)
## 64.63
##
##
## $others$full_model
##
## Call:
## lm(formula = Y ~ X1 + X2 + X3 + X4, data = data_sup)
##
## Coefficients:
## (Intercept) X1 X2 X3 X4
## 11.83354 0.69115 -0.10289 0.24633 -0.02551
Diawali dengan model yang lengkap (seluruh peubah penjelas ada di dalam model). Lalu mengeluarkan tiap peubah penjelas satu per satu dimulai dari signifikansi
step(full, direction = "backward")
## Start: AIC=121.25
## Y ~ X1 + X2 + X3 + X4
##
## Df Sum of Sq RSS AIC
## - X4 1 0.94 1224.6 119.28
## - X2 1 29.79 1253.5 119.97
## <none> 1223.7 121.25
## - X3 1 124.67 1348.3 122.16
## - X1 1 1102.21 2325.9 138.52
##
## Step: AIC=119.28
## Y ~ X1 + X2 + X3
##
## Df Sum of Sq RSS AIC
## - X2 1 30.03 1254.7 118.00
## <none> 1224.6 119.28
## - X3 1 137.25 1361.9 120.46
## - X1 1 1321.28 2545.9 139.23
##
## Step: AIC=118
## Y ~ X1 + X3
##
## Df Sum of Sq RSS AIC
## <none> 1254.7 118.00
## - X3 1 114.73 1369.4 118.63
## - X1 1 1370.91 2625.6 138.16
##
## Call:
## lm(formula = Y ~ X1 + X3, data = data_sup)
##
## Coefficients:
## (Intercept) X1 X3
## 9.8709 0.6435 0.2112
bw = ols_step_backward_p(full.model)
bw
##
##
## Stepwise Summary
## -------------------------------------------------------------------------
## Step Variable AIC SBC SBIC R2 Adj. R2
## -------------------------------------------------------------------------
## 0 Full Model 208.389 216.796 125.172 0.71522 0.66966
## 1 X4 206.412 213.418 122.789 0.71500 0.68212
## 2 X2 205.139 210.744 120.967 0.70802 0.68639
## -------------------------------------------------------------------------
##
## Final Model Output
## ------------------
##
## Model Summary
## ---------------------------------------------------------------
## R 0.841 RMSE 6.467
## R-Squared 0.708 MSE 41.822
## Adj. R-Squared 0.686 Coef. Var 10.547
## Pred R-Squared 0.640 AIC 205.139
## MAE 5.612 SBC 210.744
## ---------------------------------------------------------------
## RMSE: Root Mean Square Error
## MSE: Mean Square Error
## MAE: Mean Absolute Error
## AIC: Akaike Information Criteria
## SBC: Schwarz Bayesian Criteria
##
## ANOVA
## --------------------------------------------------------------------
## Sum of
## Squares DF Mean Square F Sig.
## --------------------------------------------------------------------
## Regression 3042.318 2 1521.159 32.735 0.0000
## Residual 1254.649 27 46.468
## Total 4296.967 29
## --------------------------------------------------------------------
##
## Parameter Estimates
## --------------------------------------------------------------------------------------
## model Beta Std. Error Std. Beta t Sig lower upper
## --------------------------------------------------------------------------------------
## (Intercept) 9.871 7.061 1.398 0.174 -4.618 24.359
## X1 0.644 0.118 0.704 5.432 0.000 0.400 0.887
## X3 0.211 0.134 0.204 1.571 0.128 -0.065 0.487
## --------------------------------------------------------------------------------------
Model akhir yang diperoleh sama seperti model akhir yang diperoleh dari forward selection
Digunakan untuk mencari model terbaik dan dapat mengatasi multikolinearitas. Stepwise Regressioon ini adalah kombinasi dari forward dan backward selection. Proses ini diawali dari model tak lengkap, lalu memasukkan peubah X berdasarkan nilai korelasi tertinggi (langkah forward selction). Peubah yang sudah masuk dan keluar dapat ditambahkan dan dihilangkan kembali.
Metode ini menggunakan 2 taraf nyata, yaitu taraf nyata masuk dan keuar yang besar nilainya berdasarkan bidang yang diteliti
step(null, scope = list(lower = null, upper = full), direction = "both")
## Start: AIC=150.93
## Y ~ 1
##
## Df Sum of Sq RSS AIC
## + X1 1 2927.58 1369.4 118.63
## + X3 1 1671.41 2625.6 138.16
## + X4 1 1496.48 2800.5 140.09
## + X2 1 780.22 3516.7 146.92
## <none> 4297.0 150.93
##
## Step: AIC=118.63
## Y ~ X1
##
## Df Sum of Sq RSS AIC
## + X3 1 114.73 1254.6 118.00
## <none> 1369.4 118.63
## + X4 1 11.10 1358.3 120.38
## + X2 1 7.52 1361.9 120.46
## - X1 1 2927.58 4297.0 150.93
##
## Step: AIC=118
## Y ~ X1 + X3
##
## Df Sum of Sq RSS AIC
## <none> 1254.7 118.00
## - X3 1 114.73 1369.4 118.63
## + X2 1 30.03 1224.6 119.28
## + X4 1 1.19 1253.5 119.97
## - X1 1 1370.91 2625.6 138.16
##
## Call:
## lm(formula = Y ~ X1 + X3, data = data_sup)
##
## Coefficients:
## (Intercept) X1 X3
## 9.8709 0.6435 0.2112
Hasil model Stepwise Regression sama dengan hasil model dari metode Forward dan Backward selection
memilih model kombinasi terbaik dari variabel penjelas (X) yang memberikan model terbaik dalam menjelaskan peubah respon (Y). Mengevaluasi semua kemungkinan kombinasi dari peubah penjelas untuk menentukan model terbaik berdasarkan kriteria baku seperti nilai R-sq, Adj R-sq, dan Pred. R-sq, Cp Mallow’s terkecil, dan AIC terkecil
bs.hc = ols_step_best_subset(full.model)
bs.hc
## Best Subsets Regression
## --------------------------
## Model Index Predictors
## --------------------------
## 1 X1
## 2 X1 X3
## 3 X1 X2 X3
## 4 X1 X2 X3 X4
## --------------------------
##
## Subsets Regression Summary
## -----------------------------------------------------------------------------------------------------------------------------------
## Adj. Pred
## Model R-Square R-Square R-Square C(p) AIC SBIC SBC MSEP FPE HSP APC
## -----------------------------------------------------------------------------------------------------------------------------------
## 1 0.6813 0.6699 0.6379 1.9769 205.7638 120.9063 209.9674 1467.4370 52.1669 1.8114 0.3642
## 2 0.7080 0.6864 0.6402 1.6328 205.1387 120.9666 210.7435 1396.1991 51.1153 1.7872 0.3569
## 3 0.7150 0.6821 0.629 3.0192 206.4119 122.7889 213.4179 1417.2894 53.3807 1.8840 0.3727
## 4 0.7152 0.6697 0.6039 5.0000 208.3888 125.1725 216.7960 1475.2072 57.1048 2.0395 0.3987
## -----------------------------------------------------------------------------------------------------------------------------------
## AIC: Akaike Information Criteria
## SBIC: Sawa's Bayesian Information Criteria
## SBC: Schwarz Bayesian Criteria
## MSEP: Estimated error of prediction, assuming multivariate normality
## FPE: Final Prediction Error
## HSP: Hocking's Sp
## APC: Amemiya Prediction Criteria
head(bs.hc)
## $metrics
## mindex n predictors rsquare adjr predrsq cp aic sbic
## 1 1 1 X1 0.6813142 0.6699325 0.6378690 1.976859 205.7638 120.9063
## 2 2 2 X1 X3 0.7080152 0.6863867 0.6402193 1.632823 205.1387 120.9666
## 3 3 3 X1 X2 X3 0.7150044 0.6821203 0.6290159 3.019249 206.4119 122.7889
## 4 4 4 X1 X2 X3 X4 0.7152237 0.6696595 0.6039177 5.000000 208.3888 125.1725
## sbc msep fpe apc hsp
## 1 209.9674 1467.437 52.16695 0.3642124 1.811352
## 2 210.7435 1396.199 51.11533 0.3568703 1.787249
## 3 213.4179 1417.289 53.38071 0.3726865 1.884025
## 4 216.7960 1475.207 57.10480 0.3986868 2.039457
Berdasarkan hasil Best Subset Regression, dapat dikatakan model terbaik adalah model dengan index 1 dan 2 dengan nilai cp Mallow’s dan AIP terkecil (1.97.. & 1.63) serta nilai R-sq dan Adj R-sq terbesar.
PRESS merupakan metode untuk mengukur seberapa baik model regresi memprediksi data baru atau data yang tidak digunakan dalam pembuatan model. Metode ini merupakan kombinasi dari all possible regression, analisis sisaan, dan teknik validasi yang digunakan untuk mengukur validitas model.
Model terbaik memiliki nilai PRESS yang kecil
PRESS1 = ols_press(lm(Y~X1, data = data_sup))
PRESS2 = ols_press(lm(Y~X1 + X3, data = data_sup))
PRESS3 = ols_press(lm(Y~X1 + X2 + X3, data = data_sup))
PRESS4 = ols_press(lm(Y~X1 + X2 + X3 + X4, data = data_sup))
cbind(PRESS1, PRESS2, PRESS3, PRESS4)
## PRESS1 PRESS2 PRESS3 PRESS4
## [1,] 1556.065 1545.966 1594.106 1701.952
Model ke-1(X1) dan ke-3 (X1,X3) dapat dikatakan sebagai model terbaik karena memiliki nilai PRESS terkecil di antara model yang lainnya. Nilai PRESS dari masing-masing model adalah
PRESS model ke-1 = 1556.065
PRESS model ke-2 = 1545.966