Import data

library(readxl)
data <- read_excel("C:/Users/ASUS/Downloads/insurance.xlsx", sheet = "ini")
data
str(data)
tibble [150 × 5] (S3: tbl_df/tbl/data.frame)
 $ Hours Studied                   : num [1:150] 7 4 8 5 7 3 7 8 5 4 ...
 $ Previous Scores                 : num [1:150] 99 82 51 52 75 78 73 45 77 89 ...
 $ Sleep Hours                     : num [1:150] 9 4 7 5 8 9 5 4 8 4 ...
 $ Sample Question Papers Practiced: num [1:150] 1 2 2 2 5 6 6 6 2 1 ...
 $ Index                           : num [1:150] 9.1 6.5 4.5 3.6 6.6 6.1 6.3 4.2 6.1 6.9 ...

Definisi

Pemodelan Klasik

library(lmtest)
model_lm <- lm(data$Index ~ data$`Hours Studied` + data$`Previous Scores` + data$`Sleep Hours` + data$`Sample Question Papers Practiced`, data =data)
summary(model_lm)

Call:
lm(formula = data$Index ~ data$`Hours Studied` + data$`Previous Scores` + 
    data$`Sleep Hours` + data$`Sample Question Papers Practiced`, 
    data = data)

Residuals:
     Min       1Q   Median       3Q      Max 
-0.48396 -0.12654  0.01592  0.14003  0.38801 

Coefficients:
                                          Estimate Std. Error t value Pr(>|t|)    
(Intercept)                             -3.4876985  0.0990613 -35.207  < 2e-16 ***
data$`Hours Studied`                     0.2942557  0.0059664  49.319  < 2e-16 ***
data$`Previous Scores`                   0.1019539  0.0009303 109.593  < 2e-16 ***
data$`Sleep Hours`                       0.0477104  0.0086621   5.508 1.61e-07 ***
data$`Sample Question Papers Practiced`  0.0278128  0.0058683   4.739 5.06e-06 ***
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

Residual standard error: 0.191 on 145 degrees of freedom
Multiple R-squared:  0.9907,    Adjusted R-squared:  0.9904 
F-statistic:  3858 on 4 and 145 DF,  p-value: < 2.2e-16

Pemodelan Ridge

best.lr<-cv.r$lambda.min
bestridge<-glmnet(x,y,alpha=0,lambda=best.lr);coef(bestridge)
5 x 1 sparse Matrix of class "dgCMatrix"
                     s0
(Intercept) -2.71314293
V1           0.27337114
V2           0.09361693
V3           0.03812178
V4           0.02479587
# Fungsi R-Square
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) 
}
#R-Square Ridge
rsq(bestridge,best.lr,x,y)
[1] 0.9843622

Pemodelan Lasso

cv.l<-cv.glmnet(x,y,alpha=1);plot(cv.l)

Best Model

best.ll<-cv.l$lambda.min
bestlasso<-glmnet(x,y,alpha=1,lambda=best.ll);coef(bestlasso)
5 x 1 sparse Matrix of class "dgCMatrix"
                    s0
(Intercept) -3.4132745
V1           0.2919490
V2           0.1015992
V3           0.0436682
V4           0.0252132
#R-Square Lasso
rsq(bestlasso,best.ll,x,y)
[1] 0.9906484

Regresi Ridge (lmridge)

summary(lmr)

Call:
lmridge.default(formula = data$Index ~ data$`Hours Studied` + 
    data$`Previous Scores` + data$`Sleep Hours` + data$`Sample Question Papers Practiced`, 
    data = lamudi, scaling = "centered")


Coefficients: for Ridge parameter K= 0 
                                        Estimate Estimate (Sc) StdErr (Sc)
Intercept                                -3.4877       -3.4877      0.1855
data$`Hours Studied`                      0.2943        0.2943      0.0059
data$`Previous Scores`                    0.1020        0.1020      0.0009
data$`Sleep Hours`                        0.0477        0.0477      0.0086
data$`Sample Question Papers Practiced`   0.0278        0.0278      0.0058
                                        t-value (Sc)  Pr(>|t|)    
Intercept                                   -18.7983 < 2.2e-16 ***
data$`Hours Studied`                         49.4885 < 2.2e-16 ***
data$`Previous Scores`                      109.9707 < 2.2e-16 ***
data$`Sleep Hours`                            5.5269 < 2.2e-16 ***
data$`Sample Question Papers Practiced`       4.7558 < 2.2e-16 ***
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

Ridge Summary
        R2     adj-R2   DF ridge          F        AIC        BIC 
   0.99070    0.99050    4.00004 3884.31846 -493.76001  269.87795 
Ridge minimum MSE= 0.0001449334 at K= 0 
P-value for F-test ( 4.00004 , 145.9999 ) = 3.943635e-147 
-------------------------------------------------------------------
LS0tDQp0aXRsZTogIlR1Z2FzIE1hbmRpcmkgUFNEIg0KYXV0aG9yIDogIlByYXRhbWEgRmFqcmlhbGR5IC0gRzE0MDEyMTEwODEiDQpvdXRwdXQ6IGh0bWxfbm90ZWJvb2sNCi0tLQ0KDQojIyBJbXBvcnQgZGF0YQ0KYGBge3J9DQpsaWJyYXJ5KHJlYWR4bCkNCmRhdGEgPC0gcmVhZF9leGNlbCgiQzovVXNlcnMvQVNVUy9Eb3dubG9hZHMvaW5zdXJhbmNlLnhsc3giLCBzaGVldCA9ICJpbmkiKQ0KZGF0YQ0Kc3RyKGRhdGEpDQpgYGANCg0KIyMgRGVmaW5pc2kNCmBgYHtyfQ0KeDEgPC0gZGF0YSRgSG91cnMgU3R1ZGllZGANCngyIDwtIGRhdGEkYFByZXZpb3VzIFNjb3Jlc2ANCngzIDwtIGRhdGEkYFNsZWVwIEhvdXJzYA0KeDQgPC0gZGF0YSRgU2FtcGxlIFF1ZXN0aW9uIFBhcGVycyBQcmFjdGljZWRgDQp5IDwtIGRhdGEkSW5kZXgNCnggPC0gZGF0YS5mcmFtZShkYXRhJGBIb3VycyBTdHVkaWVkYCwgZGF0YSRgUHJldmlvdXMgU2NvcmVzYCwgZGF0YSRgU2xlZXAgSG91cnNgLCBkYXRhJGBTYW1wbGUgUXVlc3Rpb24gUGFwZXJzIFByYWN0aWNlZGApDQpgYGANCg0KIyMgUGVtb2RlbGFuIEtsYXNpaw0KYGBge3J9DQpsaWJyYXJ5KGxtdGVzdCkNCm1vZGVsX2xtIDwtIGxtKGRhdGEkSW5kZXggfiBkYXRhJGBIb3VycyBTdHVkaWVkYCArIGRhdGEkYFByZXZpb3VzIFNjb3Jlc2AgKyBkYXRhJGBTbGVlcCBIb3Vyc2AgKyBkYXRhJGBTYW1wbGUgUXVlc3Rpb24gUGFwZXJzIFByYWN0aWNlZGAsIGRhdGEgPWRhdGEpDQpzdW1tYXJ5KG1vZGVsX2xtKQ0KYGBgDQoNCiMjIFBlbW9kZWxhbiBSaWRnZQ0KYGBge3J9DQpsaWJyYXJ5KGdsbW5ldCkNCnggPC0gbWF0cml4KGMoZGF0YSRgSG91cnMgU3R1ZGllZGAsIGRhdGEkYFByZXZpb3VzIFNjb3Jlc2AsIGRhdGEkYFNsZWVwIEhvdXJzYCwgZGF0YSRgU2FtcGxlIFF1ZXN0aW9uIFBhcGVycyBQcmFjdGljZWRgKSwgbmNvbCA9IDQpDQp5IDwtIChkYXRhJEluZGV4KQ0KY3YucjwtY3YuZ2xtbmV0KHgseSxhbHBoYT0wKTtwbG90KGN2LnIpDQpgYGANCg0KYGBge3J9DQpiZXN0LmxyPC1jdi5yJGxhbWJkYS5taW4NCmJlc3RyaWRnZTwtZ2xtbmV0KHgseSxhbHBoYT0wLGxhbWJkYT1iZXN0LmxyKTtjb2VmKGJlc3RyaWRnZSkNCmBgYA0KDQpgYGB7cn0NCiMgRnVuZ3NpIFItU3F1YXJlDQpyc3E8LWZ1bmN0aW9uKGJlc3Rtb2RlbCxiZXN0bGFtYmRhLHgseSl7DQogI3kgZHVnYQ0KIHkuZHVnYSA8LSBwcmVkaWN0KGJlc3Rtb2RlbCwgcyA9IGJlc3RsYW1iZGEsIG5ld3ggPSB4KQ0KDQogI0pLRyBkYW4gSktUDQogamt0IDwtIHN1bSgoeSAtIG1lYW4oeSkpXjIpDQogamtnIDwtIHN1bSgoeS5kdWdhLSB5KV4yKQ0KDQojZmluZCBSLVNxdWFyZWQNCnJzcSA8LSAxIC0gamtnL2prdA0KcmV0dXJuKHJzcSkgDQp9DQojUi1TcXVhcmUgUmlkZ2UNCnJzcShiZXN0cmlkZ2UsYmVzdC5scix4LHkpDQpgYGANCg0KIyMgUGVtb2RlbGFuIExhc3NvDQpgYGB7cn0NCmN2Lmw8LWN2LmdsbW5ldCh4LHksYWxwaGE9MSk7cGxvdChjdi5sKQ0KYGBgDQoNCiMjIyBCZXN0IE1vZGVsDQpgYGB7cn0NCmJlc3QubGw8LWN2LmwkbGFtYmRhLm1pbg0KYmVzdGxhc3NvPC1nbG1uZXQoeCx5LGFscGhhPTEsbGFtYmRhPWJlc3QubGwpO2NvZWYoYmVzdGxhc3NvKQ0KI1ItU3F1YXJlIExhc3NvDQpyc3EoYmVzdGxhc3NvLGJlc3QubGwseCx5KQ0KYGBgDQoNCg0KIyMgUmVncmVzaSBSaWRnZSAobG1yaWRnZSkNCmBgYHtyfQ0KbGlicmFyeShsbXJpZGdlKQ0KbG1yPC1sbXJpZGdlKGRhdGEkSW5kZXggfiBkYXRhJGBIb3VycyBTdHVkaWVkYCArIGRhdGEkYFByZXZpb3VzIFNjb3Jlc2AgKyBkYXRhJGBTbGVlcCBIb3Vyc2AgKyBkYXRhJGBTYW1wbGUgUXVlc3Rpb24gUGFwZXJzIFByYWN0aWNlZGAsIGRhdGEgPSBsYW11ZGksIHNjYWxpbmcgPSAiY2VudGVyZWQiKSAgDQpwbG90KGxtcikNCnZpZihsbXIpDQoNCnN1bW1hcnkobG1yKQ0KYGBg