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