Analisis Pengaruh Kelainan Bawaan, BBLR, dan Asfiksia Terhadap Jumlah Kematian Bayi Neonatal di Jawa Tengah Tahun 2021 Menggunakan Estimasi M

PENDAHULUAN

Regresi robust merupakan metode regresi yang digunakan ketika distribusi dari sisaan tidak normal atau ada beberapa pencilan yang berpengaruh pada model. Metode ini merupakan alat penting untuk menganalisa data yang dipengaruhi oleh pencilan sehingga dihasilkan model yang kekar terhadap pencilan (Draper and Simth, 1992). Dalam regresi robust salah satu metode estimasi yang terkenal adalah estimasi M.

LANDASAN TEORI

Regresi Robust Metode Estimasi M

Estimasi-M adalah estimasi ‘tipe maksimum likelihood’. Estimasi-M memenuhi sifat sebagai estimator tak bias dan memiliki variansi minimum dalam kumpulan estimator.

Estimasi M merupakan perluasan dari MLE dan merupakan estimasi yang robust . Prinsip estimasi M adalah adalah meminimumkan \[\ \rho(\epsilon) = \begin{cases} \epsilon^2 & \text{jika } -k \leq \epsilon \leq k \\ 2k|\epsilon| - k^2 & \text{jika } \epsilon < -k \text{ atau } \epsilon > k \end{cases} \]

dengan k = 1,5 \(\hat\sigma\) dan \(\hat\sigma\) adalah estimasi standar deviasi \(\sigma\) dari sisa.

  • Digunakan \(\hat\sigma\) = 1,483 MAD untuk mengestimasi \(\sigma\), dengan MAD (Median of Absolute Deviation) adalah median dari sisa absolut \(ei\) (Birkes dan Dodge, 1993:87)
  • Pada estimasi-M fungsi 𝜌 diminimumkan, dengan 𝜌 merupakan fungsi yang memenuhi:

\[ \sum_{i=1}^{n} \rho \left( \frac{e_i}{S_M} \right) = \sum_{i=1}^{n} \rho \left( \frac{Y_i - x_i' \beta}{S_M} \right) \]

Uji Asumsi Klasik

Uji asumsi klasik pada dasarnya adalah salah satu uji yang digunakan sebagai syarat statistik. Uji asumsi klasik yang harus terpenuhi dalam regresi robust yaitu :

1.Uji normalitas terbukti tidak normal dengan p-value < \(\alpha\)

2.Uji Heterokedastisitas terpenuhi karena nilai p-value > \(\alpha\)

3.Uji non autokorelasi terpenuhi karena nilai p-value > \(\alpha\)

4.Uji multikolinieritas terpenuhi karena nilai VIF < 10

PEMBAHASAN

Data

Data yang digunakan dalam laporan ini merupakan data yang bersumber dari Profil Kesehatan Jawa Tengah Tahun 2021 yang telah difilter sesuai dengan kebutuan analisis. Didapatkan variabel-variabel sebagai berikut :

  • \(Y\) = Jumlah Kematian Bayi Neonatal

  • \(X1\) = Kelainan Bawaan

  • \(X2\) = BBLR

  • \(X3\) = Asfiksia

library(readr)
## Warning: package 'readr' was built under R version 4.2.3
data= read.csv('D:\\angka kematian bayi.csv')
data
##      Y X1 X2 X3
## 1   88 16 27 25
## 2  163 32 74 32
## 3   82 13 39 19
## 4  135 25 49 43
## 5  122 26 41 29
## 6   63 11 21 19
## 7  107 17 27 42
## 8   60  8 16 20
## 9  102 13 34 34
## 10 116 23 65 21
## 11  45 16 14  8
## 12  54  5 13 19
## 13  73  1 37  7
## 14  82 18 24 11
## 15 197 19 95 38
## 16  81  7 32 12
## 17  61  6 22 23
## 18  94 12 30 25
## 19  60 10 24 19
## 20  70 13 30 18
## 21  58 10 24 15
## 22  82  9 20 32
## 23  94 18 46 14
## 24  91 11 36 25
## 25  93 23 23 27
## 26  88 14 44 13
## 27  94 18 29 33
## 28 104 15 38 21
## 29 208 28 84 68
## 30  19  0 13  4
## 31  10  0  1  4
## 32  22  2 12  4
## 33 105 22 10 40
## 34  30  5 10  9
## 35  17  4  8  3

Hasil Analisi Data

Model MKT

model.mkt = lm(Y~.,data=data)
summary(model.mkt)
## 
## Call:
## lm(formula = Y ~ ., data = data)
## 
## Residuals:
##     Min      1Q  Median      3Q     Max 
## -15.624  -5.953  -1.727   3.175  15.603 
## 
## Coefficients:
##             Estimate Std. Error t value Pr(>|t|)    
## (Intercept)  6.58748    2.96762   2.220 0.033881 *  
## X1           1.00612    0.27382   3.674 0.000895 ***
## X2           1.16190    0.09235  12.582 1.02e-13 ***
## X3           1.25584    0.14988   8.379 1.83e-09 ***
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 8.398 on 31 degrees of freedom
## Multiple R-squared:  0.9679, Adjusted R-squared:  0.9648 
## F-statistic: 311.5 on 3 and 31 DF,  p-value: < 2.2e-16

Dari output model MKT didapat Adjusted R-squared: 0.9648 (96.48%) yang berarti bahwa jumlah kematian bayi yang dipengaruhi oleh kelainan bawaan, BBLR, dan asfiksi sebesar 96.48% dan 3.52% dipengaruhi oleh variable lain yang belum masuk kedalam model.

Uji Asumsi Klasik

1. Uji Normalitas

ks.test(model.mkt$residuals, "pnorm")
## 
##  Exact one-sample Kolmogorov-Smirnov test
## 
## data:  model.mkt$residuals
## D = 0.47217, p-value = 1.105e-07
## alternative hypothesis: two-sided
shapiro.test(model.mkt$residuals)
## 
##  Shapiro-Wilk normality test
## 
## data:  model.mkt$residuals
## W = 0.92996, p-value = 0.0279

\(H_0\): Galat menyebar normal

\(H_1\): Galat tidak menyebar normal

Berdasarkan uji Shapiro-Wilk diatas, diperoleh nilai p-value = 0.0279 < \(\alpha\) = 0.05 sehingga \(H_0\) ditolak. Dapat disimpulkan bahwa galat menyebar secara tidak normal, dan memenuhi syarat asumsi untuk regersi robust.

2. Uji Heterokedastisitas

library(lmtest)
## Warning: package 'lmtest' was built under R version 4.2.3
## Loading required package: zoo
## Warning: package 'zoo' was built under R version 4.2.3
## 
## Attaching package: 'zoo'
## The following objects are masked from 'package:base':
## 
##     as.Date, as.Date.numeric
bptest(model.mkt)
## 
##  studentized Breusch-Pagan test
## 
## data:  model.mkt
## BP = 3.8028, df = 3, p-value = 0.2836

\(H_0\): Terjadi Homogenitas

\(H_1\): Tidak terjadi homogenitas

Berdasarkan Breusch-Pagan test, diperoleh nilai p-value = 0.2836 > \(\alpha\) = 0.05 sehingga \(H_0\) diterima. Dapat disimpulkan bahwa tidak terjadi heterokedastisitas yang artinya asumsi homogenitas terpenuhi.

3. Uji Non Autokorelasi

dwtest(model.mkt)
## 
##  Durbin-Watson test
## 
## data:  model.mkt
## DW = 1.6239, p-value = 0.1319
## alternative hypothesis: true autocorrelation is greater than 0

\(H_0\): Tidak terjadi autokorelasi

\(H_1\): Terjadi autokorelasi

Berdasarkan uji Dubin-Watson, diperoleh nilai p-value =0.1319 > \(\alpha\) = 0.05 sehingga \(H_0\) diterima. Dapat disimpulkan bahwa tidak terjadi kasus autokorelasi.

4. Uji Multikoliniearitas

library(car)
## Warning: package 'car' was built under R version 4.2.3
## Loading required package: carData
## Warning: package 'carData' was built under R version 4.2.3
vif(model.mkt)
##       X1       X2       X3 
## 2.432854 1.847059 2.069844

Nilai VIF pada \(X_1\), \(X_2\), dan \(X_3\) kurang dari 10 yang berarti tidak terjadi multikolinearitas. yang berarti asumsi multikolinearitas pada varibel \(X_1\), \(X_2\), dan \(X_3\) terpenuhi.

Estimasi M

Iterasi 1

model<-lm(Y~., data=data)
Beta <- matrix(nrow=35,ncol=4)
Beta[1,] <- model$coefficients
j <- 1
tol <- c(1,rep=4)
while (any(abs(tol)>0.001)){
  res <- model$residuals
  Yhat <- model$fitted.values
  sigma.hat <- 1.483*median(abs(res))
  for (i in 1:35){
    if (res[i]>(1.5*sigma.hat)){res[i]=1.5*sigma.hat}
    else if (res[i]<(-1.5*sigma.hat)){res[i]=-1.5*sigma.hat}
    else res[i]=res[i]
  }
  data[,1] <- Yhat + res
  model <- lm(Y ~., data=data)
  Beta[j+1,] <- model$coefficients
  tol <- Beta[j+1,]-Beta[j,]
  j <- j+1
}
Koef <- Beta[j,]
summary(model)
## 
## Call:
## lm(formula = Y ~ ., data = data)
## 
## Residuals:
##     Min      1Q  Median      3Q     Max 
## -11.841  -5.567  -1.672   3.658  11.980 
## 
## Coefficients:
##             Estimate Std. Error t value Pr(>|t|)    
## (Intercept)  6.05191    2.63029   2.301 0.028289 *  
## X1           1.00770    0.24269   4.152 0.000239 ***
## X2           1.17352    0.08185  14.338 3.17e-15 ***
## X3           1.24995    0.13284   9.409 1.34e-10 ***
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 7.444 on 31 degrees of freedom
## Multiple R-squared:  0.9748, Adjusted R-squared:  0.9723 
## F-statistic: 399.5 on 3 and 31 DF,  p-value: < 2.2e-16

Iterasi 2

Beta <- matrix(nrow = 35, ncol = 4)
Beta[1, ] <- model$coefficients
tol <- c(1, rep=4)
j <- 1

while (any(abs(tol) > 0.001)) {
  res1 <- model$residuals
  yhat1 <- model$fitted.values
  sigma.hat1 <- (median(abs(res1 - (median(res1)))))/0.6745
  u2 <- model$residuals / sigma.hat1
  absu2 <- abs(u2)
  w2 <- weights(model)
  
  for (i in 1:35) {
    if (absu2[i] <= 4.685) {
      w2[i] = 1 - ((u2[i] / 4.685)^2)^2
    } else {
      w2[i] = 0
    }
  }
  model1 <- lm(Y~ ., data = data, weights = w2)
  Beta[j + 1, ] <- model1$coefficients
  tol <- Beta[j + 1, ] - Beta[j, ]
  j <- j + 1
  cat("Iterasi ke-", j, "\n")
  cat("Koefisien beta:", Beta[j, ], "\n")
}
## Iterasi ke- 2 
## Koefisien beta: 6.011255 1.008974 1.173189 1.250295 
## Iterasi ke- 3 
## Koefisien beta: 6.011255 1.008974 1.173189 1.250295
summary(model1)
## 
## Call:
## lm(formula = Y ~ ., data = data, weights = w2)
## 
## Weighted Residuals:
##     Min      1Q  Median      3Q     Max 
## -11.713  -5.541  -1.644   3.686  11.873 
## 
## Coefficients:
##             Estimate Std. Error t value Pr(>|t|)    
## (Intercept)  6.01125    2.62061   2.294 0.028737 *  
## X1           1.00897    0.24208   4.168 0.000229 ***
## X2           1.17319    0.08187  14.330 3.22e-15 ***
## X3           1.25030    0.13244   9.441 1.24e-10 ***
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 7.401 on 31 degrees of freedom
## Multiple R-squared:  0.9749, Adjusted R-squared:  0.9725 
## F-statistic: 401.7 on 3 and 31 DF,  p-value: < 2.2e-16

Iterasi 3

Beta <- matrix(nrow = 35, ncol = 4)
Beta[1, ] <- model1$coefficients
tol <- c(1, rep=4)
j <- 1

while (any(abs(tol) > 0.001)) {
  res2 <- model1$residuals
  yhat2 <- model1$fitted.values
  sigma.hat2 <- (median(abs(res2 - (median(res2)))))/0.6745
  u3 <- model1$residuals / sigma.hat2
  absu3 <- abs(u3)
  w3 <- weights(model1)
  
  for (i in 1:35) {
    if (absu3[i] <= 4.685) {
      w3[i] = 1 - ((u3[i] / 4.685)^2)^2
    } else {
      w3[i] = 0
    }
  }
  model2 <- lm(Y~ ., data = data, weights = w3)
  Beta[j + 1, ] <- model2$coefficients
  tol <- Beta[j + 1, ] - Beta[j, ]
  j <- j + 1
  cat("Iterasi ke-", j, "\n")
  cat("Koefisien beta:", Beta[j, ], "\n")
}
## Iterasi ke- 2 
## Koefisien beta: 6.010131 1.009039 1.17315 1.250322 
## Iterasi ke- 3 
## Koefisien beta: 6.010131 1.009039 1.17315 1.250322
summary(model2)
## 
## Call:
## lm(formula = Y ~ ., data = data, weights = w3)
## 
## Weighted Residuals:
##     Min      1Q  Median      3Q     Max 
## -11.710  -5.541  -1.642   3.686  11.871 
## 
## Coefficients:
##             Estimate Std. Error t value Pr(>|t|)    
## (Intercept)  6.01013    2.62038   2.294 0.028752 *  
## X1           1.00904    0.24207   4.168 0.000228 ***
## X2           1.17315    0.08187  14.329 3.22e-15 ***
## X3           1.25032    0.13243   9.442 1.24e-10 ***
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 7.4 on 31 degrees of freedom
## Multiple R-squared:  0.9749, Adjusted R-squared:  0.9725 
## F-statistic: 401.8 on 3 and 31 DF,  p-value: < 2.2e-16

Iterasi 4

Beta <- matrix(nrow = 35, ncol = 4)
Beta[1, ] <- model2$coefficients
tol <- c(1, rep=4)
j <- 1

while (any(abs(tol) > 0.001)) {
  res3 <- model2$residuals
  yhat3 <- model2$fitted.values
  sigma.hat3 <- (median(abs(res3 - (median(res3)))))/0.6745
  u4 <- model2$residuals / sigma.hat3
  absu4 <- abs(u4)
  w4 <- weights(model2)
  
  for (i in 1:35) {
    if (absu4[i] <= 4.685) {
      w4[i] = 1 - ((u4[i] / 4.685)^2)^2
    } else {
      w4[i] = 0
    }
  }
  model3 <- lm(Y~ ., data = data, weights = w4)
  Beta[j + 1, ] <- model3$coefficients
  tol <- Beta[j + 1, ] - Beta[j, ]
  j <- j + 1
  cat("Iterasi ke-", j, "\n")
  cat("Koefisien beta:", Beta[j, ], "\n")
}
## Iterasi ke- 2 
## Koefisien beta: 6.010063 1.009044 1.173147 1.250324
summary(model3)
## 
## Call:
## lm(formula = Y ~ ., data = data, weights = w4)
## 
## Weighted Residuals:
##     Min      1Q  Median      3Q     Max 
## -11.710  -5.541  -1.642   3.686  11.870 
## 
## Coefficients:
##             Estimate Std. Error t value Pr(>|t|)    
## (Intercept)  6.01006    2.62037   2.294 0.028753 *  
## X1           1.00904    0.24207   4.168 0.000228 ***
## X2           1.17315    0.08187  14.329 3.22e-15 ***
## X3           1.25032    0.13243   9.442 1.24e-10 ***
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 7.4 on 31 degrees of freedom
## Multiple R-squared:  0.9749, Adjusted R-squared:  0.9725 
## F-statistic: 401.8 on 3 and 31 DF,  p-value: < 2.2e-16

Iterasi 5

Beta <- matrix(nrow = 35, ncol = 4)
Beta[1, ] <- model3$coefficients
tol <- c(1, rep=4)
j <- 1

while (any(abs(tol) > 0.001)) {
  res4 <- model3$residuals
  yhat4 <- model3$fitted.values
  sigma.hat4 <- (median(abs(res4 - (median(res4)))))/0.6745
  u5 <- model3$residuals / sigma.hat4
  absu5 <- abs(u5)
  w5 <- weights(model3)
  
  for (i in 1:35) {
    if (absu5[i] <= 4.685) {
      w5[i] = 1 - ((u5[i] / 4.685)^2)^2
    } else {
      w5[i] = 0
    }
  }
  model4 <- lm(Y~ ., data = data, weights = w5)
  Beta[j + 1, ] <- model4$coefficients
  tol <- Beta[j + 1, ] - Beta[j, ]
  j <- j + 1
  cat("Iterasi ke-", j, "\n")
  cat("Koefisien beta:", Beta[j, ], "\n")
}
## Iterasi ke- 2 
## Koefisien beta: 6.010058 1.009044 1.173147 1.250324
summary(model4)
## 
## Call:
## lm(formula = Y ~ ., data = data, weights = w5)
## 
## Weighted Residuals:
##     Min      1Q  Median      3Q     Max 
## -11.710  -5.541  -1.642   3.686  11.870 
## 
## Coefficients:
##             Estimate Std. Error t value Pr(>|t|)    
## (Intercept)  6.01006    2.62037   2.294 0.028753 *  
## X1           1.00904    0.24207   4.168 0.000228 ***
## X2           1.17315    0.08187  14.329 3.22e-15 ***
## X3           1.25032    0.13243   9.442 1.24e-10 ***
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 7.4 on 31 degrees of freedom
## Multiple R-squared:  0.9749, Adjusted R-squared:  0.9725 
## F-statistic: 401.8 on 3 and 31 DF,  p-value: < 2.2e-16

Inteprestasi:

Setelah di uji dengan estimasi M didapatkan model konvergen pada iterasi ke 5 dengan persamaan model regresi robust sebagai berikut

\[Y = 6.01006 + 1.00904X_1+1.17315X_2+1.25032X_3\] Dari persamaan regresi diatas dapat disimpulkan bahwa, setiap kenaikan jumlah kelainan bawaan pada bayi akan menaikan jumlah kematian bayi neonatal sebesar 1.00904, dan setiap kenaikan jumlah BBLR pada bayi akan menaikkan jumlah kematian bayi neonatal sebesar 1.17315 serta setiap kenaikkan jumlah asfiksia pada bayi akan menaikan jumlah kematian bayi neonatal sebesar 1.25032. Selain itu, didapatkan Adjusted R-squared sebesar 0.9725 (97.25%) yang berarti bahwa jumlah kematian bayi neonatal dipengaruhi oleh Kelainan Bawaan, BBLR, dan Asfiksi sebesar 97.25% dan 2.75% dipengaruhi oleh variable lain yang belum masuk kedalam model.

KESIMPULAN

Dari hasil analisi diatas dapat disimpulkan bahwa, seluruh asumsi regresi robust terpenuhi dan dapat dilakukan analisis pengujian menggunakan Estimasi M, dimana dalam analisis Estimasi M didapatan hasil bahwa data konvergen pada iterasi ke 5 dan didapatkan hasil bahwa, jumlah kematian bayi neonatal dipengaruhi oleh Kelainan Bawaan, BBLR, dan Asfiksi sebesar 97.25% dan 2.75% dipengaruhi oleh variable lain yang belum masuk kedalam model.

DAFTAR PUSTAKA

Siagian, Anazta Widya Ananda Br, and Tulus Joseph Marpaung. “Analisis Regresi Robust Estimasi M Terhadap Kecelakaan Lalu Lintas Di Provinsi Sumatera Utara.” Prosiding Seminar Nasional Pemanfaatan Sains dan Teknologi Informasi. Vol. 1. No. 1. 2023.