Packages

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"

Masukan Data

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.

Identifikasi Peubah

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.

Eksplorasi Data

Matriks Korelasi

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)

Analisis Regresi Klasik

Model awal

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:

  1. Intersep: nilai rataan peubah respon efisiensi bahan bakar (mpg) ketika seluruh peubah penjelas bernilai 0 sebesar 31.83172

  2. x1: jika jumlah silinder mesin mobil (cyl) bertambah satu, maka mpg turun dengan rata-rata sebesar -0.63023

  3. x2: jika tenaga yang dihasilkan oleh mesin mobil (hp) bertambah satu satuan, maka mpg turun dengan rata-rata sebesar -0.0159

  4. x3: jika berat mobil dalam 1000 pon (wt) bertambah 1000 pon, maka mpg turun dengan rata-rata sebesar -2.65777

  5. x4: jika tipe mesin (0 = V-shaped, 1 = straight) (vs) bertambah satu satuan, maka mpg naik dengan rata-rata sebesar 0.18351

  6. x5: jika jumlah gigi maju dalam transmisi (gear) bertambah satu, maka mpg naik dengan rata-rata sebesar 1.27689

  7. 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)

Uji Asumsi

#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)

Normalitas

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.

Homoskedastisitas dan Non-Autokorelasi

par(mfrow=c(1,2))
plot(model.awal,c(1,3))

Homoskedastisitas

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.

Autokorelasi

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.

Multikolinearitas

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.

Seleksi Peubah

Metode Stepwise

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:

  1. Intersep: nilai rataan peubah respon efisiensi bahan bakar (mpg) ketika seluruh peubah penjelas bernilai 0 sebesar 39.686

  2. x1: jika jumlah silinder mesin mobil (cyl) bertambah satu, maka mpg turun dengan rata-rata sebesar -1.508

  3. 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.

Regresi Ridge

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"

Menggunakan glmnet

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:

  1. Intersep: nilai rataan peubah respon efisiensi bahan bakar (mpg) ketika seluruh peubah penjelas bernilai 0 sebesar 29.50924427

  2. x1: jika jumlah silinder mesin mobil (cyl) bertambah satu, maka mpg turun dengan rata-rata sebesar -0.64174138

  3. x2: jika tenaga yang dihasilkan oleh mesin mobil (hp) bertambah satu satuan, maka mpg turun dengan rata-rata sebesar -0.01604659

  4. x3: jika berat mobil dalam 1000 pon (wt) bertambah 1000 pon, maka mpg turun dengan rata-rata sebesar -2.08859533

  5. x4: jika tipe mesin (0 = V-shaped, 1 = straight) (vs) bertambah satu satuan, maka mpg naik dengan rata-rata sebesar 0.70599361

  6. x5: jika jumlah gigi maju dalam transmisi (gear) bertambah satu, maka mpg naik dengan rata-rata sebesar 1.32542217

  7. 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%.

Menggunakan lmridge

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:

  1. Intersep: nilai rataan peubah respon efisiensi bahan bakar (mpg) ketika seluruh peubah penjelas bernilai 0 sebesar 31.8317

  2. x1: jika jumlah silinder mesin mobil (cyl) bertambah satu, maka mpg turun dengan rata-rata sebesar -0.6302

  3. x2: jika tenaga yang dihasilkan oleh mesin mobil (hp) bertambah satu satuan, maka mpg turun dengan rata-rata sebesar -0.0159

  4. x3: jika berat mobil dalam 1000 pon (wt) bertambah 1000 pon, maka mpg turun dengan rata-rata sebesar -2.6578

  5. x4: jika tipe mesin (0 = V-shaped, 1 = straight) (vs) bertambah satu satuan, maka mpg naik dengan rata-rata sebesar 0.1835

  6. x5: jika jumlah gigi maju dalam transmisi (gear) bertambah satu, maka mpg naik dengan rata-rata sebesar 1.2769

  7. 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%.

Regresi Lasso

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:

  1. Intersep: nilai rataan peubah respon efisiensi bahan bakar (mpg) ketika seluruh peubah penjelas bernilai 0 sebesar 37.24089487

  2. x1: jika jumlah silinder mesin mobil (cyl) bertambah satu, maka mpg turun dengan rata-rata sebesar -0.92599603

  3. x2: jika tenaga yang dihasilkan oleh mesin mobil (hp) bertambah satu satuan, maka mpg turun dengan rata-rata sebesar -0.01289781

  4. x3: jika berat mobil dalam 1000 pon (wt) bertambah 1000 pon, maka mpg turun dengan rata-rata sebesar -2.90500802

  5. 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%.

RSE (Residual Standard Error) Model Regresi Ridge dan Model Regresi LASSO

Model Regresi Ridge

# 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"

Model Regresi Lasso

# 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"

PERBANDINGAN MODEL

\(R^2\)

\(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

RSE Model Awal : 2.591

RSE Model Stepwise : 2.568

RSE Model Ridge : 2.29047769735368

RSE Model Lasso : 2.65814048616532

INTERPRETASI

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\)

  1. Intersep: nilai rataan peubah respon efisiensi bahan bakar (mpg) ketika seluruh peubah penjelas bernilai 0 sebesar 31.8317

  2. cyl: jika jumlah silinder mesin mobil bertambah satu, maka mpg turun dengan rata-rata sebesar -0.6302

  3. hp: jika tenaga yang dihasilkan oleh mesin mobil bertambah satu satuan, maka mpg turun dengan rata-rata sebesar -0.0159

  4. wt: jika berat mobil dalam 1000 pon bertambah 1000 pon, maka mpg turun dengan rata-rata sebesar -2.6578

  5. vs: jika tipe mesin (0 = V-shaped, 1 = straight) bertambah satu satuan, maka mpg naik dengan rata-rata sebesar 0.1835

  6. gear: jika jumlah gigi maju dalam transmisi bertambah satu, maka mpg naik dengan rata-rata sebesar 1.2769

  7. carb: jika jumlah karburator dalam mobil bertambah satu, maka mpg turun dengan rata-rata sebesar -0.6211