Penduduk adalah kekayaan nyata suatu bangsa. Kualitas hidup yang dimiliki suatu negara ataupun wilayah, menggambarkan kesejahteraan rakyat dan keberhasilan dari program-program yang dibuat oleh pemerintah untuk meningkatkan derajat kehidupan manusia. Terkait dengan kualitas hidup terdapat unsur angka harapan hidup (AHH) di dalamnya. Angka harapan hidup merupakan salah satu indikator yang digunakan untuk menilai derajat kesehatan penduduk yang menggambarkan kualitas hidup. Banyak hal yang melatarbelakangi angka harapan hidup di suatu negara.
Penelitian ini bertujuan untuk menganalisis dan mengidentifikasi variabel-variabel yang berpengaruh terhadap angka harapan hidup di negara-negara Timur Tengah pada tahun 2011-2015. Metode yang digunakan dalam penelitian ini adalah analisis regresi robust dengan estimasi GS.
Regresi robust merupakan salah satu metode regresi untuk menangani data dimana residunya berdistribusi tidak normal dan terdapat outlier yang dapat berpengaruh pada data. Metode ini tidak dapat menormalkan residu model, tetapi model dibuat lebih resistance terhadap outlier. Terdapat beberapa metode estimasi dalam regresi robust, salah satunya adalah estimasi GS (Generalized Scale). Estimasi GS merupakan penyelesaian minimasi dari estimasi M berdasarkan residu skala berpasangan.
library(readxl)
data <- read_excel(path = "D:/KULIAH/KULIAH SEMESTER 4/Sistem Informasi Manajemen/SETELAH UTS/tugas individu RMarkdown/Regresi Robust/data.xlsx", col_names = TRUE)
data
## # A tibble: 70 × 5
## Y X1 X2 X3 X4
## <dbl> <dbl> <dbl> <dbl> <dbl>
## 1 76.5 1.32 27.8 97 7.8
## 2 81.7 2.89 27 94 12.8
## 3 73.7 0.36 28.7 98 9.9
## 4 74.5 0 28.3 98 9.5
## 5 65.8 0.04 23.4 69 2.8
## 6 74.6 0 29.1 99 7
## 7 76.9 0.45 26.3 99 9.5
## 8 76.4 0.44 26.1 99 8.9
## 9 76.2 1.66 25 99 8.6
## 10 82.1 2.74 27.2 95 13
## # ℹ 60 more rows
Terdapat 5 variabel pada data ini:
* Life expectancy (Y) : Harapan hidup
rata-rata untuk kedua jenis kelamin pada tahun yang berbeda dari 2011
hingga 2015.
* Alcohol consumption (X1) : Konsumsi alkohol
yang tercatat dalam liter alkohol murni per kapita dengan usia 15+
* BMI (X2) : Ukuran status gizi pada orang
dewasa.
* Polio (X3) : % cakupan imunisasi polio
(Pol3) pada anak usia 1 tahun.
* Schooling (X4) : Rata-rata tahun yang
dihabiskan orang berusia 25+ tahun dalam pendidikan formal.
library(car)
library(lmtest)
model.mkt=lm(Y~.,data=data)
residu=resid(model.mkt)
ks.test(residu,"pnorm")
##
## Exact one-sample Kolmogorov-Smirnov test
##
## data: residu
## D = 0.17875, p-value = 0.01988
## alternative hypothesis: two-sided
library(lmtest)
bptest(model.mkt)
##
## studentized Breusch-Pagan test
##
## data: model.mkt
## BP = 9.2956, df = 4, p-value = 0.05412
dwtest(model.mkt)
##
## Durbin-Watson test
##
## data: model.mkt
## DW = 2.1815, p-value = 0.7693
## alternative hypothesis: true autocorrelation is greater than 0
vif(model.mkt)
## X1 X2 X3 X4
## 1.822114 1.238578 2.026257 3.411276
boxplot(data)
Dilihat dari boxplot tersebut dapat disimpulkan terdapat outlier pada data. Setelah dilakukan uji asumsi klasik untuk mengetahui apakah residu dari model memenuhi asumsi sebelum masuk ke analisis regresi robust, didapatkan bahwa semua asumsi terpenuhi kecuali normalitas, hal ini disebabkan karena adanya outlier pada data.
Iterasi dilakukan sampai konvergen
library(BBmisc)
#ESTIMASI M
#ITERASI 1
#mencari galatnya
res <- model.mkt$residuals
#Menghitung sig
sig1<- median(abs(res-median(res)))/0.6745
#Menghitung nilai ui
u<- vector()
for(i in 1:length(res)){
u[i]<- res[i]/sig1
}
#Menghitung Pembobot
w=weights(model.mkt)
for (i in 1:70){
if((abs(u[i]))>1.345){w[i]=1.345/abs(u[i])}
else w[i]=1
}
modelM1 <- lm(Y~.,data=data, weights=w)
summary(modelM1)
##
## Call:
## lm(formula = Y ~ ., data = data, weights = w)
##
## Weighted Residuals:
## Min 1Q Median 3Q Max
## -2.81546 -0.89089 -0.02627 1.25387 3.08476
##
## Coefficients:
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) 53.14513 3.86429 13.753 < 2e-16 ***
## X1 1.79584 0.32399 5.543 5.81e-07 ***
## X2 0.29247 0.14183 2.062 0.04320 *
## X3 0.06870 0.01997 3.439 0.00102 **
## X4 0.73422 0.16368 4.486 3.03e-05 ***
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Residual standard error: 1.689 on 65 degrees of freedom
## Multiple R-squared: 0.831, Adjusted R-squared: 0.8206
## F-statistic: 79.91 on 4 and 65 DF, p-value: < 2.2e-16
#Menghitung nilai residu
res1<- modelM1$residuals
#ITERASI 2
#Menghitung sig
sig2<- median(abs(res1-median(res1)))/0.6745
#Menghitung nilai ui
u2<- vector()
for(i in 1:length(res1)){
u2[i]<- res1[i]/sig2
}
#Menghitung Pembobot
w1=weights(modelM1)
for (i in 1:70){
if((abs(u2[i]))>1.345){w1[i]=1.345/abs(u2[i])}
else w1[i]=1
}
modelM2 <- lm(Y~.,data=data, weights=w1)
summary(modelM2)
##
## Call:
## lm(formula = Y ~ ., data = data, weights = w1)
##
## Weighted Residuals:
## Min 1Q Median 3Q Max
## -2.66277 -0.83960 0.01062 1.24233 2.87202
##
## Coefficients:
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) 53.00594 3.71396 14.272 < 2e-16 ***
## X1 1.73997 0.31228 5.572 5.20e-07 ***
## X2 0.29163 0.13635 2.139 0.036219 *
## X3 0.06986 0.01916 3.646 0.000531 ***
## X4 0.74508 0.15710 4.743 1.19e-05 ***
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Residual standard error: 1.616 on 65 degrees of freedom
## Multiple R-squared: 0.8419, Adjusted R-squared: 0.8322
## F-statistic: 86.54 on 4 and 65 DF, p-value: < 2.2e-16
#Menghitung nilai residu
res2<- modelM2$residuals
#ITERASI 3
#Menghitung sig
sig3<- median(abs(res2-median(res2)))/0.6745
#Menghitung nilai ui
u3<- vector()
for(i in 1:length(res2)){
u3[i]<- res2[i]/sig3
}
#Menghitung Pembobot
w2=weights(modelM2)
for (i in 1:70){
if((abs(u3[i]))>1.345){w2[i]=1.345/abs(u3[i])}
else w2[i]=1
}
modelM3 <- lm(Y~.,data=data, weights=w2)
summary(modelM3)
##
## Call:
## lm(formula = Y ~ ., data = data, weights = w2)
##
## Weighted Residuals:
## Min 1Q Median 3Q Max
## -2.60875 -0.82205 0.00565 1.22841 2.79565
##
## Coefficients:
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) 52.91866 3.65276 14.487 < 2e-16 ***
## X1 1.71654 0.30747 5.583 4.98e-07 ***
## X2 0.29326 0.13413 2.186 0.032393 *
## X3 0.07006 0.01882 3.723 0.000413 ***
## X4 0.75048 0.15437 4.861 7.71e-06 ***
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Residual standard error: 1.586 on 65 degrees of freedom
## Multiple R-squared: 0.8463, Adjusted R-squared: 0.8368
## F-statistic: 89.46 on 4 and 65 DF, p-value: < 2.2e-16
#Menghitung nilai residu
res3<- modelM3$residuals
#ITERASI 4
#Menghitung sig
sig4<- median(abs(res3-median(res3)))/0.6745
#Menghitung nilai ui
u4<- vector()
for(i in 1:length(res3)){
u4[i]<- res3[i]/sig4
}
#Menghitung Pembobot
w3=weights(modelM3)
for (i in 1:70){
if((abs(u4[i]))>1.345){w3[i]=1.345/abs(u4[i])}
else w3[i]=1
}
modelM4 <- lm(Y~.,data=data, weights=w3)
summary(modelM4)
##
## Call:
## lm(formula = Y ~ ., data = data, weights = w3)
##
## Weighted Residuals:
## Min 1Q Median 3Q Max
## -2.57929 -0.82938 0.00333 1.21812 2.75952
##
## Coefficients:
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) 52.85941 3.62118 14.597 < 2e-16 ***
## X1 1.70578 0.30500 5.593 4.79e-07 ***
## X2 0.29493 0.13299 2.218 0.030077 *
## X3 0.07011 0.01864 3.761 0.000365 ***
## X4 0.75301 0.15295 4.923 6.14e-06 ***
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Residual standard error: 1.57 on 65 degrees of freedom
## Multiple R-squared: 0.8485, Adjusted R-squared: 0.8392
## F-statistic: 91 on 4 and 65 DF, p-value: < 2.2e-16
#Menghitung nilai residu
res4<- modelM4$residuals
#ITERASI 5
#Menghitung sig
sig5<- median(abs(res4-median(res4)))/0.6745
#Menghitung nilai ui
u5<- vector()
for(i in 1:length(res4)){
u5[i]<- res4[i]/sig5
}
#Menghitung Pembobot
w4=weights(modelM4)
for (i in 1:70){
if((abs(u5[i]))>1.345){w4[i]=1.345/abs(u5[i])}
else w4[i]=1
}
modelM5 <- lm(Y~.,data=data, weights=w4)
summary(modelM5)
##
## Call:
## lm(formula = Y ~ ., data = data, weights = w4)
##
## Weighted Residuals:
## Min 1Q Median 3Q Max
## -2.57024 -0.83621 0.00241 1.21314 2.74874
##
## Coefficients:
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) 52.83047 3.61126 14.629 < 2e-16 ***
## X1 1.70216 0.30425 5.595 4.75e-07 ***
## X2 0.29586 0.13263 2.231 0.029158 *
## X3 0.07012 0.01859 3.773 0.000351 ***
## X4 0.75391 0.15252 4.943 5.70e-06 ***
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Residual standard error: 1.565 on 65 degrees of freedom
## Multiple R-squared: 0.8492, Adjusted R-squared: 0.8399
## F-statistic: 91.5 on 4 and 65 DF, p-value: < 2.2e-16
#Menghitung nilai residu
res5<- modelM5$residuals
#ITERASI 6
#Menghitung sig
sig6<- median(abs(res5-median(res5)))/0.6745
#Menghitung nilai ui
u6<- vector()
for(i in 1:length(res5)){
u6[i]<- res5[i]/sig6
}
#Menghitung Pembobot
w5=weights(modelM5)
for (i in 1:70){
if((abs(u6[i]))>1.345){w5[i]=1.345/abs(u6[i])}
else w5[i]=1
}
modelM6 <- lm(Y~.,data=data, weights=w5)
summary(modelM6)
##
## Call:
## lm(formula = Y ~ ., data = data, weights = w5)
##
## Weighted Residuals:
## Min 1Q Median 3Q Max
## -2.56648 -0.83917 0.00204 1.21075 2.74453
##
## Coefficients:
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) 52.81622 3.60723 14.642 < 2e-16 ***
## X1 1.70083 0.30395 5.596 4.73e-07 ***
## X2 0.29634 0.13249 2.237 0.028736 *
## X3 0.07013 0.01856 3.778 0.000346 ***
## X4 0.75425 0.15235 4.951 5.53e-06 ***
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Residual standard error: 1.563 on 65 degrees of freedom
## Multiple R-squared: 0.8495, Adjusted R-squared: 0.8402
## F-statistic: 91.7 on 4 and 65 DF, p-value: < 2.2e-16
#Menghitung nilai residu
res6<- modelM6$residuals
#ITERASI 7
#Menghitung sig
sig7<- median(abs(res6-median(res6)))/0.6745
#Menghitung nilai ui
u7<- vector()
for(i in 1:length(res6)){
u7[i]<- res6[i]/sig7
}
#Menghitung Pembobot
w6=weights(modelM6)
for (i in 1:70){
if((abs(u7[i]))>1.345){w6[i]=1.345/abs(u7[i])}
else w6[i]=1
}
modelM7 <- lm(Y~.,data=data, weights=w6)
summary(modelM7)
##
## Call:
## lm(formula = Y ~ ., data = data, weights = w6)
##
## Weighted Residuals:
## Min 1Q Median 3Q Max
## -2.56464 -0.84058 0.00187 1.20958 2.74253
##
## Coefficients:
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) 52.80909 3.60529 14.648 < 2e-16 ***
## X1 1.70024 0.30381 5.596 4.72e-07 ***
## X2 0.29659 0.13242 2.240 0.028528 *
## X3 0.07013 0.01855 3.780 0.000343 ***
## X4 0.75440 0.15226 4.955 5.46e-06 ***
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Residual standard error: 1.562 on 65 degrees of freedom
## Multiple R-squared: 0.8496, Adjusted R-squared: 0.8404
## F-statistic: 91.8 on 4 and 65 DF, p-value: < 2.2e-16
#Menghitung nilai residu
res7<- modelM7$residuals
#ITERASI 8
#Menghitung sig
sig8<- median(abs(res7-median(res7)))/0.6745
#Menghitung nilai ui
u8<- vector()
for(i in 1:length(res7)){
u8[i]<- res7[i]/sig8
}
#Menghitung Pembobot
w7=weights(modelM7)
for (i in 1:70){
if((abs(u8[i]))>1.345){w7[i]=1.345/abs(u8[i])}
else w7[i]=1
}
modelM8 <- lm(Y~.,data=data, weights=w7)
summary(modelM8)
##
## Call:
## lm(formula = Y ~ ., data = data, weights = w7)
##
## Weighted Residuals:
## Min 1Q Median 3Q Max
## -2.56373 -0.84127 0.00179 1.20900 2.74155
##
## Coefficients:
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) 52.80553 3.60434 14.651 < 2e-16 ***
## X1 1.69996 0.30374 5.597 4.71e-07 ***
## X2 0.29671 0.13238 2.241 0.028425 *
## X3 0.07013 0.01855 3.781 0.000342 ***
## X4 0.75447 0.15222 4.956 5.42e-06 ***
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Residual standard error: 1.562 on 65 degrees of freedom
## Multiple R-squared: 0.8497, Adjusted R-squared: 0.8404
## F-statistic: 91.85 on 4 and 65 DF, p-value: < 2.2e-16
#Menghitung nilai residu
res8<- modelM8$residuals
#ITERASI 9
#Menghitung sig
sig9<- median(abs(res8-median(res8)))/0.6745
#Menghitung nilai ui
u9<- vector()
for(i in 1:length(res8)){
u9[i]<- res8[i]/sig9
}
#Menghitung Pembobot
w8=weights(modelM8)
for (i in 1:70){
if((abs(u9[i]))>1.345){w8[i]=1.345/abs(u9[i])}
else w8[i]=1
}
modelM9 <- lm(Y~.,data=data, weights=w8)
summary(modelM9)
##
## Call:
## lm(formula = Y ~ ., data = data, weights = w8)
##
## Weighted Residuals:
## Min 1Q Median 3Q Max
## -2.56327 -0.84161 0.00175 1.20871 2.74106
##
## Coefficients:
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) 52.80375 3.60387 14.652 < 2e-16 ***
## X1 1.69983 0.30370 5.597 4.71e-07 ***
## X2 0.29678 0.13237 2.242 0.028374 *
## X3 0.07013 0.01854 3.782 0.000341 ***
## X4 0.75451 0.15220 4.957 5.40e-06 ***
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Residual standard error: 1.561 on 65 degrees of freedom
## Multiple R-squared: 0.8497, Adjusted R-squared: 0.8405
## F-statistic: 91.87 on 4 and 65 DF, p-value: < 2.2e-16
#Menghitung nilai residu
res9<- modelM9$residuals
#ITERASI 10
#Menghitung sig
sig10<- median(abs(res9-median(res9)))/0.6745
#Menghitung nilai ui
u10<- vector()
for(i in 1:length(res9)){
u10[i]<- res9[i]/sig10
}
#Menghitung Pembobot
w9=weights(modelM9)
for (i in 1:70){
if((abs(u10[i]))>1.345){w9[i]=1.345/abs(u10[i])}
else w9[i]=1
}
modelM10 <- lm(Y~.,data=data, weights=w9)
summary(modelM10)
##
## Call:
## lm(formula = Y ~ ., data = data, weights = w9)
##
## Weighted Residuals:
## Min 1Q Median 3Q Max
## -2.56304 -0.84178 0.00172 1.20856 2.74082
##
## Coefficients:
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) 52.80286 3.60363 14.653 < 2e-16 ***
## X1 1.69976 0.30369 5.597 4.71e-07 ***
## X2 0.29681 0.13236 2.242 0.028348 *
## X3 0.07013 0.01854 3.782 0.000341 ***
## X4 0.75453 0.15219 4.958 5.39e-06 ***
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Residual standard error: 1.561 on 65 degrees of freedom
## Multiple R-squared: 0.8497, Adjusted R-squared: 0.8405
## F-statistic: 91.88 on 4 and 65 DF, p-value: < 2.2e-16
#Menghitung nilai residu
res10<- modelM10$residuals
#ITERASI 11
#Menghitung sig
sig11<- median(abs(res10-median(res10)))/0.6745
#Menghitung nilai ui
u11<- vector()
for(i in 1:length(res10)){
u11[i]<- res10[i]/sig11
}
#Menghitung Pembobot
w10=weights(modelM10)
for (i in 1:70){
if((abs(u11[i]))>1.345){w10[i]=1.345/abs(u11[i])}
else w10[i]=1
}
modelM11 <- lm(Y~.,data=data, weights=w10)
summary(modelM11)
##
## Call:
## lm(formula = Y ~ ., data = data, weights = w10)
##
## Weighted Residuals:
## Min 1Q Median 3Q Max
## -2.56293 -0.84187 0.00171 1.20849 2.74070
##
## Coefficients:
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) 52.80242 3.60351 14.653 < 2e-16 ***
## X1 1.69973 0.30368 5.597 4.71e-07 ***
## X2 0.29682 0.13235 2.243 0.028336 *
## X3 0.07013 0.01854 3.782 0.000341 ***
## X4 0.75454 0.15218 4.958 5.39e-06 ***
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Residual standard error: 1.561 on 65 degrees of freedom
## Multiple R-squared: 0.8497, Adjusted R-squared: 0.8405
## F-statistic: 91.89 on 4 and 65 DF, p-value: < 2.2e-16
#Menghitung nilai residu
res11<- modelM11$residuals
#ITERASI 12
#Menghitung sig
sig12<- median(abs(res11-median(res11)))/0.6745
#Menghitung nilai ui
u12<- vector()
for(i in 1:length(res11)){
u12[i]<- res11[i]/sig12
}
#Menghitung Pembobot
w11=weights(modelM11)
for (i in 1:70){
if((abs(u12[i]))>1.345){w11[i]=1.345/abs(u12[i])}
else w11[i]=1
}
modelM12 <- lm(Y~.,data=data, weights=w11)
summary(modelM12)
##
## Call:
## lm(formula = Y ~ ., data = data, weights = w11)
##
## Weighted Residuals:
## Min 1Q Median 3Q Max
## -2.56288 -0.84191 0.00171 1.20846 2.74064
##
## Coefficients:
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) 52.80220 3.60345 14.653 < 2e-16 ***
## X1 1.69971 0.30367 5.597 4.71e-07 ***
## X2 0.29683 0.13235 2.243 0.028329 *
## X3 0.07013 0.01854 3.782 0.000341 ***
## X4 0.75454 0.15218 4.958 5.39e-06 ***
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Residual standard error: 1.561 on 65 degrees of freedom
## Multiple R-squared: 0.8497, Adjusted R-squared: 0.8405
## F-statistic: 91.89 on 4 and 65 DF, p-value: < 2.2e-16
#Menghitung nilai residu
res12<- modelM12$residuals
#ITERASI 13
#Menghitung sig
sig13<- median(abs(res12-median(res12)))/0.6745
#Menghitung nilai ui
u13<- vector()
for(i in 1:length(res12)){
u13[i]<- res12[i]/sig13
}
#Menghitung Pembobot
w12=weights(modelM12)
for (i in 1:70){
if((abs(u13[i]))>1.345){w12[i]=1.345/abs(u13[i])}
else w12[i]=1
}
modelM13 <- lm(Y~.,data=data, weights=w12)
summary(modelM13)
##
## Call:
## lm(formula = Y ~ ., data = data, weights = w12)
##
## Weighted Residuals:
## Min 1Q Median 3Q Max
## -2.56285 -0.84193 0.00171 1.20844 2.74061
##
## Coefficients:
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) 52.80209 3.60343 14.653 < 2e-16 ***
## X1 1.69970 0.30367 5.597 4.71e-07 ***
## X2 0.29683 0.13235 2.243 0.028326 *
## X3 0.07013 0.01854 3.782 0.000341 ***
## X4 0.75454 0.15218 4.958 5.38e-06 ***
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Residual standard error: 1.561 on 65 degrees of freedom
## Multiple R-squared: 0.8497, Adjusted R-squared: 0.8405
## F-statistic: 91.89 on 4 and 65 DF, p-value: < 2.2e-16
#Menghitung nilai residu
res13<- modelM13$residuals
#ITERASI 14
#Menghitung sig
sig14<- median(abs(res13-median(res13)))/0.6745
#Menghitung nilai ui
u14<- vector()
for(i in 1:length(res13)){
u14[i]<- res13[i]/sig14
}
#Menghitung Pembobot
w13=weights(modelM13)
for (i in 1:70){
if((abs(u14[i]))>1.345){w13[i]=1.345/abs(u14[i])}
else w13[i]=1
}
modelM14 <- lm(Y~.,data=data, weights=w13)
summary(modelM14)
##
## Call:
## lm(formula = Y ~ ., data = data, weights = w13)
##
## Weighted Residuals:
## Min 1Q Median 3Q Max
## -2.56283 -0.84194 0.00171 1.20843 2.74060
##
## Coefficients:
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) 52.80204 3.60341 14.653 < 2e-16 ***
## X1 1.69970 0.30367 5.597 4.71e-07 ***
## X2 0.29683 0.13235 2.243 0.028325 *
## X3 0.07013 0.01854 3.782 0.000341 ***
## X4 0.75454 0.15218 4.958 5.38e-06 ***
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Residual standard error: 1.561 on 65 degrees of freedom
## Multiple R-squared: 0.8497, Adjusted R-squared: 0.8405
## F-statistic: 91.89 on 4 and 65 DF, p-value: < 2.2e-16
#Menghitung nilai residu
res14<- modelM14$residuals
#ITERASI 15
#Menghitung sig
sig15<- median(abs(res14-median(res14)))/0.6745
#Menghitung nilai ui
u15<- vector()
for(i in 1:length(res14)){
u15[i]<- res14[i]/sig15
}
#Menghitung Pembobot
w14=weights(modelM14)
for (i in 1:70){
if((abs(u15[i]))>1.345){w14[i]=1.345/abs(u15[i])}
else w14[i]=1
}
modelM15 <- lm(Y~.,data=data, weights=w14)
summary(modelM15)
##
## Call:
## lm(formula = Y ~ ., data = data, weights = w14)
##
## Weighted Residuals:
## Min 1Q Median 3Q Max
## -2.56283 -0.84195 0.00171 1.20843 2.74059
##
## Coefficients:
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) 52.80201 3.60340 14.653 < 2e-16 ***
## X1 1.69969 0.30367 5.597 4.71e-07 ***
## X2 0.29684 0.13235 2.243 0.028324 *
## X3 0.07013 0.01854 3.782 0.000341 ***
## X4 0.75454 0.15218 4.958 5.38e-06 ***
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Residual standard error: 1.561 on 65 degrees of freedom
## Multiple R-squared: 0.8497, Adjusted R-squared: 0.8405
## F-statistic: 91.89 on 4 and 65 DF, p-value: < 2.2e-16
#Menghitung nilai residu
res15<- modelM15$residuals
#ITERASI 16
#Menghitung sig
sig16<- median(abs(res15-median(res15)))/0.6745
#Menghitung nilai ui
u16<- vector()
for(i in 1:length(res15)){
u16[i]<- res15[i]/sig16
}
#Menghitung Pembobot
w15=weights(modelM15)
for (i in 1:70){
if((abs(u16[i]))>1.345){w15[i]=1.345/abs(u16[i])}
else w15[i]=1
}
modelM16 <- lm(Y~.,data=data, weights=w15)
summary(modelM16)
##
## Call:
## lm(formula = Y ~ ., data = data, weights = w15)
##
## Weighted Residuals:
## Min 1Q Median 3Q Max
## -2.56282 -0.84195 0.00171 1.20842 2.74058
##
## Coefficients:
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) 52.80200 3.60340 14.653 < 2e-16 ***
## X1 1.69969 0.30367 5.597 4.71e-07 ***
## X2 0.29684 0.13235 2.243 0.028323 *
## X3 0.07013 0.01854 3.782 0.000341 ***
## X4 0.75454 0.15218 4.958 5.38e-06 ***
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Residual standard error: 1.561 on 65 degrees of freedom
## Multiple R-squared: 0.8497, Adjusted R-squared: 0.8405
## F-statistic: 91.9 on 4 and 65 DF, p-value: < 2.2e-16
#Menghitung nilai residu
res16<- modelM16$residuals
#ITERASI 17
#Menghitung sig
sig17<- median(abs(res16-median(res16)))/0.6745
#Menghitung nilai ui
u17<- vector()
for(i in 1:length(res16)){
u17[i]<- res16[i]/sig17
}
#Menghitung Pembobot
w16=weights(modelM16)
for (i in 1:70){
if((abs(u17[i]))>1.345){w16[i]=1.345/abs(u17[i])}
else w16[i]=1
}
modelM17 <- lm(Y~.,data=data, weights=w16)
summary(modelM17)
##
## Call:
## lm(formula = Y ~ ., data = data, weights = w16)
##
## Weighted Residuals:
## Min 1Q Median 3Q Max
## -2.5628 -0.8419 0.0017 1.2084 2.7406
##
## Coefficients:
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) 52.80199 3.60340 14.653 < 2e-16 ***
## X1 1.69969 0.30367 5.597 4.71e-07 ***
## X2 0.29684 0.13235 2.243 0.028323 *
## X3 0.07013 0.01854 3.782 0.000341 ***
## X4 0.75454 0.15218 4.958 5.38e-06 ***
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Residual standard error: 1.561 on 65 degrees of freedom
## Multiple R-squared: 0.8497, Adjusted R-squared: 0.8405
## F-statistic: 91.9 on 4 and 65 DF, p-value: < 2.2e-16
#Menghitung nilai residu
res17<- modelM17$residuals
#ITERASI 18
#Menghitung sig
sig18<- median(abs(res17-median(res17)))/0.6745
#Menghitung nilai ui
u18<- vector()
for(i in 1:length(res17)){
u18[i]<- res17[i]/sig18
}
#Menghitung Pembobot
w17=weights(modelM17)
for (i in 1:70){
if((abs(u18[i]))>1.345){w17[i]=1.345/abs(u18[i])}
else w17[i]=1
}
modelM18 <- lm(Y~.,data=data, weights=w17)
summary(modelM18)
##
## Call:
## lm(formula = Y ~ ., data = data, weights = w17)
##
## Weighted Residuals:
## Min 1Q Median 3Q Max
## -2.5628 -0.8419 0.0017 1.2084 2.7406
##
## Coefficients:
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) 52.80199 3.60340 14.653 < 2e-16 ***
## X1 1.69969 0.30367 5.597 4.71e-07 ***
## X2 0.29684 0.13235 2.243 0.028323 *
## X3 0.07013 0.01854 3.782 0.000341 ***
## X4 0.75454 0.15218 4.958 5.38e-06 ***
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Residual standard error: 1.561 on 65 degrees of freedom
## Multiple R-squared: 0.8497, Adjusted R-squared: 0.8405
## F-statistic: 91.9 on 4 and 65 DF, p-value: < 2.2e-16
Dapat dilihat nilai estimasi pada iterasi 17 dan 18 nilainya sudah sama, yang berarti sudah konvergen.
Iterasi dilakukan sampai konvergen
#ITERASI 1
#menghitung selisih antar galat
res1 <- modelM18$residuals
a <- vector()
for(i in 1:(length(res1)-1)){
a[i] <- res1[i]-res1[i+1]
}
#menghitung sigma_GS
sig_gs1 <- median(abs(a-median(a)))/0.6745
#menghitung ui
u1 <- vector()
for(i in 1:length(res1)){
u1[i] <- res1[i]/sig_gs1
}
#pembobotan tukey bisquare
c <- 0.9958 #berdasarkan saran dari Croux et al
w1 <- vector()
for(i in 1:length(u1)){
if(abs(u1[i]) <= c){
w1[i] = (1-(u1[i]/0.9958)^2)^2
}
else w1[i] = 0
}
modelGS1 <- lm(Y~ X1+X2+X3+X4, data=data, weights=w1)
summary(modelGS1)
##
## Call:
## lm(formula = Y ~ X1 + X2 + X3 + X4, data = data, weights = w1)
##
## Weighted Residuals:
## Min 1Q Median 3Q Max
## -1.1464 -0.3800 0.0000 0.3705 0.9552
##
## Coefficients:
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) 50.292232 1.813329 27.735 < 2e-16 ***
## X1 1.494602 0.143222 10.436 9.53e-15 ***
## X2 0.384607 0.067105 5.731 4.14e-07 ***
## X3 0.067959 0.008529 7.968 8.73e-11 ***
## X4 0.825132 0.069494 11.873 < 2e-16 ***
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Residual standard error: 0.6338 on 56 degrees of freedom
## Multiple R-squared: 0.9684, Adjusted R-squared: 0.9661
## F-statistic: 429.1 on 4 and 56 DF, p-value: < 2.2e-16
#ITERASI 2
#menghitung selisih antar galat
res2 <- modelGS1$residuals
a <- vector()
for(i in 1:(length(res2)-1)){
a[i] <- res2[i]-res2[i+1]
}
#menghitung sigma_GS
sig_gs2 <- median(abs(a-median(a)))/0.6745
#menghitung ui
u2 <- vector()
for(i in 1:length(res2)){
u2[i] <- res2[i]/sig_gs2
}
#pembobotan tukey bisquare
c <- 0.9958 #berdasarkan saran dari Croux et al
w2 <- vector()
for(i in 1:length(u2)){
if(abs(u2[i]) <= c){
w2[i] = (1-(u2[i]/0.9958)^2)^2
}
else w2[i] = 0
}
modelGS2 <- lm(Y~ X1+X2+X3+X4, data=data, weights=w2)
summary(modelGS2)
##
## Call:
## lm(formula = Y ~ X1 + X2 + X3 + X4, data = data, weights = w2)
##
## Weighted Residuals:
## Min 1Q Median 3Q Max
## -1.1515 -0.2021 0.0000 0.2537 0.8661
##
## Coefficients:
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) 48.437000 1.639494 29.544 < 2e-16 ***
## X1 1.427576 0.138109 10.337 6.63e-14 ***
## X2 0.453972 0.061242 7.413 1.53e-09 ***
## X3 0.068790 0.007843 8.771 1.30e-11 ***
## X4 0.836745 0.064540 12.965 < 2e-16 ***
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Residual standard error: 0.6008 on 49 degrees of freedom
## Multiple R-squared: 0.9767, Adjusted R-squared: 0.9748
## F-statistic: 513.2 on 4 and 49 DF, p-value: < 2.2e-16
#ITERASI 3
#menghitung selisih antar galat
res3 <- modelGS2$residuals
a <- vector()
for(i in 1:(length(res3)-1)){
a[i] <- res3[i]-res3[i+1]
}
#menghitung sigma_GS
sig_gs3 <- median(abs(a-median(a)))/0.6745
#menghitung ui
u3 <- vector()
for(i in 1:length(res3)){
u3[i] <- res3[i]/sig_gs3
}
#pembobotan tukey bisquare
c <- 0.9958 #berdasarkan saran dari Croux et al
w3 <- vector()
for(i in 1:length(u3)){
if(abs(u3[i]) <= c){
w3[i] = (1-(u3[i]/0.9958)^2)^2
}
else w3[i] = 0
}
modelGS3 <- lm(Y~ X1+X2+X3+X4, data=data, weights=w3)
summary(modelGS3)
##
## Call:
## lm(formula = Y ~ X1 + X2 + X3 + X4, data = data, weights = w3)
##
## Weighted Residuals:
## Min 1Q Median 3Q Max
## -1.1160 -0.1917 0.0000 0.1796 0.8371
##
## Coefficients:
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) 47.243138 1.512476 31.236 < 2e-16 ***
## X1 1.363363 0.134563 10.132 1.65e-13 ***
## X2 0.495481 0.056599 8.754 1.64e-11 ***
## X3 0.070254 0.007335 9.578 1.02e-12 ***
## X4 0.849377 0.061399 13.834 < 2e-16 ***
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Residual standard error: 0.5761 on 48 degrees of freedom
## Multiple R-squared: 0.9797, Adjusted R-squared: 0.978
## F-statistic: 579.4 on 4 and 48 DF, p-value: < 2.2e-16
#ITERASI 4
#menghitung selisih antar galat
res4 <- modelGS3$residuals
a <- vector()
for(i in 1:(length(res4)-1)){
a[i] <- res4[i]-res4[i+1]
}
#menghitung sigma_GS
sig_gs4 <- median(abs(a-median(a)))/0.6745
#menghitung ui
u4 <- vector()
for(i in 1:length(res4)){
u4[i] <- res4[i]/sig_gs4
}
#pembobotan tukey bisquare
c <- 0.9958 #berdasarkan saran dari Croux et al
w4 <- vector()
for(i in 1:length(u4)){
if(abs(u4[i]) <= c){
w4[i] = (1-(u4[i]/0.9958)^2)^2
}
else w4[i] = 0
}
modelGS4 <- lm(Y~ X1+X2+X3+X4, data=data, weights=w4)
summary(modelGS4)
##
## Call:
## lm(formula = Y ~ X1 + X2 + X3 + X4, data = data, weights = w4)
##
## Weighted Residuals:
## Min 1Q Median 3Q Max
## -1.0886 -0.2180 0.0000 0.1458 0.8708
##
## Coefficients:
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) 46.551545 1.420143 32.779 < 2e-16 ***
## X1 1.299273 0.130701 9.941 3.08e-13 ***
## X2 0.517661 0.053151 9.740 5.97e-13 ***
## X3 0.071137 0.006959 10.222 1.23e-13 ***
## X4 0.866793 0.058877 14.722 < 2e-16 ***
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Residual standard error: 0.5519 on 48 degrees of freedom
## Multiple R-squared: 0.9818, Adjusted R-squared: 0.9803
## F-statistic: 646.9 on 4 and 48 DF, p-value: < 2.2e-16
#ITERASI 5
#menghitung selisih antar galat
res5 <- modelGS4$residuals
a <- vector()
for(i in 1:(length(res5)-1)){
a[i] <- res5[i]-res5[i+1]
}
#menghitung sigma_GS
sig_gs5 <- median(abs(a-median(a)))/0.6745
#menghitung ui
u5 <- vector()
for(i in 1:length(res5)){
u5[i] <- res5[i]/sig_gs5
}
#pembobotan tukey bisquare
c <- 0.9958 #berdasarkan saran dari Croux et al
w5 <- vector()
for(i in 1:length(u5)){
if(abs(u5[i]) <= c){
w5[i] = (1-(u5[i]/0.9958)^2)^2
}
else w5[i] = 0
}
modelGS5 <- lm(Y~ X1+X2+X3+X4, data=data, weights=w5)
summary(modelGS5)
##
## Call:
## lm(formula = Y ~ X1 + X2 + X3 + X4, data = data, weights = w5)
##
## Weighted Residuals:
## Min 1Q Median 3Q Max
## -1.0377 -0.2115 0.0000 0.1520 0.9062
##
## Coefficients:
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) 46.174345 1.364229 33.846 < 2e-16 ***
## X1 1.250264 0.127987 9.769 4.35e-13 ***
## X2 0.528982 0.051046 10.363 6.08e-14 ***
## X3 0.071595 0.006724 10.647 2.41e-14 ***
## X4 0.881254 0.057272 15.387 < 2e-16 ***
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Residual standard error: 0.5356 on 49 degrees of freedom
## Multiple R-squared: 0.9828, Adjusted R-squared: 0.9813
## F-statistic: 698 on 4 and 49 DF, p-value: < 2.2e-16
#ITERASI 6
#menghitung selisih antar galat
res6 <- modelGS5$residuals
a <- vector()
for(i in 1:(length(res6)-1)){
a[i] <- res6[i]-res6[i+1]
}
#menghitung sigma_GS
sig_gs6 <- median(abs(a-median(a)))/0.6745
#menghitung ui
u6 <- vector()
for(i in 1:length(res6)){
u6[i] <- res6[i]/sig_gs6
}
#pembobotan tukey bisquare
c <- 0.9958 #berdasarkan saran dari Croux et al
w6 <- vector()
for(i in 1:length(u6)){
if(abs(u6[i]) <= c){
w6[i] = (1-(u6[i]/0.9958)^2)^2
}
else w6[i] = 0
}
modelGS6 <- lm(Y~ X1+X2+X3+X4, data=data, weights=w6)
summary(modelGS6)
##
## Call:
## lm(formula = Y ~ X1 + X2 + X3 + X4, data = data, weights = w6)
##
## Weighted Residuals:
## Min 1Q Median 3Q Max
## -1.0263 -0.2308 0.0000 0.1282 0.9387
##
## Coefficients:
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) 46.001506 1.394587 32.986 < 2e-16 ***
## X1 1.229710 0.131894 9.323 1.95e-12 ***
## X2 0.534199 0.052170 10.240 9.12e-14 ***
## X3 0.071849 0.006902 10.409 5.23e-14 ***
## X4 0.887154 0.058936 15.053 < 2e-16 ***
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Residual standard error: 0.5516 on 49 degrees of freedom
## Multiple R-squared: 0.9819, Adjusted R-squared: 0.9805
## F-statistic: 665.6 on 4 and 49 DF, p-value: < 2.2e-16
#ITERASI 7
#menghitung selisih antar galat
res7 <- modelGS6$residuals
a <- vector()
for(i in 1:(length(res7)-1)){
a[i] <- res7[i]-res7[i+1]
}
#menghitung sigma_GS
sig_gs7 <- median(abs(a-median(a)))/0.6745
#menghitung ui
u7 <- vector()
for(i in 1:length(res7)){
u7[i] <- res7[i]/sig_gs7
}
#pembobotan tukey bisquare
c <- 0.9958 #berdasarkan saran dari Croux et al
w7 <- vector()
for(i in 1:length(u7)){
if(abs(u7[i]) <= c){
w7[i] = (1-(u7[i]/0.9958)^2)^2
}
else w7[i] = 0
}
modelGS7 <- lm(Y~ X1+X2+X3+X4, data=data, weights=w7)
summary(modelGS7)
##
## Call:
## lm(formula = Y ~ X1 + X2 + X3 + X4, data = data, weights = w7)
##
## Weighted Residuals:
## Min 1Q Median 3Q Max
## -1.0359 -0.2854 0.0000 0.1210 0.9882
##
## Coefficients:
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) 45.946139 1.433941 32.042 < 2e-16 ***
## X1 1.226427 0.135895 9.025 5.41e-12 ***
## X2 0.535970 0.053634 9.993 2.06e-13 ***
## X3 0.071979 0.007114 10.118 1.36e-13 ***
## X4 0.887740 0.060760 14.611 < 2e-16 ***
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Residual standard error: 0.5695 on 49 degrees of freedom
## Multiple R-squared: 0.9809, Adjusted R-squared: 0.9793
## F-statistic: 628 on 4 and 49 DF, p-value: < 2.2e-16
#ITERASI 8
#menghitung selisih antar galat
res8 <- modelGS7$residuals
a <- vector()
for(i in 1:(length(res8)-1)){
a[i] <- res8[i]-res8[i+1]
}
#menghitung sigma_GS
sig_gs8 <- median(abs(a-median(a)))/0.6745
#menghitung ui
u8 <- vector()
for(i in 1:length(res8)){
u8[i] <- res8[i]/sig_gs8
}
#pembobotan tukey bisquare
c <- 0.9958 #berdasarkan saran dari Croux et al
w8 <- vector()
for(i in 1:length(u8)){
if(abs(u8[i]) <= c){
w8[i] = (1-(u8[i]/0.9958)^2)^2
}
else w8[i] = 0
}
modelGS8 <- lm(Y~ X1+X2+X3+X4, data=data, weights=w8)
summary(modelGS8)
##
## Call:
## lm(formula = Y ~ X1 + X2 + X3 + X4, data = data, weights = w8)
##
## Weighted Residuals:
## Min 1Q Median 3Q Max
## -1.0398 -0.3069 0.0000 0.1192 1.0126
##
## Coefficients:
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) 45.931140 1.445702 31.771 < 2e-16 ***
## X1 1.226575 0.137063 8.949 7.02e-12 ***
## X2 0.536487 0.054070 9.922 2.61e-13 ***
## X3 0.072022 0.007177 10.035 1.79e-13 ***
## X4 0.887542 0.061301 14.479 < 2e-16 ***
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Residual standard error: 0.5747 on 49 degrees of freedom
## Multiple R-squared: 0.9805, Adjusted R-squared: 0.979
## F-statistic: 617.4 on 4 and 49 DF, p-value: < 2.2e-16
#ITERASI 9
#menghitung selisih antar galat
res9 <- modelGS8$residuals
a <- vector()
for(i in 1:(length(res9)-1)){
a[i] <- res9[i]-res9[i+1]
}
#menghitung sigma_GS
sig_gs9 <- median(abs(a-median(a)))/0.6745
#menghitung ui
u9 <- vector()
for(i in 1:length(res9)){
u9[i] <- res9[i]/sig_gs9
}
#pembobotan tukey bisquare
c <- 0.9958 #berdasarkan saran dari Croux et al
w9 <- vector()
for(i in 1:length(u9)){
if(abs(u9[i]) <= c){
w9[i] = (1-(u9[i]/0.9958)^2)^2
}
else w9[i] = 0
}
modelGS9 <- lm(Y~ X1+X2+X3+X4, data=data, weights=w9)
summary(modelGS9)
##
## Call:
## lm(formula = Y ~ X1 + X2 + X3 + X4, data = data, weights = w9)
##
## Weighted Residuals:
## Min 1Q Median 3Q Max
## -1.0412 -0.3109 0.0000 0.1188 1.0179
##
## Coefficients:
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) 45.927728 1.448570 31.706 < 2e-16 ***
## X1 1.226988 0.137339 8.934 7.40e-12 ***
## X2 0.536619 0.054177 9.905 2.76e-13 ***
## X3 0.072034 0.007192 10.016 1.91e-13 ***
## X4 0.887375 0.061431 14.445 < 2e-16 ***
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Residual standard error: 0.576 on 49 degrees of freedom
## Multiple R-squared: 0.9805, Adjusted R-squared: 0.9789
## F-statistic: 614.9 on 4 and 49 DF, p-value: < 2.2e-16
#ITERASI 10
#menghitung selisih antar galat
res10 <- modelGS9$residuals
a <- vector()
for(i in 1:(length(res10)-1)){
a[i] <- res10[i]-res10[i+1]
}
#menghitung sigma_GS
sig_gs10 <- median(abs(a-median(a)))/0.6745
#menghitung ui
u10 <- vector()
for(i in 1:length(res10)){
u10[i] <- res10[i]/sig_gs10
}
#pembobotan tukey bisquare
c <- 0.9958 #berdasarkan saran dari Croux et al
w10 <- vector()
for(i in 1:length(u10)){
if(abs(u10[i]) <= c){
w10[i] = (1-(u10[i]/0.9958)^2)^2
}
else w10[i] = 0
}
modelGS10 <- lm(Y~ X1+X2+X3+X4, data=data, weights=w10)
summary(modelGS10)
##
## Call:
## lm(formula = Y ~ X1 + X2 + X3 + X4, data = data, weights = w10)
##
## Weighted Residuals:
## Min 1Q Median 3Q Max
## -1.0416 -0.3112 0.0000 0.1188 1.0188
##
## Coefficients:
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) 45.927131 1.449119 31.693 < 2e-16 ***
## X1 1.227219 0.137389 8.932 7.44e-12 ***
## X2 0.536648 0.054197 9.902 2.79e-13 ***
## X3 0.072036 0.007195 10.012 1.94e-13 ***
## X4 0.887297 0.061455 14.438 < 2e-16 ***
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Residual standard error: 0.5762 on 49 degrees of freedom
## Multiple R-squared: 0.9805, Adjusted R-squared: 0.9789
## F-statistic: 614.4 on 4 and 49 DF, p-value: < 2.2e-16
#ITERASI 11
#menghitung selisih antar galat
res11 <- modelGS10$residuals
a <- vector()
for(i in 1:(length(res11)-1)){
a[i] <- res11[i]-res11[i+1]
}
#menghitung sigma_GS
sig_gs11 <- median(abs(a-median(a)))/0.6745
#menghitung ui
u11 <- vector()
for(i in 1:length(res11)){
u11[i] <- res11[i]/sig_gs11
}
#pembobotan tukey bisquare
c <- 0.9958 #berdasarkan saran dari Croux et al
w11 <- vector()
for(i in 1:length(u11)){
if(abs(u11[i]) <= c){
w11[i] = (1-(u11[i]/0.9958)^2)^2
}
else w11[i] = 0
}
modelGS11 <- lm(Y~ X1+X2+X3+X4, data=data, weights=w11)
summary(modelGS11)
##
## Call:
## lm(formula = Y ~ X1 + X2 + X3 + X4, data = data, weights = w11)
##
## Weighted Residuals:
## Min 1Q Median 3Q Max
## -1.0417 -0.3110 0.0000 0.1188 1.0188
##
## Coefficients:
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) 45.927096 1.449172 31.692 < 2e-16 ***
## X1 1.227317 0.137392 8.933 7.42e-12 ***
## X2 0.536653 0.054199 9.901 2.79e-13 ***
## X3 0.072037 0.007195 10.011 1.94e-13 ***
## X4 0.887266 0.061457 14.437 < 2e-16 ***
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Residual standard error: 0.5762 on 49 degrees of freedom
## Multiple R-squared: 0.9804, Adjusted R-squared: 0.9789
## F-statistic: 614.3 on 4 and 49 DF, p-value: < 2.2e-16
#ITERASI 12
#menghitung selisih antar galat
res12 <- modelGS11$residuals
a <- vector()
for(i in 1:(length(res12)-1)){
a[i] <- res12[i]-res12[i+1]
}
#menghitung sigma_GS
sig_gs12 <- median(abs(a-median(a)))/0.6745
#menghitung ui
u12 <- vector()
for(i in 1:length(res12)){
u12[i] <- res12[i]/sig_gs12
}
#pembobotan tukey bisquare
c <- 0.9958 #berdasarkan saran dari Croux et al
w12 <- vector()
for(i in 1:length(u12)){
if(abs(u12[i]) <= c){
w12[i] = (1-(u12[i]/0.9958)^2)^2
}
else w12[i] = 0
}
modelGS12 <- lm(Y~ X1+X2+X3+X4, data=data, weights=w12)
summary(modelGS12)
##
## Call:
## lm(formula = Y ~ X1 + X2 + X3 + X4, data = data, weights = w12)
##
## Weighted Residuals:
## Min 1Q Median 3Q Max
## -1.0417 -0.3108 0.0000 0.1188 1.0187
##
## Coefficients:
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) 45.927131 1.449153 31.692 < 2e-16 ***
## X1 1.227353 0.137389 8.933 7.41e-12 ***
## X2 0.536653 0.054199 9.902 2.79e-13 ***
## X3 0.072037 0.007195 10.012 1.94e-13 ***
## X4 0.887256 0.061456 14.437 < 2e-16 ***
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Residual standard error: 0.5762 on 49 degrees of freedom
## Multiple R-squared: 0.9804, Adjusted R-squared: 0.9789
## F-statistic: 614.3 on 4 and 49 DF, p-value: < 2.2e-16
#ITERASI 13
#menghitung selisih antar galat
res13 <- modelGS12$residuals
a <- vector()
for(i in 1:(length(res13)-1)){
a[i] <- res13[i]-res13[i+1]
}
#menghitung sigma_GS
sig_gs13 <- median(abs(a-median(a)))/0.6745
#menghitung ui
u13 <- vector()
for(i in 1:length(res13)){
u13[i] <- res13[i]/sig_gs13
}
#pembobotan tukey bisquare
c <- 0.9958 #berdasarkan saran dari Croux et al
w13 <- vector()
for(i in 1:length(u13)){
if(abs(u13[i]) <= c){
w13[i] = (1-(u13[i]/0.9958)^2)^2
}
else w13[i] = 0
}
modelGS13 <- lm(Y~ X1+X2+X3+X4, data=data, weights=w13)
summary(modelGS13)
##
## Call:
## lm(formula = Y ~ X1 + X2 + X3 + X4, data = data, weights = w13)
##
## Weighted Residuals:
## Min 1Q Median 3Q Max
## -1.0417 -0.3107 0.0000 0.1188 1.0187
##
## Coefficients:
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) 45.927155 1.449137 31.693 < 2e-16 ***
## X1 1.227365 0.137387 8.934 7.41e-12 ***
## X2 0.536653 0.054198 9.902 2.79e-13 ***
## X3 0.072037 0.007195 10.012 1.94e-13 ***
## X4 0.887252 0.061455 14.437 < 2e-16 ***
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Residual standard error: 0.5762 on 49 degrees of freedom
## Multiple R-squared: 0.9804, Adjusted R-squared: 0.9789
## F-statistic: 614.3 on 4 and 49 DF, p-value: < 2.2e-16
#ITERASI 14
#menghitung selisih antar galat
res14 <- modelGS13$residuals
a <- vector()
for(i in 1:(length(res14)-1)){
a[i] <- res14[i]-res14[i+1]
}
#menghitung sigma_GS
sig_gs14 <- median(abs(a-median(a)))/0.6745
#menghitung ui
u14 <- vector()
for(i in 1:length(res14)){
u14[i] <- res14[i]/sig_gs14
}
#pembobotan tukey bisquare
c <- 0.9958 #berdasarkan saran dari Croux et al
w14 <- vector()
for(i in 1:length(u14)){
if(abs(u14[i]) <= c){
w14[i] = (1-(u14[i]/0.9958)^2)^2
}
else w14[i] = 0
}
modelGS14 <- lm(Y~ X1+X2+X3+X4, data=data, weights=w14)
summary(modelGS14)
##
## Call:
## lm(formula = Y ~ X1 + X2 + X3 + X4, data = data, weights = w14)
##
## Weighted Residuals:
## Min 1Q Median 3Q Max
## -1.0417 -0.3107 0.0000 0.1188 1.0187
##
## Coefficients:
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) 45.927165 1.449129 31.693 < 2e-16 ***
## X1 1.227369 0.137386 8.934 7.40e-12 ***
## X2 0.536653 0.054198 9.902 2.79e-13 ***
## X3 0.072037 0.007195 10.012 1.94e-13 ***
## X4 0.887251 0.061455 14.438 < 2e-16 ***
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Residual standard error: 0.5762 on 49 degrees of freedom
## Multiple R-squared: 0.9805, Adjusted R-squared: 0.9789
## F-statistic: 614.4 on 4 and 49 DF, p-value: < 2.2e-16
#ITERASI 15
#menghitung selisih antar galat
res15 <- modelGS14$residuals
a <- vector()
for(i in 1:(length(res15)-1)){
a[i] <- res15[i]-res15[i+1]
}
#menghitung sigma_GS
sig_gs15 <- median(abs(a-median(a)))/0.6745
#menghitung ui
u15 <- vector()
for(i in 1:length(res15)){
u15[i] <- res15[i]/sig_gs15
}
#pembobotan tukey bisquare
c <- 0.9958 #berdasarkan saran dari Croux et al
w15 <- vector()
for(i in 1:length(u15)){
if(abs(u15[i]) <= c){
w15[i] = (1-(u15[i]/0.9958)^2)^2
}
else w15[i] = 0
}
modelGS15 <- lm(Y~ X1+X2+X3+X4, data=data, weights=w15)
summary(modelGS15)
##
## Call:
## lm(formula = Y ~ X1 + X2 + X3 + X4, data = data, weights = w15)
##
## Weighted Residuals:
## Min 1Q Median 3Q Max
## -1.0417 -0.3107 0.0000 0.1188 1.0187
##
## Coefficients:
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) 45.927169 1.449126 31.693 < 2e-16 ***
## X1 1.227370 0.137386 8.934 7.40e-12 ***
## X2 0.536652 0.054198 9.902 2.79e-13 ***
## X3 0.072037 0.007195 10.012 1.94e-13 ***
## X4 0.887251 0.061454 14.438 < 2e-16 ***
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Residual standard error: 0.5762 on 49 degrees of freedom
## Multiple R-squared: 0.9805, Adjusted R-squared: 0.9789
## F-statistic: 614.4 on 4 and 49 DF, p-value: < 2.2e-16
#ITERASI 16
#menghitung selisih antar galat
res16 <- modelGS15$residuals
a <- vector()
for(i in 1:(length(res16)-1)){
a[i] <- res16[i]-res16[i+1]
}
#menghitung sigma_GS
sig_gs16 <- median(abs(a-median(a)))/0.6745
#menghitung ui
u16 <- vector()
for(i in 1:length(res16)){
u16[i] <- res16[i]/sig_gs16
}
#pembobotan tukey bisquare
c <- 0.9958 #berdasarkan saran dari Croux et al
w16 <- vector()
for(i in 1:length(u16)){
if(abs(u16[i]) <= c){
w16[i] = (1-(u16[i]/0.9958)^2)^2
}
else w16[i] = 0
}
modelGS16 <- lm(Y~ X1+X2+X3+X4, data=data, weights=w16)
summary(modelGS16)
##
## Call:
## lm(formula = Y ~ X1 + X2 + X3 + X4, data = data, weights = w16)
##
## Weighted Residuals:
## Min 1Q Median 3Q Max
## -1.0417 -0.3107 0.0000 0.1188 1.0187
##
## Coefficients:
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) 45.927171 1.449125 31.693 < 2e-16 ***
## X1 1.227370 0.137386 8.934 7.40e-12 ***
## X2 0.536652 0.054198 9.902 2.79e-13 ***
## X3 0.072037 0.007195 10.012 1.94e-13 ***
## X4 0.887251 0.061454 14.438 < 2e-16 ***
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Residual standard error: 0.5762 on 49 degrees of freedom
## Multiple R-squared: 0.9805, Adjusted R-squared: 0.9789
## F-statistic: 614.4 on 4 and 49 DF, p-value: < 2.2e-16
#ITERASI 17
#menghitung selisih antar galat
res17 <- modelGS16$residuals
a <- vector()
for(i in 1:(length(res17)-1)){
a[i] <- res17[i]-res17[i+1]
}
#menghitung sigma_GS
sig_gs17 <- median(abs(a-median(a)))/0.6745
#menghitung ui
u17 <- vector()
for(i in 1:length(res17)){
u17[i] <- res17[i]/sig_gs17
}
#pembobotan tukey bisquare
c <- 0.9958 #berdasarkan saran dari Croux et al
w17 <- vector()
for(i in 1:length(u17)){
if(abs(u17[i]) <= c){
w17[i] = (1-(u17[i]/0.9958)^2)^2
}
else w17[i] = 0
}
modelGS17 <- lm(Y~ X1+X2+X3+X4, data=data, weights=w17)
summary(modelGS17)
##
## Call:
## lm(formula = Y ~ X1 + X2 + X3 + X4, data = data, weights = w17)
##
## Weighted Residuals:
## Min 1Q Median 3Q Max
## -1.0417 -0.3107 0.0000 0.1188 1.0187
##
## Coefficients:
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) 45.927171 1.449125 31.693 < 2e-16 ***
## X1 1.227370 0.137386 8.934 7.40e-12 ***
## X2 0.536652 0.054198 9.902 2.79e-13 ***
## X3 0.072037 0.007195 10.012 1.94e-13 ***
## X4 0.887251 0.061454 14.438 < 2e-16 ***
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Residual standard error: 0.5762 on 49 degrees of freedom
## Multiple R-squared: 0.9805, Adjusted R-squared: 0.9789
## F-statistic: 614.4 on 4 and 49 DF, p-value: < 2.2e-16
Dapat dilihat nilai estimasi pada iterasi 16 dan 17 nilainya sudah
sama, yang berarti sudah konvergen.
Hasil model regresi robust estimasi GS yang konvergen pada iterasi ke-17
sebagai berikut:
\(Ŷ\) = 45.927171 + 1.22737X1 + 0.536652X2 + 0.072037X3 + 0.887251X4
Dengan \(R^2\) adjusted sebesar 97.89% yang artinya bahwa variabel Alcohol consumption (X1), BMI (X2), Polio (X3), dan Schooling (X4) berpengaruh terhadap angka harapan hidup sebesar 97.89% dan 2.11% dipengaruhi oleh faktor yang lainnya.
modelGS17 <- lm(Y~ X1+X2+X3+X4, data=data, weights=w17)
summary(modelGS17)
##
## Call:
## lm(formula = Y ~ X1 + X2 + X3 + X4, data = data, weights = w17)
##
## Weighted Residuals:
## Min 1Q Median 3Q Max
## -1.0417 -0.3107 0.0000 0.1188 1.0187
##
## Coefficients:
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) 45.927171 1.449125 31.693 < 2e-16 ***
## X1 1.227370 0.137386 8.934 7.40e-12 ***
## X2 0.536652 0.054198 9.902 2.79e-13 ***
## X3 0.072037 0.007195 10.012 1.94e-13 ***
## X4 0.887251 0.061454 14.438 < 2e-16 ***
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Residual standard error: 0.5762 on 49 degrees of freedom
## Multiple R-squared: 0.9805, Adjusted R-squared: 0.9789
## F-statistic: 614.4 on 4 and 49 DF, p-value: < 2.2e-16
Berdasarkan hasil analisis uji simultan diperoleh nilai p-value = < 2.2e-16 < \(a\) = 0.05 yang berarti bahwa paling tidak terdapat satu dari variabel Alcohol consumption (X1), BMI (X2), Polio (X3), dan Schooling (X4) berpengaruh signifikan terhadap angka harapan hidup.
Berdasarkan hasil analisis uji parsial diperoleh nilai
p-value dari masing-masing variabel sebagai berikut:
* Variabel X1 : 7.40e-12
* Vaiabel X2 : 2.79e-13
* Variabel X3 : 1.94e-13
* Variabel X4 : < 2e-16
Nilai p-value dari keempat variabel independen < \(a\) = 0.05 sehingga dapat disimpulkan bahwa
Alcohol consumption, BMI, Polio, dan
Schooling berpengaruh signifikan terhadap angka harapan
hidup.