library(datasets)
lapply(c("car","lmtest"),library,character.only=T)[[1]]
## Loading required package: carData
## Loading required package: zoo
##
## Attaching package: 'zoo'
## The following objects are masked from 'package:base':
##
## as.Date, as.Date.numeric
## [1] "car" "carData" "stats" "graphics" "grDevices" "utils"
## [7] "datasets" "methods" "base"
Menggunakan data mtcars yang terdapat di R studio dengan packages “dataset”
data(mtcars)
head(mtcars)
## mpg cyl disp hp drat wt qsec vs am gear carb
## Mazda RX4 21.0 6 160 110 3.90 2.620 16.46 0 1 4 4
## Mazda RX4 Wag 21.0 6 160 110 3.90 2.875 17.02 0 1 4 4
## Datsun 710 22.8 4 108 93 3.85 2.320 18.61 1 1 4 1
## Hornet 4 Drive 21.4 6 258 110 3.08 3.215 19.44 1 0 3 1
## Hornet Sportabout 18.7 8 360 175 3.15 3.440 17.02 0 0 3 2
## Valiant 18.1 6 225 105 2.76 3.460 20.22 1 0 3 1
str(mtcars)
## 'data.frame': 32 obs. of 11 variables:
## $ mpg : num 21 21 22.8 21.4 18.7 18.1 14.3 24.4 22.8 19.2 ...
## $ cyl : num 6 6 4 6 8 6 8 4 4 6 ...
## $ disp: num 160 160 108 258 360 ...
## $ hp : num 110 110 93 110 175 105 245 62 95 123 ...
## $ drat: num 3.9 3.9 3.85 3.08 3.15 2.76 3.21 3.69 3.92 3.92 ...
## $ wt : num 2.62 2.88 2.32 3.21 3.44 ...
## $ qsec: num 16.5 17 18.6 19.4 17 ...
## $ vs : num 0 0 1 1 0 1 0 1 1 1 ...
## $ am : num 1 1 1 0 0 0 0 0 0 0 ...
## $ gear: num 4 4 4 3 3 3 3 4 4 4 ...
## $ carb: num 4 4 1 1 2 1 4 2 2 4 ...
Dapat diketahui bahwa dataset di atas sudah tidak terdapat variabel kategorik, sehingga tidak perlu ditangani terlebih dahulu dengan menjadikan dummy.
y <- mtcars$mpg
x1 <- mtcars$cyl
x2 <- mtcars$hp
x3 <- mtcars$wt
x4 <- mtcars$vs
x5 <- mtcars$gear
x6 <- mtcars$carb
x <- cbind(x1,x2,x3,x4,x5,x6)
dt1 <- cbind(y,x)
head(dt1)
## y x1 x2 x3 x4 x5 x6
## [1,] 21.0 6 110 2.620 0 4 4
## [2,] 21.0 6 110 2.875 0 4 4
## [3,] 22.8 4 93 2.320 1 4 1
## [4,] 21.4 6 110 3.215 1 3 1
## [5,] 18.7 8 175 3.440 0 3 2
## [6,] 18.1 6 105 3.460 1 3 1
str(dt1)
## num [1:32, 1:7] 21 21 22.8 21.4 18.7 18.1 14.3 24.4 22.8 19.2 ...
## - attr(*, "dimnames")=List of 2
## ..$ : NULL
## ..$ : chr [1:7] "y" "x1" "x2" "x3" ...
Data yang digunakan :
y = mpg: Efisiensi bahan bakar.
x1 = cyl: Jumlah silinder mesin mobil.
x2 = hp: Tenaga yang dihasilkan oleh mesin mobil.
x3 = wt: Berat mobil dalam 1000 pon.
x4 = vs: Tipe mesin (0 = V-shaped, 1 = straight).
x5 = gear: Jumlah gigi maju dalam transmisi.
x6 = carb: Jumlah karburator dalam mobil.
library(corrplot)
## corrplot 0.92 loaded
cor <- cor(dt1)
library(RColorBrewer)
library(scales)
colors <- alpha(colorRampPalette(c("orange", #Warna Bawah
"#dbdbdb", #Warna Tengah
"dark blue"))(10), #Warna Atas
alpha = 0.80) #Transparan
corrplot(cor, method = 'ellipse', type='lower', order='original', col=colors)
corrplot(cor, add=TRUE, method = 'number', type='upper', order='original',
tl.pos = "lt",
tl.col = "black", col=colors)
model.awal <- lm(y~x1+x2+x3+x4+x5+x6)
model.awal
##
## Call:
## lm(formula = y ~ x1 + x2 + x3 + x4 + x5 + x6)
##
## Coefficients:
## (Intercept) x1 x2 x3 x4 x5
## 31.8317 -0.6302 -0.0159 -2.6578 0.1835 1.2769
## x6
## -0.6211
summary(model.awal)
##
## Call:
## lm(formula = y ~ x1 + x2 + x3 + x4 + x5 + x6)
##
## Residuals:
## Min 1Q Median 3Q Max
## -3.5357 -1.4782 -0.5055 1.3197 5.8300
##
## Coefficients:
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) 31.83172 8.54191 3.727 0.000996 ***
## x1 -0.63023 0.85470 -0.737 0.467762
## x2 -0.01590 0.01702 -0.935 0.358907
## x3 -2.65777 0.93602 -2.839 0.008850 **
## x4 0.18351 1.72635 0.106 0.916192
## x5 1.27689 1.33021 0.960 0.346291
## x6 -0.62110 0.58461 -1.062 0.298205
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Residual standard error: 2.591 on 25 degrees of freedom
## Multiple R-squared: 0.8509, Adjusted R-squared: 0.8151
## F-statistic: 23.78 on 6 and 25 DF, p-value: 3.387e-09
Model yang dihasilkan : \(y (duga) =31.83172-0.63023x1-0.01590x2-2.65777x3+0.18351x4+1.27689x5-0.62110x6\)
Interpretasi:
Intersep: nilai rataan peubah respon efisiensi bahan bakar (mpg) ketika seluruh peubah penjelas bernilai 0 sebesar 31.83172
x1: jika jumlah silinder mesin mobil (cyl) bertambah satu, maka mpg turun dengan rata-rata sebesar -0.63023
x2: jika tenaga yang dihasilkan oleh mesin mobil (hp) bertambah satu satuan, maka mpg turun dengan rata-rata sebesar -0.0159
x3: jika berat mobil dalam 1000 pon (wt) bertambah 1000 pon, maka mpg turun dengan rata-rata sebesar -2.65777
x4: jika tipe mesin (0 = V-shaped, 1 = straight) (vs) bertambah satu satuan, maka mpg naik dengan rata-rata sebesar 0.18351
x5: jika jumlah gigi maju dalam transmisi (gear) bertambah satu, maka mpg naik dengan rata-rata sebesar 1.27689
x6: jika jumlah karburator dalam mobil (carb) bertambah satu, maka mpg turun dengan rata-rata sebesar -0.62110
Berdasarkan ringkasan model tersebut dapat diketahui bahwa nilai p-value \(3.387e-09\) < \(\alpha=0.05\), peubah wt satu-satunya peubah yang berpengaruh signifikan terhadap mpg, dan didapat nilai \(R^2Adjusted\) sebesar \(0,8151\). Artinya, sebesar 81,51% keragaman nilai mpg dapat dijelaskan oleh semua peubah penjelas. Hasil ini menunjukkan hasil yang cukup bagus.
avPlots(model.awal)
#sisaan dan fitted value
sisaan<- residuals(model.awal)
fitValue<- predict(model.awal)
#Diagnostik dengan eksploratif
qqnorm(sisaan)
qqline(sisaan, col = "steelblue", lwd = 2)
plot(fitValue, sisaan, col = "steelblue", pch = 20, xlab = "Sisaan", ylab = "Fitted Values", main = "Sisaan vs Fitted Values")
abline(a = 0, b = 0, lwd = 2)
hist(sisaan, col = "steelblue")
plot(seq(1,32,1), sisaan, col = "steelblue", pch = 20, xlab = "Sisaan", ylab = "Order", main = "Sisaan vs Order")
lines(seq(1,32,1), sisaan, col = "red")
abline(a = 0, b = 0, lwd = 2)
H0 : Sisaan menyebar normal
H1 : Sisaan tidak menyebar normal
nortest::ad.test(model.awal$residuals)
##
## Anderson-Darling normality test
##
## data: model.awal$residuals
## A = 0.66316, p-value = 0.07572
Didapatkan nilai p-value \(0.07572 > α (0.05)\). Artinya, cukup bukti untuk menyatakan sisaan menyebar normal.
par(mfrow=c(1,2))
plot(model.awal,c(1,3))
H0 : Sisaan homogen
H1 : Sisaan tidak homogen
car::ncvTest(model.awal)
## Non-constant Variance Score Test
## Variance formula: ~ fitted.values
## Chisquare = 3.018578, Df = 1, p = 0.082316
Didapatkan nilai p-value \(0.082316 > α (0.05)\). Artinya, cukup bukti untuk menyatakan sisaan homogen.
H0 : Tidak terdapat autokorelasi
H1 : Terdapat autokorelasi
lmtest::dwtest(model.awal)
##
## Durbin-Watson test
##
## data: model.awal
## DW = 1.5898, p-value = 0.0522
## alternative hypothesis: true autocorrelation is greater than 0
Berdasarkan hasil DW Test, didapatkan nilai \(DW=1.5898\) dan \(p-value = 0.0522\). Berdasarkan tabel Durbin-Watson diperoleh nilai \(DL=0.856\) dan \(DU=1.690\). Nilai DW berada di atas nilai DL. Artinya, tidak berada di daerah autokorelasi positif dan dengan nilai p-value \(0.0522 > α (0.05)\) dapat disimpulkan bahwa tak tolak H0, cukup bukti mengatakan bahwa tidak terdapat autokorelasi.
class(model.awal)
## [1] "lm"
car::vif(model.awal)
## x1 x2 x3 x4 x5 x6
## 10.755995 6.282705 3.872197 3.495001 4.446542 4.116101
Terdapat nilai VIF yang lebih dari 10, sehingga dapat disimpulkan bahwa terdapat multikolinearitas antara peubah y dan x1.
library(olsrr)
##
## Attaching package: 'olsrr'
## The following object is masked from 'package:datasets':
##
## rivers
ols_step_both_p(model.awal, details =TRUE)
## Stepwise Selection Method
## ---------------------------
##
## Candidate Terms:
##
## 1. x1
## 2. x2
## 3. x3
## 4. x4
## 5. x5
## 6. x6
##
## We are selecting variables based on p value...
##
##
## Stepwise Selection: Step 1
##
## - x3 added
##
## Model Summary
## --------------------------------------------------------------
## R 0.868 RMSE 3.046
## R-Squared 0.753 Coef. Var 15.161
## Adj. R-Squared 0.745 MSE 9.277
## Pred R-Squared 0.709 MAE 2.341
## --------------------------------------------------------------
## RMSE: Root Mean Square Error
## MSE: Mean Square Error
## MAE: Mean Absolute Error
##
## ANOVA
## --------------------------------------------------------------------
## Sum of
## Squares DF Mean Square F Sig.
## --------------------------------------------------------------------
## Regression 847.725 1 847.725 91.375 0.0000
## Residual 278.322 30 9.277
## Total 1126.047 31
## --------------------------------------------------------------------
##
## Parameter Estimates
## ----------------------------------------------------------------------------------------
## model Beta Std. Error Std. Beta t Sig lower upper
## ----------------------------------------------------------------------------------------
## (Intercept) 37.285 1.878 19.858 0.000 33.450 41.120
## x3 -5.344 0.559 -0.868 -9.559 0.000 -6.486 -4.203
## ----------------------------------------------------------------------------------------
##
##
##
## Stepwise Selection: Step 2
##
## - x1 added
##
## Model Summary
## --------------------------------------------------------------
## R 0.911 RMSE 2.568
## R-Squared 0.830 Coef. Var 12.780
## Adj. R-Squared 0.819 MSE 6.592
## Pred R-Squared 0.790 MAE 1.921
## --------------------------------------------------------------
## RMSE: Root Mean Square Error
## MSE: Mean Square Error
## MAE: Mean Absolute Error
##
## ANOVA
## --------------------------------------------------------------------
## Sum of
## Squares DF Mean Square F Sig.
## --------------------------------------------------------------------
## Regression 934.875 2 467.438 70.908 0.0000
## Residual 191.172 29 6.592
## Total 1126.047 31
## --------------------------------------------------------------------
##
## Parameter Estimates
## ----------------------------------------------------------------------------------------
## model Beta Std. Error Std. Beta t Sig lower upper
## ----------------------------------------------------------------------------------------
## (Intercept) 39.686 1.715 23.141 0.000 36.179 43.194
## x3 -3.191 0.757 -0.518 -4.216 0.000 -4.739 -1.643
## x1 -1.508 0.415 -0.447 -3.636 0.001 -2.356 -0.660
## ----------------------------------------------------------------------------------------
##
##
##
## Model Summary
## --------------------------------------------------------------
## R 0.911 RMSE 2.568
## R-Squared 0.830 Coef. Var 12.780
## Adj. R-Squared 0.819 MSE 6.592
## Pred R-Squared 0.790 MAE 1.921
## --------------------------------------------------------------
## RMSE: Root Mean Square Error
## MSE: Mean Square Error
## MAE: Mean Absolute Error
##
## ANOVA
## --------------------------------------------------------------------
## Sum of
## Squares DF Mean Square F Sig.
## --------------------------------------------------------------------
## Regression 934.875 2 467.438 70.908 0.0000
## Residual 191.172 29 6.592
## Total 1126.047 31
## --------------------------------------------------------------------
##
## Parameter Estimates
## ----------------------------------------------------------------------------------------
## model Beta Std. Error Std. Beta t Sig lower upper
## ----------------------------------------------------------------------------------------
## (Intercept) 39.686 1.715 23.141 0.000 36.179 43.194
## x3 -3.191 0.757 -0.518 -4.216 0.000 -4.739 -1.643
## x1 -1.508 0.415 -0.447 -3.636 0.001 -2.356 -0.660
## ----------------------------------------------------------------------------------------
##
##
##
## No more variables to be added/removed.
##
##
## Final Model Output
## ------------------
##
## Model Summary
## --------------------------------------------------------------
## R 0.911 RMSE 2.568
## R-Squared 0.830 Coef. Var 12.780
## Adj. R-Squared 0.819 MSE 6.592
## Pred R-Squared 0.790 MAE 1.921
## --------------------------------------------------------------
## RMSE: Root Mean Square Error
## MSE: Mean Square Error
## MAE: Mean Absolute Error
##
## ANOVA
## --------------------------------------------------------------------
## Sum of
## Squares DF Mean Square F Sig.
## --------------------------------------------------------------------
## Regression 934.875 2 467.438 70.908 0.0000
## Residual 191.172 29 6.592
## Total 1126.047 31
## --------------------------------------------------------------------
##
## Parameter Estimates
## ----------------------------------------------------------------------------------------
## model Beta Std. Error Std. Beta t Sig lower upper
## ----------------------------------------------------------------------------------------
## (Intercept) 39.686 1.715 23.141 0.000 36.179 43.194
## x3 -3.191 0.757 -0.518 -4.216 0.000 -4.739 -1.643
## x1 -1.508 0.415 -0.447 -3.636 0.001 -2.356 -0.660
## ----------------------------------------------------------------------------------------
##
## Stepwise Selection Summary
## -------------------------------------------------------------------------------------
## Added/ Adj.
## Step Variable Removed R-Square R-Square C(p) AIC RMSE
## -------------------------------------------------------------------------------------
## 1 x3 addition 0.753 0.745 13.4460 166.0294 3.0459
## 2 x1 addition 0.830 0.819 2.4680 156.0101 2.5675
## -------------------------------------------------------------------------------------
model.stepwise <- lm(y ~ x1+x3)
model.stepwise
##
## Call:
## lm(formula = y ~ x1 + x3)
##
## Coefficients:
## (Intercept) x1 x3
## 39.686 -1.508 -3.191
summary(model.stepwise)
##
## Call:
## lm(formula = y ~ x1 + x3)
##
## Residuals:
## Min 1Q Median 3Q Max
## -4.2893 -1.5512 -0.4684 1.5743 6.1004
##
## Coefficients:
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) 39.6863 1.7150 23.141 < 2e-16 ***
## x1 -1.5078 0.4147 -3.636 0.001064 **
## x3 -3.1910 0.7569 -4.216 0.000222 ***
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Residual standard error: 2.568 on 29 degrees of freedom
## Multiple R-squared: 0.8302, Adjusted R-squared: 0.8185
## F-statistic: 70.91 on 2 and 29 DF, p-value: 6.809e-12
Model hasil seleksi stepwise: \(y (duga) =39.686-1.508x1-3.191x3\)
Interpretasi:
Intersep: nilai rataan peubah respon efisiensi bahan bakar (mpg) ketika seluruh peubah penjelas bernilai 0 sebesar 39.686
x1: jika jumlah silinder mesin mobil (cyl) bertambah satu, maka mpg turun dengan rata-rata sebesar -1.508
x3: jika berat mobil dalam 1000 pon (wt) bertambah 1000 pon, maka mpg turun dengan rata-rata sebesar -3.191
Berdasarkan ringkasan model tersebut dapat diketahui bahwa nilai p-value \(6.809e-12\) < \(\alpha=0.05\), peubah cyl dan wt adalah peubah yang berpengaruh signifikan terhadap mpg, dan didapat nilai \(R^2Adjusted\) sebesar \(0.8185\). Artinya, sebesar 81,85% keragaman nilai mpg dapat dijelaskan oleh peubah cyl dan wt. Hasil ini menunjukkan hasil yang lebih bagus dari model regresi awal.
lapply(c("glmnet","lmridge"),library,character.only=T)[[1]]
## Loading required package: Matrix
## Loaded glmnet 4.1-8
##
## Attaching package: 'lmridge'
## The following object is masked from 'package:car':
##
## vif
## [1] "glmnet" "Matrix" "olsrr" "scales" "RColorBrewer"
## [6] "corrplot" "lmtest" "zoo" "car" "carData"
## [11] "stats" "graphics" "grDevices" "utils" "datasets"
## [16] "methods" "base"
library(glmnet)
cv.r<-cv.glmnet(x,y,alpha=0);plot(cv.r)
# Model Regresi Ridge
best.lr <- cv.r$lambda.min
ridge1 <- glmnet(x,y,alpha=0,lambda=best.lr)
coef(ridge1)
## 7 x 1 sparse Matrix of class "dgCMatrix"
## s0
## (Intercept) 29.13309610
## x1 -0.64110071
## x2 -0.01588734
## x3 -1.98484043
## x4 0.80541330
## x5 1.30311591
## x6 -0.53940147
Model yang dihasilkan dari Regresi Ridge1: \(y (duga) =29.50924427-0.64174138x1-0.01604659x2-2.08859533x3+0.70599361x4+1.32542217x5-0.55852213x6\)
Interpretasi:
Intersep: nilai rataan peubah respon efisiensi bahan bakar (mpg) ketika seluruh peubah penjelas bernilai 0 sebesar 29.50924427
x1: jika jumlah silinder mesin mobil (cyl) bertambah satu, maka mpg turun dengan rata-rata sebesar -0.64174138
x2: jika tenaga yang dihasilkan oleh mesin mobil (hp) bertambah satu satuan, maka mpg turun dengan rata-rata sebesar -0.01604659
x3: jika berat mobil dalam 1000 pon (wt) bertambah 1000 pon, maka mpg turun dengan rata-rata sebesar -2.08859533
x4: jika tipe mesin (0 = V-shaped, 1 = straight) (vs) bertambah satu satuan, maka mpg naik dengan rata-rata sebesar 0.70599361
x5: jika jumlah gigi maju dalam transmisi (gear) bertambah satu, maka mpg naik dengan rata-rata sebesar 1.32542217
x6: jika jumlah karburator dalam mobil (carb) bertambah satu, maka mpg turun dengan rata-rata sebesar -0.55852213
#Fungsi R-squared
rsq<-function(bestmodel,bestlambda,x,y){
#y duga
y.duga <- predict(bestmodel, s = bestlambda, newx = x)
#JKG dan JKT
jkt <- sum((y - mean(y))^2)
jkg <- sum((y.duga- y)^2)
#find R-Squared
rsq <- 1 - jkg/jkt
return(rsq)
}
rsq(ridge1,best.lr,x,y)
## [1] 0.8419561
Dapat dikatakan bahwa semua peubah penjelas berpengaruh signifikan terhadap peubah respon dengan nilai \(R^2\) sebesar 84.50%.
dataridge <- cbind.data.frame(y,x1,x2,x3,x4,x5,x6)
head(dataridge)
## y x1 x2 x3 x4 x5 x6
## 1 21.0 6 110 2.620 0 4 4
## 2 21.0 6 110 2.875 0 4 4
## 3 22.8 4 93 2.320 1 4 1
## 4 21.4 6 110 3.215 1 3 1
## 5 18.7 8 175 3.440 0 3 2
## 6 18.1 6 105 3.460 1 3 1
library(lmridge)
ridge2 <- lmridge(y~x1+x2+x3+x4+x5+x6,dataridge,scaling="centered")
plot(ridge2)
vif(ridge2)
## x1 x2 x3 x4 x5 x6
## k=0 0.10878 4e-05 0.13047 0.44381 0.2635 0.05089
Sudah tidak terdapat multikolinearitas
summary(ridge2)
##
## Call:
## lmridge.default(formula = y ~ x1 + x2 + x3 + x4 + x5 + x6, data = dataridge,
## scaling = "centered")
##
##
## Coefficients: for Ridge parameter K= 0
## Estimate Estimate (Sc) StdErr (Sc) t-value (Sc) Pr(>|t|)
## Intercept 31.8317 31.8317 8.3078 3.8315 0.0008 ***
## x1 -0.6302 -0.6302 0.8381 -0.7520 0.4591
## x2 -0.0159 -0.0159 0.0167 -0.9532 0.3496
## x3 -2.6578 -2.6578 0.9178 -2.8957 0.0077 **
## x4 0.1835 0.1835 1.6928 0.1084 0.9145
## x5 1.2769 1.2769 1.3044 0.9789 0.3370
## x6 -0.6211 -0.6211 0.5733 -1.0835 0.2889
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Ridge Summary
## R2 adj-R2 DF ridge F AIC BIC
## 0.85090 0.82220 6.00002 24.73206 65.04070 184.73870
## Ridge minimum MSE= 6.440835 at K= 0
## P-value for F-test ( 6.00002 , 25.99997 ) = 1.401559e-09
## -------------------------------------------------------------------
Model yang dihasilkan dari Regresi Ridge2: \(y (duga) =31.8317-0.6302x1-0.0159x2-2.6578x3+0.1835x4+1.2769x5-0.6211x6\)
Interpretasi:
Intersep: nilai rataan peubah respon efisiensi bahan bakar (mpg) ketika seluruh peubah penjelas bernilai 0 sebesar 31.8317
x1: jika jumlah silinder mesin mobil (cyl) bertambah satu, maka mpg turun dengan rata-rata sebesar -0.6302
x2: jika tenaga yang dihasilkan oleh mesin mobil (hp) bertambah satu satuan, maka mpg turun dengan rata-rata sebesar -0.0159
x3: jika berat mobil dalam 1000 pon (wt) bertambah 1000 pon, maka mpg turun dengan rata-rata sebesar -2.6578
x4: jika tipe mesin (0 = V-shaped, 1 = straight) (vs) bertambah satu satuan, maka mpg naik dengan rata-rata sebesar 0.1835
x5: jika jumlah gigi maju dalam transmisi (gear) bertambah satu, maka mpg naik dengan rata-rata sebesar 1.2769
x6: jika jumlah karburator dalam mobil (carb) bertambah satu, maka mpg turun dengan rata-rata sebesar -0.6211
Diketahui hanya peubah wt yang berpengaruh signifikan terhadap mpg, dan didapat nilai \(R^2\) sebesar 85.10%.
cv.l <- cv.glmnet(x,y,alpha=1);plot(cv.l)
best.ll<-cv.l$lambda.min
lasso<-glmnet(x,y,alpha=1,lambda=best.ll)
coef(lasso)
## 7 x 1 sparse Matrix of class "dgCMatrix"
## s0
## (Intercept) 37.24089487
## x1 -0.92599603
## x2 -0.01289781
## x3 -2.90500802
## x4 .
## x5 .
## x6 -0.06491889
Model yang dihasilkan dari Regresi Lasso: \(y (duga) =37.24089487-0.92599603x1-0.01289781x2-2.65777x3-0.06491889x6\)
Interpretasi:
Intersep: nilai rataan peubah respon efisiensi bahan bakar (mpg) ketika seluruh peubah penjelas bernilai 0 sebesar 37.24089487
x1: jika jumlah silinder mesin mobil (cyl) bertambah satu, maka mpg turun dengan rata-rata sebesar -0.92599603
x2: jika tenaga yang dihasilkan oleh mesin mobil (hp) bertambah satu satuan, maka mpg turun dengan rata-rata sebesar -0.01289781
x3: jika berat mobil dalam 1000 pon (wt) bertambah 1000 pon, maka mpg turun dengan rata-rata sebesar -2.90500802
x6: jika jumlah karburator dalam mobil (carb) bertambah satu, maka mpg turun dengan rata-rata sebesar -0.06491889
Diketahui adanya seleksi pada model yaitu tereliminasinya peubah x4 dan x5.
rsq(lasso,best.ll,x,y)
## [1] 0.8368554
Didapatkan nilai \(R^2\) sebesar 83.68%.
# Prediksi model ridge pada data pelatihan
train_predictionsridge <- predict(ridge2,newx = x)
# Hitung residu (selisih antara prediksi dan nilai sebenarnya)
residualsridge <- y - train_predictionsridge
# Hitung varian residu
dfridge <- length(y) - length(ridge2$beta)
residual_varianceridge <- sum(residualsridge^2) / dfridge
# Hitung RSE
rseridge <- sqrt(residual_varianceridge)
# Tampilkan hasil RSE
print(paste("Residual Standard Error (RSE):",rseridge))
## [1] "Residual Standard Error (RSE): 2.29047769735368"
# Prediksi model Lasso pada data pelatihan
train_predictionsLasso <- predict(lasso,newx = x)
# Hitung residu (selisih antara prediksi dan nilai sebenarnya)
residualsLasso <- y - train_predictionsLasso
# Hitung varian residu
dfLasso <- length(y) - length(lasso$beta)
residual_varianceLasso <- sum(residualsLasso^2) / dfLasso
# Hitung RSE
rseLasso <- sqrt(residual_varianceLasso)
# Tampilkan hasil RSE
print(paste("Residual Standard Error (RSE):",rseLasso))
## [1] "Residual Standard Error (RSE): 2.65814048616532"
\(R^2\) Model Awal : 81.51%
\(R^2\) Model Stepwise : 81.85%
\(R^2\) Model Ridge : 85.10%
\(R^2\) Model Lasso : 83.68%
RSE Model Awal : 2.591
RSE Model Stepwise : 2.568
RSE Model Ridge : 2.29047769735368
RSE Model Lasso : 2.65814048616532
Penentuan model terbaik akan dipilih berdasarkan nilai \(R^2\) terbesar dan RSE (residual standard error) terkecil. Pada kasus ini, model yang paling optimal adalah Model Regresi Ridge. Hal ini terbukti dalam regresi ridge yang mempertahankan semua peubah penjelasnya, sehingga peubah-peubah tersebut tetap digunakan dalam model regresi.
Model akhir paling optimal yang dihasilkan dari Regresi Ridge:
\(mpg (duga) =31.8317-0.6302cyl-0.0159hp-2.6578wt+0.1835vs+1.2769gear-0.6211carb\)
Intersep: nilai rataan peubah respon efisiensi bahan bakar (mpg) ketika seluruh peubah penjelas bernilai 0 sebesar 31.8317
cyl: jika jumlah silinder mesin mobil bertambah satu, maka mpg turun dengan rata-rata sebesar -0.6302
hp: jika tenaga yang dihasilkan oleh mesin mobil bertambah satu satuan, maka mpg turun dengan rata-rata sebesar -0.0159
wt: jika berat mobil dalam 1000 pon bertambah 1000 pon, maka mpg turun dengan rata-rata sebesar -2.6578
vs: jika tipe mesin (0 = V-shaped, 1 = straight) bertambah satu satuan, maka mpg naik dengan rata-rata sebesar 0.1835
gear: jika jumlah gigi maju dalam transmisi bertambah satu, maka mpg naik dengan rata-rata sebesar 1.2769
carb: jika jumlah karburator dalam mobil bertambah satu, maka mpg turun dengan rata-rata sebesar -0.6211