Project OPSTAT

Afris Setiya Intan Amanda

11/5/2023

Pendugaan Parameter pada Perbandingan Regresi Linier Berganda (RLB) Metode Optimisasi Gauss-Seidel dan RLB Kekar
Anggota Kelompok 11 STA1353 :

1. Afris Setiya Intan Amanda     (G1401201018)
2. Reza Arya Sukma            (G1401201025)
3. Irpando Sagala           (G1401201038)
4. Ainaini Salsabila             (G1401201055)
5. Naura Tirza Ardhani         (G1401201073)

Outline

  1. Pendahuluan
  2. Metodologi
  3. Hasil dan Pembahasan
  4. Simpulan
  5. Daftar Pustaka

Metodologi

Data

Tabel 1 Peubah-Peubah yang Digunakan

Input Data

#Data Peta
peta <- readOGR(dsn="D:/MY COLLEGE/SEMESTER 5/SATDAT/DATA/PetaSHP/Admin1Provinsi", layer="idn_admbnda_adm1_bps_20200401")
## Warning: OGR support is provided by the sf and terra packages among others
## Warning: OGR support is provided by the sf and terra packages among others
## Warning: OGR support is provided by the sf and terra packages among others
## Warning: OGR support is provided by the sf and terra packages among others
## Warning: OGR support is provided by the sf and terra packages among others
## Warning: OGR support is provided by the sf and terra packages among others
## OGR data source with driver: ESRI Shapefile 
## Source: "D:\MY COLLEGE\SEMESTER 5\SATDAT\DATA\PetaSHP\Admin1Provinsi", layer: "idn_admbnda_adm1_bps_20200401"
## with 34 features
## It has 12 fields

#Data Excel
df = read.csv("D:/MY COLLEGE/SEMESTER 6/OS/DATA/Data PSI 2021.csv")
View(df)
head(df)
##   ADM1_PCODE         Provinsi    Y  X1   X2   X3   X4  X5   X6   X7    X8   X9
## 1       ID11             Aceh 12.1 5.2 42.7 55.4 76.0 2.6 14.1 81.0 15.53 0.77
## 2       ID12   Sumatera Utara  6.7 1.5 80.9 42.1 67.2 1.0 25.8 85.3  8.49 1.92
## 3       ID13   Sumatera Barat 15.1 4.6 58.4 69.7 81.1 3.0 39.0 80.4  6.04 0.84
## 4       ID14             Riau  6.0 2.5 62.9 39.5 80.7 1.2 43.1 93.0  7.00 1.59
## 5       ID15            Jambi  3.0 1.6 86.2 63.3 92.6 3.0 47.3 91.4  7.67 1.36
## 6       ID16 Sumatera Selatan  4.4 1.2 89.0 45.4 84.0 1.2 45.9 89.1 12.79 1.96
str(df)
## 'data.frame':    34 obs. of  12 variables:
##  $ ADM1_PCODE: chr  "ID11" "ID12" "ID13" "ID14" ...
##  $ Provinsi  : chr  "Aceh" "Sumatera Utara" "Sumatera Barat" "Riau" ...
##  $ Y         : num  12.1 6.7 15.1 6 3 4.4 6.3 6.1 5.9 7.6 ...
##  $ X1        : num  5.2 1.5 4.6 2.5 1.6 1.2 1.4 1.8 2.1 2.8 ...
##  $ X2        : num  42.7 80.9 58.4 62.9 86.2 89 94.1 89.9 87.3 81.3 ...
##  $ X3        : num  55.4 42.1 69.7 39.5 63.3 45.4 66.3 65 58.4 53.7 ...
##  $ X4        : num  76 67.2 81.1 80.7 92.6 84 80.3 84.4 80.5 87 ...
##  $ X5        : num  2.6 1 3 1.2 3 1.2 2.9 3.7 4.4 2.1 ...
##  $ X6        : num  14.1 25.8 39 43.1 47.3 45.9 51.3 48.2 74.6 50.2 ...
##  $ X7        : num  81 85.3 80.4 93 91.4 89.1 89.5 93.6 95.8 83.1 ...
##  $ X8        : num  15.53 8.49 6.04 7 7.67 ...
##  $ X9        : num  0.77 1.92 0.84 1.59 1.36 1.96 1.42 1.38 1.49 1.51 ...
dt.new <- df %>% dplyr::select(Y, X1, X2, X3, X4, X5, X6, X7, X8, X9)

Prosedur Analisis

Gambar 1 Prosedur Penelitian

Hasil & Pembahasan

1. Eksplorasi Data

Boxplot

par(mfrow=c(2,5))
boxplot(df$Y, xlab = "Stunting")
boxplot(df$X1, xlab = "Gizi Buruk")
boxplot(df$X2, xlab = "Imunisasi Lengkap")
boxplot(df$X3, xlab = "ASI Eksklusif")
boxplot(df$X4, xlab = "IMD")
boxplot(df$X5, xlab = "BBLR")
boxplot(df$X6, xlab = "TPM")
boxplot(df$X7, xlab = "Sanitasi Layak")
boxplot(df$X8, xlab = "Miskin")
boxplot(df$X9, xlab = "Rasio Imunisasi Lengkap\n & ASI Eksklusif")

par(mfrow=c(2,5))
boxplot(df$Y, xlab = "Y")
boxplot(df$X1, xlab = "X1")
boxplot(df$X2, xlab = "X2")
boxplot(df$X3, xlab = "X3")
boxplot(df$X4, xlab = "X4")
boxplot(df$X5, xlab = "X5")
boxplot(df$X6, xlab = "X6")
boxplot(df$X7, xlab = "X7")
boxplot(df$X8, xlab = "X8")
boxplot(df$X9, xlab = "X9")

Berdasarkan boxplot diatas, peubah Y, X1, X5 tidak ada pencilan, peubah lainnya ada tetapi tidak ekrim.

Histogram

pdc <- df[,c(-1,-2)]
plot_histogram(data = pdc, nrow = 2, ncol = 5, geom_histogram_args = list (fill="#D27685"))
## `stat_bin()` using `bins = 30`. Pick better value with `binwidth`.

Matriks Korelasi

kor <- cor(pdc)
ggcorrplot(kor, type="lower", lab = TRUE)

correlation heatmap dapat menunjukkan kekuatan hubungan antarpeubah. Dapat terlihat bahwa peubah X1 dan X5 berhubungan relatif kuat dengan peubah Y.

Geospasial

Prevalensi Balita Stunting

k=16
colfunc <- colorRampPalette(c("green", "yellow","red"))
color <- colfunc(k)

peta$y <- df$Y
spplot(peta, "y", col.regions=color, main="Prevalensi Balita Stunting\ndi Indonesia Tahun 2021")

Peta geospasial di samping merupakan geospasial prevalensi balita stunting di provinsi-provinsi Indonesia tahun 2021.

Status Gizi Buruk dengan BB/U

k=16
colfunc <- colorRampPalette(c("green", "yellow","red"))
color <- colfunc(k)

peta$x1 <- df$X1
spplot(peta, "x1", col.regions=color, main="Balita menurut Status Gizi\ndengan indeks BB/U\ndi Indonesia Tahun 2021")

Peta geospasial di samping merupakan geospasial balita menurut status gizi dengan indeks BB/U di provinsi-provinsi Indonesia tahun 2021.

BBLR

k=16
colfunc <- colorRampPalette(c("green", "yellow","red"))
color <- colfunc(k)

peta$x5 <- df$X5
spplot(peta, "x5", col.regions=color, main="Bayi Berat Badan Lahir Rendah (BBLR)\ndi Indonesia Tahun 2021")

Peta geospasial di samping merupakan geospasial bayi berat badan lahir rendah (BBLR) di provinsi-provinsi Indonesia tahun 2021.

2. Pemodelan Penuh

RLB OLS Penuh

model.awal <- lm(Y~., data = dt.new)

summary(model.awal)
## 
## Call:
## lm(formula = Y ~ ., data = dt.new)
## 
## Residuals:
##    Min     1Q Median     3Q    Max 
## -3.726 -1.760 -0.317  1.350  6.579 
## 
## Coefficients:
##              Estimate Std. Error t value Pr(>|t|)    
## (Intercept) -4.159363   7.276284  -0.572   0.5729    
## X1           2.291446   0.355355   6.448 1.14e-06 ***
## X2           0.001996   0.049591   0.040   0.9682    
## X3           0.060564   0.070967   0.853   0.4019    
## X4           0.051852   0.066409   0.781   0.4426    
## X5          -0.134144   0.441853  -0.304   0.7641    
## X6          -0.058544   0.031053  -1.885   0.0716 .  
## X7           0.025853   0.033199   0.779   0.4437    
## X8          -0.084593   0.122828  -0.689   0.4976    
## X9          -0.260785   1.170376  -0.223   0.8256    
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 2.807 on 24 degrees of freedom
## Multiple R-squared:  0.8124, Adjusted R-squared:  0.742 
## F-statistic: 11.54 on 9 and 24 DF,  p-value: 9.133e-07

anova(model.awal)
## Analysis of Variance Table
## 
## Response: Y
##           Df Sum Sq Mean Sq F value    Pr(>F)    
## X1         1 730.07  730.07 92.6682 1.028e-09 ***
## X2         1   6.03    6.03  0.7658   0.39020    
## X3         1  45.38   45.38  5.7604   0.02451 *  
## X4         1   0.38    0.38  0.0487   0.82715    
## X5         1   1.13    1.13  0.1439   0.70777    
## X6         1  25.34   25.34  3.2166   0.08551 .  
## X7         1   4.50    4.50  0.5706   0.45738    
## X8         1   5.34    5.34  0.6777   0.41849    
## X9         1   0.39    0.39  0.0496   0.82556    
## Residuals 24 189.08    7.88                      
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1

3. Uji Multikolinieritas

ols_vif_tol(model.awal)
##   Variables Tolerance      VIF
## 1        X1 0.4069182 2.457496
## 2        X2 0.5159032 1.938348
## 3        X3 0.1784125 5.604989
## 4        X4 0.8152040 1.226687
## 5        X5 0.4929241 2.028710
## 6        X6 0.7219723 1.385095
## 7        X7 0.7625452 1.311398
## 8        X8 0.5403276 1.850729
## 9        X9 0.2031890 4.921526

Berdasarkan model penuh, seluruh peubah yang digunakan tidak terdeteksi multikolinieritas karena memiliki nilai VIF < 10 dan tolerance > 0.1.

4. Uji Asumsi Klasik

Pada RLB OLS Penuh

uji_asumsi <- function(modelreg, autocol.test = c("runs", "dw", "bgodfrey"), 
 homos.test = c("bp", "glejser", "ncv"), 
 normal.test = c("ks", "shapiro.w", "jb"), taraf.nyata=0.05){
 #Hipoteisis: H0: Asumsi terpenuhi vs H1: Asumsi tidak terpenuhi
 sisaan <- modelreg$residuals
 uji_t <- c()
 autokol <- c()
 homoskedastisitas <- c()
 ks <- c()
 p_value <- matrix(NA, ncol = 1, nrow = 4)
 a <- t.test(sisaan,
 mu = 0,
 conf.level = 0.95)
 p_value[1,1] <- round(a$p.value,3)
 if(a$p.value<taraf.nyata){hasil = "Tolak H0"}else{hasil="Tak Tolak H0"}
 uji_t <- hasil
 
 if (autocol.test == "runs"){
 b <- randtests::runs.test(sisaan)
 p_value[2,1] <- round(b$p.value,3)
 if(b$p.value<taraf.nyata){hasil = "Tolak H0"}else{hasil="Tak Tolak H0"}
 autokol <- hasil
 }else if (autocol.test == "dw") {
 b <- lmtest::dwtest(modelreg)
 p_value[2,1] <- round(b$p.value,3)
 if(b$p.value<taraf.nyata){hasil = "Tolak H0"}else{hasil="Tak Tolak H0"}
 autokol <- hasil
 }else if (autocol.test == "bgodfrey") {
 b <- lmtest::bgtest(modelreg)
 p_value[2,1] <- round(b$p.value,3)
 if(b$p.value<taraf.nyata){hasil = "Tolak H0"}else{hasil="Tak Tolak H0"}
 autokol <- hasil
 }
 if (homos.test == "bp") {
 c <- lmtest::bptest(modelreg)
 p_value[3,1] <- round(c$p.value,3)
 if(c$p.value<taraf.nyata){hasil = "Tolak H0"}else{hasil="Tak Tolak H0"}
 homoskedastisitas <- hasil
 } else if (homos.test == "glejser") {
 c <- skedastic::glejser(modelreg)
 p_value[3,1] <- round(c$p.value,3)
 if(c$p.value<taraf.nyata){hasil = "Tolak H0"}else{hasil="Tak Tolak H0"}
 homoskedastisitas <- hasil
 } else if (homos.test == "ncv") {
 c <- car::ncvTest(modelreg)
 p_value[3,1] <- round(c$p,3)
 if(c$p<taraf.nyata){hasil = "Tolak H0"}else{hasil="Tak Tolak H0"}
 homoskedastisitas <- hasil
 }
 
 if (normal.test == "ks"){
 d <- ks.test(sisaan, "pnorm")
 p_value[4,1] <- round(d$p.value,3)
 if(d$p.value<taraf.nyata){hasil = "Tolak H0"}else{hasil="Tak Tolak H0"}
 ks <- hasil
 } else if (normal.test == "shapiro.w") {
 d <- shapiro.test(sisaan)
 p_value[4,1] <- round(d$p.value,3)
 if(d$p.value<taraf.nyata){hasil = "Tolak H0"}else{hasil="Tak Tolak H0"}
 ks <- hasil
 } else if (normal.test == "jb") {
 d <- tseries::jarque.bera.test(sisaan)
 p_value[4,1] <- round(d$p.value,3)
 if(d$p.value<taraf.nyata){hasil = "Tolak H0"}else{hasil="Tak Tolak H0"}
 ks <- hasil
 }
 
 keputusan <- rbind(uji_t, autokol, homoskedastisitas, ks)
 tabel <- data.frame(p_value, keputusan)
 colnames(tabel) <- c("P-value", "Keputusan")
 rownames(tabel) <- c("E(sisaan) = 0", "Non-autokorelasi", "Homoskedastisitas",
 "Normality")
 duga <- plot(modelreg,1)
 kuantil <- plot(modelreg,2)
 histo <- hist(sisaan)
 urutan <- plot(x = 1:length(sisaan),
 y = sisaan,
 type = 'b', 
 ylab = "Residuals",
 xlab = "Observation")
 print(tabel)
}
par(mfrow=c(2,2))
uji_asumsi(model.awal, "runs", "bp", "ks")

##                   P-value    Keputusan
## E(sisaan) = 0       1.000 Tak Tolak H0
## Non-autokorelasi    0.164 Tak Tolak H0
## Homoskedastisitas   0.357 Tak Tolak H0
## Normality           0.029     Tolak H0

Berdasarkan uji formal dan secara eksploratif di atas, asumsi normalitas tidak terpenuhi karena terdapat kemungkinan dipengaruhi oleh pencilan pada data sehingga perlu melakukan pemodelan regresi linier robust sebagai perbandingan.

5. Pendeteksian Pencilan, Titik Leverage, dam Amatan Berpengaruh

Pencilan

#Mendeteksi Pencilan
which(abs(rstandard(model.awal))>2)
## 24 28 
## 24 28
df[which(abs(rstandard(model.awal))>2),]
##    ADM1_PCODE          Provinsi    Y  X1   X2   X3   X4  X5   X6   X7    X8
## 24       ID65  Kalimantan Utara 18.5 5.1 71.0 49.1 84.4 6.1 52.5 84.9  6.83
## 28       ID74 Sulawesi Tenggara 18.5 4.1 83.4 54.0 93.8 3.9 34.3 89.4 11.74
##      X9
## 24 1.45
## 28 1.54

Diketahui bahwa terdapat tiga amatan pencilan, yaitu pada data ke-24 (Kalimantan Utara) dan data ke-28 (Sulawesi Tenggara).

Titik Leverage

#Mendeteksi Leverage
which(abs(hatvalues(model.awal))>0.59) #2p/n=2x10/34=0.59
## 11 16 31 
## 11 16 31
df[which(abs(hatvalues(model.awal))>0.59),] #2p/n=2x10/34
##    ADM1_PCODE    Provinsi   Y  X1   X2   X3   X4  X5    X6   X7    X8   X9
## 11       ID31 DKI Jakarta 3.2 1.4 63.3 68.6 98.5 1.0 113.1 93.5  4.67 0.92
## 16       ID36      Banten 6.7 3.0 94.8 57.6 80.3 1.6  37.2  3.7  6.50 1.65
## 31       ID81      Maluku 6.8 4.4 73.0 13.0 74.7 3.3  39.4 75.1 16.30 5.62

Diketahui bahwa data ke-11(DKI Jakarta), 16 (Banten), 31 (Maluku) merupakan titik leverage.

#Batas pencilan dan leverage
ri = rstandard(model.awal)
hii = hatvalues(model.awal)
Obs = c(1:34)
summ <- cbind.data.frame(Obs, hii, ri)
View(summ)

Amatan Berpengaruh

#Eksploratif amatan berpengaruh (jarak cook)
plot(model.awal, 5)

Dengan metode jarak Cook (Cook’s distance) secara eksploratif, terlihat bahwa tidak ada amatan berpengaruh pada taraf nyata 5% karena tidak ada titik plot yang berada di luar garis putus-putus skala 0.5.

#mendeteksi amatan berpengaruh
influence.measures(model.awal)
## Influence measures of
##   lm(formula = Y ~ ., data = dt.new) :
## 
##      dfb.1_   dfb.X1    dfb.X2   dfb.X3   dfb.X4   dfb.X5    dfb.X6    dfb.X7
## 1  -0.57805  0.20351  0.755715 -0.30860  0.24797  0.00918  0.470449 -0.001398
## 2   0.23844 -0.00871  0.099936 -0.12765 -0.22272 -0.20657 -0.104632  0.114900
## 3   0.10247 -0.01290 -0.380330  0.30384 -0.03097  0.03248 -0.136608 -0.054888
## 4  -0.07711 -0.00716  0.031914  0.09377 -0.00600  0.08508  0.008732 -0.089003
## 5   0.22361  0.35695  0.090434 -0.09577 -0.41591 -0.14857  0.250183 -0.024662
## 6  -0.00675 -0.02741  0.074946 -0.06767  0.01897 -0.06529  0.000431  0.035577
## 7   0.00737 -0.17961  0.065712  0.04302 -0.05892  0.01823  0.004440 -0.026370
## 8   0.00178  0.01270  0.000216 -0.00308 -0.00231 -0.00646  0.003754  0.000125
## 9   0.02310 -0.04405 -0.008127 -0.01874 -0.01546  0.05469  0.055465 -0.001601
## 10  0.00525 -0.00437 -0.005740  0.01590 -0.03108  0.02621  0.005769 -0.006482
## 11  0.01558  0.01693  0.080152 -0.02427 -0.04490  0.02720 -0.118943  0.004626
## 12  0.11862  0.02447 -0.058635 -0.03064 -0.16528  0.04967  0.227506 -0.049578
## 13  0.03004 -0.00081 -0.021594 -0.04316  0.10369 -0.08927 -0.240291 -0.002843
## 14  0.22423  0.04040 -0.018159 -0.17959 -0.04518 -0.16030 -0.066462 -0.035571
## 15  0.01001  0.01871  0.033434 -0.01907 -0.03753 -0.01635  0.031601  0.019847
## 16 -0.47611  0.17548 -0.225748 -0.14979  0.04517 -0.03467 -0.037534  1.520214
## 17  0.12205 -0.02011  0.013120  0.06632 -0.24522  0.00775  0.092979 -0.000648
## 18 -0.38054  0.34227  0.068971  0.43688  0.01001 -0.24180 -0.166217  0.096796
## 19  0.04924 -0.13482 -0.043450 -0.00309  0.01004  0.09584  0.019348 -0.065989
## 20  0.42874  0.52602 -0.056459  0.00355 -0.48301 -0.13405  0.046253 -0.084394
## 21  0.08506 -0.22026 -0.151421  0.13433 -0.15919  0.20672  0.049447 -0.034014
## 22 -0.06308  0.16067  0.215032 -0.01328 -0.18409 -0.56704  0.321185  0.057206
## 23 -0.08852 -0.07409 -0.068845  0.06643  0.14777 -0.16382 -0.047739 -0.014826
## 24  0.43195 -0.48722 -0.550189 -0.31966  0.23966  1.20512  0.107058 -0.277243
## 25 -0.08469  0.01964 -0.031620  0.07449  0.07272  0.02664  0.028828 -0.063184
## 26 -0.06193  0.16634  0.177960 -0.14232  0.02314 -0.16514  0.212844  0.007160
## 27  0.03477  0.00973 -0.011602 -0.02013 -0.02008 -0.01037  0.027624 -0.015351
## 28 -0.56047 -0.28643  0.181583 -0.20781  0.96116  0.15851 -0.675934  0.219952
## 29  0.01070  0.03367 -0.024658  0.02667 -0.02186 -0.04682  0.027457  0.004122
## 30 -0.06859  0.09765  0.052515 -0.12317  0.13238  0.04508 -0.004340  0.040169
## 31  0.13941 -0.10530  0.126347 -0.21760  0.01626  0.09212  0.013896 -0.065451
## 32  0.04649 -0.15359 -0.031702  0.01831 -0.06575  0.08926 -0.018349  0.001453
## 33 -0.61050 -0.16404 -0.128330  0.67344  0.41507 -0.20865 -0.524307  0.237194
## 34  0.07832 -0.26658 -0.227214  0.01436  0.07129  0.21283  0.093771 -0.248493
##      dfb.X8   dfb.X9   dffit   cov.r   cook.d   hat inf
## 1  -0.27213  0.08766 -1.2251  1.5895 1.47e-01 0.495    
## 2   0.04438 -0.11744  0.4728  1.6141 2.27e-02 0.269    
## 3  -0.16153  0.19537  0.4674  1.9220 2.24e-02 0.338    
## 4   0.04301  0.06305 -0.2201  1.8757 5.02e-03 0.237    
## 5   0.02493 -0.04999 -0.6321  0.8173 3.84e-02 0.170    
## 6   0.07037 -0.05826  0.1497  1.9531 2.33e-03 0.240    
## 7   0.25462 -0.05856  0.3436  1.6865 1.21e-02 0.233    
## 8  -0.00857  0.00161 -0.0178  1.7991 3.32e-05 0.150    
## 9  -0.02265 -0.01437  0.1115  1.8116 1.29e-03 0.176    
## 10  0.02960  0.00528 -0.0735  1.6470 5.62e-04 0.092    
## 11  0.01820 -0.02430 -0.1995  4.1274 4.15e-03 0.633   *
## 12  0.05400 -0.02925 -0.3176  1.3762 1.03e-02 0.143    
## 13 -0.09963  0.00947 -0.3711  1.3482 1.39e-02 0.162    
## 14 -0.09978 -0.09890 -0.4558  1.2732 2.09e-02 0.185    
## 15  0.01806 -0.01933  0.0674  1.7026 4.73e-04 0.115    
## 16  0.00281  0.07917 -1.6792 11.4625 2.90e-01 0.886   *
## 17  0.01665  0.02399  0.2965  2.5774 9.13e-03 0.435   *
## 18  0.08775  0.31100  0.7110  1.7488 5.09e-02 0.382    
## 19 -0.08352  0.02398 -0.2185  2.3094 4.97e-03 0.361   *
## 20 -0.38164 -0.00867  0.9031  0.6408 7.60e-02 0.229    
## 21  0.21539  0.01201 -0.4086  1.6028 1.70e-02 0.240    
## 22  0.50106 -0.04014 -0.8480  0.8254 6.86e-02 0.249    
## 23  0.15895  0.03430 -0.3960  1.4363 1.59e-02 0.194    
## 24 -0.60987 -0.29387  1.5940  0.0973 1.96e-01 0.238   *
## 25  0.03690  0.02327 -0.1955  1.9251 3.97e-03 0.245    
## 26  0.05495 -0.09147  0.3256  1.9510 1.09e-02 0.296    
## 27  0.00233 -0.01556 -0.0597  1.8110 3.72e-04 0.162    
## 28  0.08238 -0.20294  1.2636  0.0764 1.21e-01 0.157    
## 29 -0.00712  0.00458 -0.0913  2.1014 8.69e-04 0.278    
## 30 -0.06190 -0.07693  0.2878  1.5463 8.50e-03 0.169    
## 31  0.12488 -0.40241 -0.4812  8.2289 2.41e-02 0.818   *
## 32  0.13242 -0.01866 -0.2349  1.4860 5.66e-03 0.126    
## 33 -0.62737  0.71356 -1.3921  0.6984 1.78e-01 0.384    
## 34  0.36050  0.06007  0.7256  2.5335 5.38e-02 0.513   *
summary(influence.measures(model.awal))
## Potentially influential observations of
##   lm(formula = Y ~ ., data = dt.new) :
## 
##    dfb.1_ dfb.X1 dfb.X2 dfb.X3 dfb.X4 dfb.X5  dfb.X6 dfb.X7  dfb.X8 dfb.X9
## 11  0.02   0.02   0.08  -0.02  -0.04   0.03   -0.12   0.00    0.02  -0.02 
## 16 -0.48   0.18  -0.23  -0.15   0.05  -0.03   -0.04   1.52_*  0.00   0.08 
## 17  0.12  -0.02   0.01   0.07  -0.25   0.01    0.09   0.00    0.02   0.02 
## 19  0.05  -0.13  -0.04   0.00   0.01   0.10    0.02  -0.07   -0.08   0.02 
## 24  0.43  -0.49  -0.55  -0.32   0.24   1.21_*  0.11  -0.28   -0.61  -0.29 
## 31  0.14  -0.11   0.13  -0.22   0.02   0.09    0.01  -0.07    0.12  -0.40 
## 34  0.08  -0.27  -0.23   0.01   0.07   0.21    0.09  -0.25    0.36   0.06 
##    dffit cov.r   cook.d hat    
## 11 -0.20  4.13_*  0.00   0.63  
## 16 -1.68 11.46_*  0.29   0.89_*
## 17  0.30  2.58_*  0.01   0.43  
## 19 -0.22  2.31_*  0.00   0.36  
## 24  1.59  0.10    0.20   0.24  
## 31 -0.48  8.23_*  0.02   0.82  
## 34  0.73  2.53_*  0.05   0.51

Berdasarkan ringkasan di atas dengan pendekatan Jarak Cook, tidak ada amatan berpengaruh.

dt.new[c(24,28),1:10]
##       Y  X1   X2   X3   X4  X5   X6   X7    X8   X9
## 24 18.5 5.1 71.0 49.1 84.4 6.1 52.5 84.9  6.83 1.45
## 28 18.5 4.1 83.4 54.0 93.8 3.9 34.3 89.4 11.74 1.54
D1 <- cooks.distance(model.awal)
r <- stdres(model.awal)
a <- cbind(dt.new, D1, r)
a[D1 > 4/51, ] # D1 = jarak pada GLS yang diaproksimasikan kok bisa dapet 4/51
##       Y  X1   X2   X3   X4  X5   X6   X7    X8   X9        D1          r
## 1  12.1 5.2 42.7 55.4 76.0 2.6 14.1 81.0 15.53 0.77 0.1468288 -1.2243901
## 16  6.7 3.0 94.8 57.6 80.3 1.6 37.2  3.7  6.50 1.65 0.2896394 -0.6109306
## 24 18.5 5.1 71.0 49.1 84.4 6.1 52.5 84.9  6.83 1.45 0.1958911  2.5037238
## 28 18.5 4.1 83.4 54.0 93.8 3.9 34.3 89.4 11.74 1.54 0.1213738  2.5527189
## 33 13.2 8.4 60.4 27.6 77.2 5.8 43.9 69.9 21.82 2.19 0.1781226 -1.6910612
r_absolut <- abs(r)
a <- cbind(dt.new, D1, r, r_absolut)
sort_a <- a[order(-r_absolut), ]
sort_a[1:34, ]
##       Y  X1    X2   X3   X4  X5    X6    X7    X8   X9           D1           r
## 28 18.5 4.1  83.4 54.0 93.8 3.9  34.3  89.4 11.74 1.54 0.1213737515  2.55271888
## 24 18.5 5.1  71.0 49.1 84.4 6.1  52.5  84.9  6.83 1.45 0.1958911044  2.50372381
## 33 13.2 8.4  60.4 27.6 77.2 5.8  43.9  69.9 21.82 2.19 0.1781226128 -1.69106119
## 20 21.0 7.0  73.8 52.1 71.3 4.2  37.9  73.6  6.84 1.42 0.0760078531  1.60145838
## 22 10.4 5.1  80.2 54.4 83.1 6.1  34.7  86.3  4.56 1.47 0.0685500991 -1.43965267
## 5   3.0 1.6  86.2 63.3 92.6 3.0  47.3  91.4  7.67 1.36 0.0384333091 -1.36956570
## 1  12.1 5.2  42.7 55.4 76.0 2.6  14.1  81.0 15.53 0.77 0.1468288376 -1.22439007
## 14 10.6 4.9  95.3 74.7 88.2 5.7  65.1 100.0 11.91 1.28 0.0208506166 -0.95707249
## 18 21.7 7.1  95.5 82.4 87.3 4.2  41.5  90.8 13.83 1.16 0.0509408017  0.90689857
## 13  9.0 4.7  88.8 67.4 82.7 5.1  76.6  96.1 11.25 1.32 0.0139364095 -0.84777443
## 23 11.8 5.7  90.0 53.6 74.1 6.1  48.7  89.6  6.27 1.68 0.0159116754 -0.81294329
## 2   6.7 1.5  80.9 42.1 67.2 1.0  25.8  85.3  8.49 1.92 0.0227282832  0.78549674
## 12  8.3 3.1  89.8 59.4 87.9 2.8  29.3  85.9  7.97 1.51 0.0102576479 -0.78511643
## 21 10.8 4.8  84.9 44.7 88.6 2.2  40.9  73.9  5.16 1.90 0.0170258307 -0.73510945
## 34 10.1 5.4  53.5 13.5 84.4 4.8  39.0  56.5 27.38 3.96 0.0537686896  0.71469533
## 3  15.1 4.6  58.4 69.7 81.1 3.0  39.0  80.4  6.04 0.84 0.0223777060  0.66230512
## 30 19.3 7.3  76.4 45.8 91.2 5.5  44.8  86.0 11.85 1.67 0.0084956362  0.64566667
## 7   6.3 1.4  94.1 66.3 80.3 2.9  51.3  89.5 14.43 1.42 0.0121141329  0.63202020
## 32 13.0 5.7  81.0 55.9 87.8 3.3  51.6  78.2  6.38 1.45 0.0056623518 -0.62584315
## 16  6.7 3.0  94.8 57.6 80.3 1.6  37.2   3.7  6.50 1.65 0.2896394374 -0.61093061
## 26 13.2 5.5  87.8 49.7 89.7 2.8  76.4  79.7 12.18 1.77 0.0109407147  0.50962961
## 4   6.0 2.5  62.9 39.5 80.7 1.2  43.1  93.0  7.00 1.59 0.0050204646 -0.40174291
## 25  3.0 1.6  81.4 30.2 67.6 2.4  31.0  89.5  7.36 2.70 0.0039689479 -0.35005111
## 17  5.0 1.5  98.8 70.9 59.8 3.4  65.5  95.0  4.72 1.39 0.0091300963  0.34443378
## 19 22.6 9.4  73.5 57.8 86.3 4.5  32.9  91.0 20.44 1.27 0.0049651306 -0.29637920
## 6   4.4 1.2  89.0 45.4 84.0 1.2  45.9  89.1 12.79 1.96 0.0023315036  0.27162026
## 9   5.9 2.1  87.3 58.4 80.5 4.4  74.6  95.8  4.67 1.49 0.0012944504  0.24597238
## 10  7.6 2.8  81.3 53.7 87.0 2.1  50.2  83.1  5.75 1.51 0.0005619329 -0.23551096
## 31  6.8 4.4  73.0 13.0 74.7 3.3  39.4  75.1 16.30 5.62 0.0241066043 -0.23150045
## 15 10.7 4.2  90.3 56.3 76.2 3.8  58.6  94.5 10.59 1.60 0.0004729529  0.19107742
## 11  3.2 1.4  63.3 68.6 98.5 1.0 113.1  93.5  4.67 0.92 0.0041508342 -0.15516784
## 29  8.5 4.1  89.9 27.0 81.3 5.9  25.4  79.0 15.41 3.33 0.0008685619 -0.15002002
## 27 10.4 3.3 100.0 70.5 87.3 4.4  43.2  99.4  8.53 1.42 0.0003720806 -0.13889956
## 8   6.1 1.8  89.9 65.0 84.4 3.7  48.2  93.6 11.67 1.38 0.0000331655 -0.04335985
##     r_absolut
## 28 2.55271888
## 24 2.50372381
## 33 1.69106119
## 20 1.60145838
## 22 1.43965267
## 5  1.36956570
## 1  1.22439007
## 14 0.95707249
## 18 0.90689857
## 13 0.84777443
## 23 0.81294329
## 2  0.78549674
## 12 0.78511643
## 21 0.73510945
## 34 0.71469533
## 3  0.66230512
## 30 0.64566667
## 7  0.63202020
## 32 0.62584315
## 16 0.61093061
## 26 0.50962961
## 4  0.40174291
## 25 0.35005111
## 17 0.34443378
## 19 0.29637920
## 6  0.27162026
## 9  0.24597238
## 10 0.23551096
## 31 0.23150045
## 15 0.19107742
## 11 0.15516784
## 29 0.15002002
## 27 0.13889956
## 8  0.04335985

6. Pemilihan Peubah Penjelas

Menggunakan stepwise elimination.

stepw <- step(lm(Y~1, data=dt.new), direction="both", scope=formula(dt.new), trace=1)
## Start:  AIC=117.23
## Y ~ 1
## 
##        Df Sum of Sq     RSS     AIC
## + X1    1    730.07  277.58  75.391
## + X5    1    237.86  769.79 110.072
## + X8    1     63.14  944.50 117.026
## + X6    1     59.55  948.10 117.155
## <none>              1007.65 117.226
## + X9    1     44.00  963.65 117.708
## + X4    1     36.01  971.63 117.989
## + X2    1     33.41  974.24 118.080
## + X3    1     14.66  992.98 118.728
## + X7    1      0.19 1007.46 119.220
## 
## Step:  AIC=75.39
## Y ~ X1
## 
##        Df Sum of Sq     RSS     AIC
## + X9    1     51.51  226.07  70.412
## + X3    1     51.13  226.45  70.469
## + X8    1     21.55  256.03  74.644
## <none>               277.58  75.391
## + X7    1     10.69  266.89  76.056
## + X4    1      6.42  271.16  76.595
## + X2    1      6.03  271.55  76.644
## + X6    1      3.86  273.71  76.915
## + X5    1      0.74  276.84  77.301
## - X1    1    730.07 1007.65 117.226
## 
## Step:  AIC=70.41
## Y ~ X1 + X9
## 
##        Df Sum of Sq    RSS     AIC
## + X6    1     14.27 211.79  70.195
## <none>              226.07  70.412
## + X3    1      4.45 221.62  71.736
## + X2    1      2.76 223.30  71.994
## + X7    1      1.92 224.15  72.122
## + X8    1      1.34 224.73  72.210
## + X4    1      0.76 225.31  72.298
## + X5    1      0.03 226.03  72.407
## - X9    1     51.51 277.58  75.391
## - X1    1    737.58 963.65 117.708
## 
## Step:  AIC=70.19
## Y ~ X1 + X9 + X6
## 
##        Df Sum of Sq    RSS     AIC
## <none>              211.79  70.195
## + X3    1     11.00 200.79  70.381
## - X6    1     14.27 226.07  70.412
## + X7    1      4.87 206.93  71.405
## + X4    1      4.28 207.52  71.501
## + X2    1      4.21 207.58  71.512
## + X8    1      2.30 209.50  71.824
## + X5    1      0.10 211.70  72.179
## - X9    1     61.92 273.71  76.915
## - X1    1    660.59 872.38 116.325
modelstepw2 <- lm(Y~X1+X6+X9, data = dt.new)
summary(modelstepw2)
## 
## Call:
## lm(formula = Y ~ X1 + X6 + X9, data = dt.new)
## 
## Residuals:
##     Min      1Q  Median      3Q     Max 
## -5.8551 -1.4159 -0.1896  1.1683  7.2388 
## 
## Coefficients:
##             Estimate Std. Error t value Pr(>|t|)    
## (Intercept)  6.17249    2.11748   2.915  0.00667 ** 
## X1           2.12629    0.21981   9.673 9.86e-11 ***
## X6          -0.03743    0.02633  -1.422  0.16539    
## X9          -1.52285    0.51421  -2.962  0.00594 ** 
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 2.657 on 30 degrees of freedom
## Multiple R-squared:  0.7898, Adjusted R-squared:  0.7688 
## F-statistic: 37.58 on 3 and 30 DF,  p-value: 2.771e-10
par(mfrow=c(2,2))
uji_asumsi(modelstepw2, "runs", "bp", "ks")

##                   P-value    Keputusan
## E(sisaan) = 0       1.000 Tak Tolak H0
## Non-autokorelasi    1.000 Tak Tolak H0
## Homoskedastisitas   0.214 Tak Tolak H0
## Normality           0.034     Tolak H0

7. Pendugaan Parameter & Pengujian Kelayakan Model

model.layak <- lm(Y~X1+X9, data = dt.new)
summary(model.layak)
## 
## Call:
## lm(formula = Y ~ X1 + X9, data = dt.new)
## 
## Residuals:
##     Min      1Q  Median      3Q     Max 
## -6.0939 -1.4493 -0.2603  1.1689  7.7623 
## 
## Coefficients:
##             Estimate Std. Error t value Pr(>|t|)    
## (Intercept)   3.8211     1.3440   2.843  0.00784 ** 
## X1            2.1938     0.2181  10.057  2.8e-11 ***
## X9           -1.3493     0.5077  -2.658  0.01233 *  
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 2.7 on 31 degrees of freedom
## Multiple R-squared:  0.7756, Adjusted R-squared:  0.7612 
## F-statistic: 53.59 on 2 and 31 DF,  p-value: 8.698e-11
par(mfrow=c(2,2))
uji_asumsi(model.layak, "runs", "bp", "ks")

##                   P-value    Keputusan
## E(sisaan) = 0       1.000 Tak Tolak H0
## Non-autokorelasi    0.164 Tak Tolak H0
## Homoskedastisitas   0.204 Tak Tolak H0
## Normality           0.069 Tak Tolak H0

Uji F Simultan

Model di atas merupakan model OLS setelah dilakukan metode stepwise elimination. Terlihat bahwa model tersebut memiliki p-value sebesar 18.698e-11 mendekati 0 < 0.05 maka tolak H0. Artinya, minimal ada satu peubah penjelas yang berpengaruh linier terhadap peubah respon sehingga model layak untuk digunakan.

Uji T Parsial

Model di atas merupakan model OLS setelah dilakukan metode stepwise elimination. Terlihat bahwa peubah X1 dan X9 signifikan terhadap taraf nyata 5%. Artinya, peubah X1 dan X9 secara individu berpengaruh nyata terhadap tingkat prevalensi balita stunting di provinsi-provinsi Indonesia tahun 2021. Sementara itu, peubah X6 memiliki p-value > 0.05 sehingga dikatakan bahwa peubah X6 tidak signifikan pada taraf nyata 5% dan selanjutnya dikeluarkan dari model.

Metode Iterasi Gauss-Seidel

Konversi bentuk matriks

pred <- cbind(intercept=1, X1=dt.new$X1, X9=dt.new$X9)
head(pred)
##      intercept  X1   X9
## [1,]         1 5.2 0.77
## [2,]         1 1.5 1.92
## [3,]         1 4.6 0.84
## [4,]         1 2.5 1.59
## [5,]         1 1.6 1.36
## [6,]         1 1.2 1.96
resp<- dt.new$Y
head(resp)
## [1] 12.1  6.7 15.1  6.0  3.0  4.4

Cara 1

A <- t(pred) %*% pred #(X'X)
b <- t(pred) %*% resp #(X'y)
Ab <- cbind(A,b)
gaussSeidel <- function(A, b, epsilon, maxIterations) {
# Extract the size of the system
n <- length(b)
# Initialize the solution vector x
x <- numeric(n)
# Iterate until either epsilon is reached or maxIterations is reached
for (iteration in 1:maxIterations) {
x_old <- x
# Update each variable using the Gauss-Seidel formula
for (i in 1:n) {
x[i] <- (b[i] - sum(A[i, -i] * x[-i])) / A[i, i]
}
# Check if epsilon is reached
if (max(abs(x - x_old)) < epsilon) {
break
}
}
# Return the solution and the number of iterations
list(x = x, iterations = iteration)
}
result <- gaussSeidel(A, b, 1e-6, 100)
x <- result$x
iterations <- result$iterations
cat("Number of iterations:", iterations, "\n")
## Number of iterations: 72
cat("Solution:", x, "\n")
## Solution: 3.821059 2.193775 -1.349277

Cara 2

gauss_seidel <- function(a, b, tol=1e-6, maxiter=100){
  n <- length(b)
  iter <- 0
  
  
  L <- U <- a
  L[upper.tri(a, diag=FALSE)] <- 0
  U[lower.tri(a, diag=TRUE)] <- 0
  Linv <- solve(L)
  
  x <- rep(0,n)
  x_new <- rep(tol, n)
  
  while(sqrt(sum(x_new-x)^2)>tol){
            if(iter>maxiter){
              warning("iterasi maksimum tercapai")
              break
            }
            x <- x_new
            x_new <- Linv %*% (b - U %*% x)
            iter <- iter+1
  }
      return(list(X = x_new, iter=iter))
}
gauss_seidel(A,b)
## $X
##                [,1]
## intercept  3.821062
## X1         2.193775
## X9        -1.349278
## 
## $iter
## [1] 69

Berdasarkan hasil dugaan parameter dengan metode Iterasi Gauss-Seidel dengan jumlah iterasi sebesar 69 ataupun 72 menghasilkan nilai intersep dan koefisien beta yang sangat mendekati dengan pemodelan regresi linier berganda metode MKT.

8. Pemodelan Regresi Robust Estimasi-M

Model yang digunakan adalah model regresi linier berganda OLS yang merupakan model penuh.

Nilai sisaan

ei <- median(abs(residuals(model.awal) - median(residuals(model.awal))))
ei
## [1] 1.617058

Nilai sigma duga

sigma.duga <- ei/0.6745
sigma.duga
## [1] 2.397417

Nilai mui

mui <- ei/sigma.duga
mui
## [1] 0.6745

Nilai konstanta

# Bobot Huber
c.huber <- 1.345
# Bobot Tukey Bisquare
c.tukbis <- 4.685

Regresi Robust: Pembobot Huber

model.huber.fix <- rlm(Y~., data=dt.new,method="M", psi=psi.huber)
coeftest(model.huber.fix)
## 
## z test of coefficients:
## 
##              Estimate Std. Error z value  Pr(>|z|)    
## (Intercept) -3.980857   6.186098 -0.6435   0.51989    
## X1           2.383313   0.302113  7.8888 3.051e-15 ***
## X2           0.013535   0.042161  0.3210   0.74818    
## X3           0.074225   0.060334  1.2302   0.21861    
## X4           0.014722   0.056459  0.2608   0.79428    
## X5          -0.428440   0.375651 -1.1405   0.25407    
## X6          -0.047027   0.026401 -1.7813   0.07487 .  
## X7           0.026484   0.028225  0.9383   0.34807    
## X8          -0.021452   0.104425 -0.2054   0.83724    
## X9          -0.063501   0.995022 -0.0638   0.94911    
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
summary(model.huber.fix)
## 
## Call: rlm(formula = Y ~ ., data = dt.new, psi = psi.huber, method = "M")
## Residuals:
##       Min        1Q    Median        3Q       Max 
## -3.536331 -1.253691  0.005544  1.245017  7.550433 
## 
## Coefficients:
##             Value   Std. Error t value
## (Intercept) -3.9809  6.1861    -0.6435
## X1           2.3833  0.3021     7.8888
## X2           0.0135  0.0422     0.3210
## X3           0.0742  0.0603     1.2302
## X4           0.0147  0.0565     0.2608
## X5          -0.4284  0.3757    -1.1405
## X6          -0.0470  0.0264    -1.7813
## X7           0.0265  0.0282     0.9383
## X8          -0.0215  0.1044    -0.2054
## X9          -0.0635  0.9950    -0.0638
## 
## Residual standard error: 1.885 on 24 degrees of freedom
nilai_fhuber <- qf(0.05, 9, 24)
print(nilai_fhuber)
## [1] 0.3447713
par(mfrow=c(2,2))
uji_asumsi(model.huber.fix, "runs", "bp", "ks")

##                   P-value    Keputusan
## E(sisaan) = 0       0.463 Tak Tolak H0
## Non-autokorelasi    0.486 Tak Tolak H0
## Homoskedastisitas   0.357 Tak Tolak H0
## Normality           0.177 Tak Tolak H0

Regresi Robust: Pembobot Tukey Bisquare

model.tukbis.fix <- rlm(Y~., data=dt.new, method="M", psi = psi.bisquare)
coeftest(model.tukbis.fix)
## 
## z test of coefficients:
## 
##               Estimate Std. Error z value Pr(>|z|)    
## (Intercept) -5.1480933  5.3768563 -0.9575  0.33834    
## X1           2.3980941  0.2625920  9.1324  < 2e-16 ***
## X2           0.0262245  0.0366457  0.7156  0.47422    
## X3           0.0938224  0.0524412  1.7891  0.07360 .  
## X4          -0.0086147  0.0490733 -0.1755  0.86065    
## X5          -0.6898510  0.3265100 -2.1128  0.03462 *  
## X6          -0.0411760  0.0229469 -1.7944  0.07275 .  
## X7           0.0293181  0.0245325  1.1951  0.23206    
## X8           0.0316603  0.0907646  0.3488  0.72723    
## X9           0.2265518  0.8648569  0.2620  0.79336    
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
summary(model.tukbis.fix)
## 
## Call: rlm(formula = Y ~ ., data = dt.new, psi = psi.bisquare, method = "M")
## Residuals:
##      Min       1Q   Median       3Q      Max 
## -2.73186 -0.60772  0.02474  1.27523  9.01225 
## 
## Coefficients:
##             Value   Std. Error t value
## (Intercept) -5.1481  5.3769    -0.9575
## X1           2.3981  0.2626     9.1324
## X2           0.0262  0.0366     0.7156
## X3           0.0938  0.0524     1.7891
## X4          -0.0086  0.0491    -0.1755
## X5          -0.6899  0.3265    -2.1128
## X6          -0.0412  0.0229    -1.7944
## X7           0.0293  0.0245     1.1951
## X8           0.0317  0.0908     0.3488
## X9           0.2266  0.8649     0.2620
## 
## Residual standard error: 1.521 on 24 degrees of freedom
nilai_ftukbis <- qf(0.05, 9, 24)
print(nilai_ftukbis)
## [1] 0.3447713

Perfoma Model

compare_performance(model.huber.fix, model.tukbis.fix, metrics="all")
## Some of the nested models seem to be identical
## # Comparison of Model Performance Indices
## 
## Name             | Model | AIC (weights) | AICc (weights) | BIC (weights) |  RMSE | Sigma
## -----------------------------------------------------------------------------------------
## model.huber.fix  |   rlm | 178.9 (0.934) |  190.9 (0.934) | 195.7 (0.934) | 2.430 | 2.893
## model.tukbis.fix |   rlm | 184.2 (0.066) |  196.2 (0.066) | 201.0 (0.066) | 2.627 | 3.127

9. Evaluasi Kebaikan Model

Perbandingan antara model robust RLB: pembobot Huber, robust RLB: pembobot Tukey Bisquare, dan RLB metode iterasi Gauss-Seidel berdasarkan nilai galat baku (RSE), AIC, dan AICc.

compare_performance(model.layak, model.huber.fix, model.tukbis.fix, metrics="all")
## # Comparison of Model Performance Indices
## 
## Name             | Model | AIC (weights) | AICc (weights) | BIC (weights) |  RMSE | Sigma |    R2 | R2 (adj.)
## -------------------------------------------------------------------------------------------------------------
## model.layak      |    lm | 168.9 (0.993) |  170.3 (>.999) | 175.0 (>.999) | 2.579 | 2.700 | 0.776 |     0.761
## model.huber.fix  |   rlm | 178.9 (0.007) |  190.9 (<.001) | 195.7 (<.001) | 2.430 | 2.893 |       |          
## model.tukbis.fix |   rlm | 184.2 (<.001) |  196.2 (<.001) | 201.0 (<.001) | 2.627 | 3.127 |       |

Dalam penentuan kebaikan model, dilakukan perbandingan nilai RSE, AIC, dan AICc setiap model yang diterapkan. Semakin kecil nilai ketiga indikator, maka model semakin baik sehingga nilai prediksi Y akan sedekat mungkin dengan aktualnya. Berdasarkan tabel di atas, didapatkan bahwa Model RLB metode MKT dengan Metode Iterasi Gauss-seidel sebagai model terbaik.

10. Penentuan Model Terbaik beserta interpretasi

Model regresi linier berganda terbaik yang terpilih adalah Model RLB metode MKT dengan Metode Iterasi Gauss-seidel.

Persamaan Model RLB metode MKT dengan Metode Iterasi Gauss-seidel dinyatakan sebagai berikut.

\[\widehat{Y} = 3.8211 + 2.1938(X1) - 1.3493(X9)\]

Berdasarkan persamaan model di atas, balita usia 0-59 bulan menurut status gizi dengan indeks BB/U (sangat kurang dan kurang) (X1) berpengaruh positif terhadap persentase prevalensi balita stunting di Indonesia pada tahun 2021, sedangkan rasio imunisasi dasar lengkap pada bayi berusia kurang dari 6 bulan yang mendapat ASI ekslusif (X9) berpengaruh negatif terhadap peubah Y.

Interpetasi :

Intersep

Dugaan rata-rata prevalensi balita stunting di Indonesia pada tahun 2021 (Y) jika tidak dapat dapat dijelaskan oleh persentase balita usia 0-59 bulan menurut status gizi dengan indeks BB/U (sangat kurang dan kurang) (X1) dan rasio imunisasi dasar lengkap pada bayi berusia kurang dari 6 bulan yang mendapat ASI ekslusif (X9) sebesar 3.8211%.

X1

Setiap kenaikan satu persen balita usia 0-59 bulan menurut status gizi dengan indeks BB/U (sangat kurang dan kurang) (X1), maka prevalensi balita stunting di Indonesia pada tahun 2021 (Y) akan meningkat sebesar 2.1938% apabila rasio imunisasi dasar lengkap pada bayi berusia kurang dari 6 bulan yang mendapat ASI ekslusif (X9) diasumsika tetap.

X9

Setiap kenaikan satu persentase rasio imunisasi dasar lengkap pada bayi berusia kurang dari 6 bulan yang mendapat ASI ekslusif (X9), maka prevalensi balita stunting di Indonesia pada tahun 2021 (Y) akan menurun sebesar 1.3493% apabila balita usia 0-59 bulan menurut status gizi dengan indeks BB/U (sangat kurang dan kurang) (X1) diasumsikan tetap.