Penanganan Autokorelasi IPM Provinsi Kalimantan Barat Tahun 2010-2021

Pendahuluan

Indeks Pembangunan Manusia (IPM) merupakan indikator komposit untuk mengukur capaian pembangunan kualitas hidup manusia. Indeks ini terbentuk dari rata-rata ukur capaian tiga dimensi utama pembangunan manusia, yaitu umur panjang dan hidup sehat, pengetahuan, dan standar hidup layak (BPS, 2020). IPM diperkenalkan oleh United Nations Development Programme (UNDP) pada tahun 1990 dan dipublikasikan secara berkala dalam laporan tahunan Human Development Report (HDR). IPM merupakan indikator penting untuk mengukur keberhasilan dalam upaya membangun kualitas hidup manusia (masyarakat/penduduk). IPM dapat menentukan peringkat atau level pembangunan suatu wilayah/negara. Bagi Indonesia, IPM merupakan data strategis karena selain sebagai ukuran kinerja Pemerintah, IPM juga digunakan sebagai salah satu alokator penentuan Dana Alokasi Umum (DAU).

Data Indeks Pembangunan Manusia Tahun 2010-2021 Provinsi Kalimantan Barat dipilih pada penelitian ini karena pembangunan manusia di Kalimantan Barat terus mengalami kemajuan. Selama 2010-2021, IPM Kalimantan Barat rata-rata meningkat sebesar 0,84 persen per tahun dari 61,97 pada tahun 2010 menjadi 67,90 pada tahun 2021. Setelah mengalami perlambatan pada tahun 2020 karena Pandemi COVID-19, peningkatan IPM Kalimantan Barat sudah kembali membaik pada tahun 2021 seiring dengan perbaikan kinerja ekonomi yang berpengaruh positif terhadap indikator pengeluaran riil per kapita (yang disesuaikan).Dengan capaian IPM tersebut, Kalimantan Barat berada pada posisi status pembangunan manusia kategori “sedang” (BPS Kalimantan Barat 2021).

Data Preparation

Library yang digunakan untuk pengolahan data deret waktu dan pendeteksian autokorelasi serta penanganannya yaitu

tidyverse forecast TTR readxl tseries lmtest orcutt HoRM ggplot2

Data yang digunakan adalah Indeks Pembangunan Manusia Provinsi Kalimantan Barat Tahun 2010-2021 yang etrdiri dari 12 tahun observasi. Berikut ini adalah data IPM Provinsi Kalimantan Barat 2010-2021.

setwd("D:/STATISTIKA IPB/SEMESTER 5/MPDW/tugas")
data_ipm <- read_xlsx("Tugas Individu MPDW.xlsx", sheet = "Sheet1")
Tahun <- data_ipm$Tahun
IPM <- data_ipm$IPM
knitr::kable(data_ipm)
Tahun IPM
2010 61.97
2011 62.35
2012 63.41
2013 64.30
2014 64.89
2015 65.59
2016 65.88
2017 66.26
2018 66.98
2019 67.65
2020 67.66
2021 67.90

Berikut ini merupakan plot deret waktu Indeks Pembangunan Manusia Provinsi Kalimantan Barat Tahun 2010-2021.

p <- ggplot(data_ipm, aes(x=Tahun, y=IPM)) +
  geom_line(lwd=1.2,col="purple")
p +labs(x="Tahun",y = "Indeks Pembangunan Manusia",
         title="Time Series Plot Indeks Pembangunan Manusia Provinsi Kalimantan Barat ",
        subtitle = "Periode 2010 - 2021")+
  theme_bw()+
  theme(
    plot.title = element_text(size = 14L,
                              face = "bold",
                              hjust = 0.5),
    plot.subtitle = element_text(size = 11L,
                              face = "plain",
                              hjust = 0.5)
  )+geom_point(size=2) +geom_text(aes(label=paste(IPM,"%")),vjust=-0.8,size=3)

Korelasi

cor(data_ipm$Tahun, data_ipm$IPM)
## [1] 0.9849726

Berdasarkan pengamatan dari plot deret waktu tersebut, secara visual, terlihat bahwa tahun dan IPM Kalbar memiliki hubungan positif dengan korelasi sebesar 0.9849726 yang artinya tahun dan IPM memiliki hubungan yang sangat kuat.

Model Regresi Deret Waktu

model.regresi <- lm(IPM ~ Tahun, data = data_ipm)
summary(model.regresi)
## 
## Call:
## lm(formula = IPM ~ Tahun, data = data_ipm)
## 
## Residuals:
##      Min       1Q   Median       3Q      Max 
## -0.58987 -0.28821  0.09429  0.28679  0.46726 
## 
## Coefficients:
##               Estimate Std. Error t value Pr(>|t|)    
## (Intercept) -1.066e+03  6.272e+01  -16.99 1.05e-08 ***
## Tahun        5.612e-01  3.112e-02   18.04 5.89e-09 ***
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 0.3721 on 10 degrees of freedom
## Multiple R-squared:  0.9702, Adjusted R-squared:  0.9672 
## F-statistic: 325.2 on 1 and 10 DF,  p-value: 5.885e-09

Berdasarkan summary model regresi dapat diketahui bahwa model regresi awal pada data ini adalah IPM = -1.066e+03 + 5.612e-01 Tahun. Nilai R2 0.9702 dan adjusted R2 0.9672 menunjukkan 97% dari data dapat dijelaskan oleh model.

Deteksi Autokorelasi

1. Dignostik dengan eksploratif dan Residual Plot

resi_data<- residuals(model.regresi)
fit<- predict(model.regresi)

par(mfrow = c(2,2))
qqnorm(resi_data)
qqline(resi_data, col = "purple", lwd = 2)
plot(fit, resi_data, col = "purple", pch = 20, xlab = "Sisaan", ylab = "Fitted
Values", main = "Sisaan vs Fitted Values")
abline(a = 0, b = 0, lwd = 2)
hist(resi_data, col = "purple")
plot(seq(1,12,1), resi_data, col = "purple", pch = 20, xlab = "Sisaan", ylab =
"Order", main = "Sisaan vs Order")
lines(seq(1,12,1), resi_data, col = "orange")
abline(a = 0, b = 0, lwd = 2)

Berdasarkan residual plot tersebut, berdasarkan normal qqplot menunjukkan sisaan dari model regresi cenderung menyebar normal. Namun, plot sisaan vs fitted values membentuk pola tertentu, maka asumsi kebebasan tidak terpenuhi maka terindikasi adanya autokorelasi.

2. ACF dan PACF Plot

par(mfrow = c(1,2))
acf(resi_data)
pacf(resi_data)

Berdasarkan identifikasi tersebut, pada plot ACF dan PACF terdapat garis vertikal yang melewati garis horizontal yang berwarna biru sehingga terindikasi adanya autokorelasi.

3. Uji Statistik

1. Durbin Watson

H0: tidak ada autokorelasi H1: ada autokorelasi

lmtest::dwtest(model.regresi, alternative = 'two.sided') 
## 
##  Durbin-Watson test
## 
## data:  model.regresi
## DW = 0.6935, p-value = 0.001251
## alternative hypothesis: true autocorrelation is not 0

Berdasarkan uji Durbin Watson, didapatkan p-value sebesar 0.001251 sehingga < 0.05 (tolak H0), sehingga cukup bukti untuk menyatakan bahwa terdapat autokorelasi (positif) pada taraf 5%.

2. Breusch-Godfrey Test

H0: tidak ada autokorelasi H1: ada autokorelasi

lmtest::bgtest(IPM ~ Tahun, data=data_ipm, order=1) #Perform Breusch-Godfrey test for first-order serial correlation
## 
##  Breusch-Godfrey test for serial correlation of order up to 1
## 
## data:  IPM ~ Tahun
## LM test = 4.3046, df = 1, p-value = 0.03801

Berdasarkan uji Breusch-Godfrey Test, didapatkan p-value sebesar 0.03801 sehingga < 0.05 (tolak H0), sehingga cukup bukti untuk menyatakan bahwa terdapat autokorelasi (positif) pada taraf 5%, maka diperlukan adanya penanganan menggunakan Cochran Orcutt dan Hildreth-lu.

Penanganan Autokorelasi

1. Cochrane-Orcutt

Pada penanganan autokorelasi yang dilakukan dengan pendekatan secara iterative agar mendapatkan penduga p yang lebih baik. Pada RStudio, dapat menggunakan syntax cochrane.orcutt(model) dalam library(orcutt) atau membuat syntax fungsi tersendiri. Notes: convergence=5 dan `max.iter=1000.

cochrane.test <- orcutt::cochrane.orcutt(model.regresi, convergence=5, max.iter=1000)
cochrane.test
## Cochrane-orcutt estimation for first order autocorrelation 
##  
## Call:
## lm(formula = IPM ~ Tahun, data = data_ipm)
## 
##  number of interaction: 121
##  rho 0.806306
## 
## Durbin-Watson statistic 
## (original):    0.69350 , p-value: 6.257e-04
## (transformed): 1.83534 , p-value: 2.475e-01
##  
##  coefficients: 
## (Intercept)       Tahun 
## -597.870916    0.329592
rho <- cochrane.test$rho
rho
## [1] 0.8063059
IPM
##  [1] 61.97 62.35 63.41 64.30 64.89 65.59 65.88 66.26 66.98 67.65 67.66 67.90
IPM[-1]
##  [1] 62.35 63.41 64.30 64.89 65.59 65.88 66.26 66.98 67.65 67.66 67.90
IPM[-12]
##  [1] 61.97 62.35 63.41 64.30 64.89 65.59 65.88 66.26 66.98 67.65 67.66

Transformasi terhadap y dan x

(y.trans <- IPM[-1]-IPM[-12]*rho)
##  [1] 12.38322 13.13683 13.17214 13.04453 13.26881 12.99439 13.14057 13.55417
##  [9] 13.64363 13.11340 13.34534
(x.trans <- Tahun[-1]-Tahun[-12]*rho)
##  [1] 390.3251 390.5188 390.7125 390.9062 391.0999 391.2936 391.4873 391.6810
##  [9] 391.8747 392.0683 392.2620

Model baru dengan peubah transformasi

cochrane.test2 <- lm(y.trans~x.trans)
summary(cochrane.test2)
## 
## Call:
## lm(formula = y.trans ~ x.trans)
## 
## Residuals:
##      Min       1Q   Median       3Q      Max 
## -0.46094 -0.15310  0.00884  0.21456  0.28874 
## 
## Coefficients:
##              Estimate Std. Error t value Pr(>|t|)  
## (Intercept) -115.8041    51.1387  -2.265   0.0498 *
## x.trans        0.3296     0.1307   2.522   0.0327 *
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 0.2655 on 9 degrees of freedom
## Multiple R-squared:  0.4141, Adjusted R-squared:  0.349 
## F-statistic:  6.36 on 1 and 9 DF,  p-value: 0.03267

Pengecekan Autokorelasi

H0: tidak ada autokorelasi H1: ada autokorelasi

lmtest::dwtest(cochrane.test2 ,alternative = 'two.sided') 
## 
##  Durbin-Watson test
## 
## data:  cochrane.test2
## DW = 1.8353, p-value = 0.4949
## alternative hypothesis: true autocorrelation is not 0
bgtest(cochrane.test2)
## 
##  Breusch-Godfrey test for serial correlation of order up to 1
## 
## data:  cochrane.test2
## LM test = 0.11477, df = 1, p-value = 0.7348

Berdasarkan hasil Durbin-Watson test dan Breusch-Godfrey test didapatkan p-value > 0.05 sehingga tidak cukup bukti untuk menyatakan bahwa terdapat autokorelasi (terima H0).

Transformasi Balik

Model regresi yang terbentuk setelah dilakukan penanganan autokorelasi dengan Corhran Orcutt yaitu

cat("IPM = ", coef(cochrane.test2)[1]/(1-rho), "+", coef(cochrane.test2)[2]," Tahun", sep = "") 
## IPM = -597.8709+0.3295925 Tahun

Berdasarkan transformasi balik tersebut dapat diketahui bahwa nilai intersep sebesar -597.8709 artinya jika peubah penjelas tahun bernilai nol, maka dugaan nilai IPM sebesar -597.8709. Pengaruh peubah waktu (Tahun) terhadap IPM bernilai positif sebesar 0.3295925, hal ini menunjukkan bahwa jika waktunya bertambah satu tahun maka dugaan nilai IPM bertambah sebesar 0.3295925.

2. Hildreth.lu

Metode Hildreth-Lu menggunakan package HoRM akan memanfaatkan rho yang telah didapat dari metode Cochrane-Orcutt sebelumnya.

hildreth.lu <- function(rho, model.regresi){
  x <- model.matrix(model.regresi)[,-1]
  y <- model.response(model.frame(model.regresi))
  n <- length(y)
  t<-2:n
  y <- y[t]-rho*y[t-1]
  x <- x[t]-rho*x[t-1]
  return(lm(y~x))
}

Penentuan rho optimum

r <- c(seq(0.1,0.8, by= 0.1), seq(0.9,0.99, by= 0.01))
hildreth.lu(r,model.regresi)
## Warning in rho * y[t - 1]: longer object length is not a multiple of shorter
## object length
## Warning in y[t] - rho * y[t - 1]: longer object length is not a multiple of
## shorter object length
## Warning in rho * x[t - 1]: longer object length is not a multiple of shorter
## object length
## Warning in x[t] - rho * x[t - 1]: longer object length is not a multiple of
## shorter object length
## 
## Call:
## lm(formula = y ~ x)
## 
## Coefficients:
## (Intercept)            x  
##     0.77525      0.03131
tab <- data.frame("rho" = r, "SSE" = sapply(r, function(i){deviance(hildreth.lu(i, model.regresi))}))
round(tab, 4)
##     rho    SSE
## 1  0.10 1.0793
## 2  0.20 0.9622
## 3  0.30 0.8630
## 4  0.40 0.7817
## 5  0.50 0.7181
## 6  0.60 0.6724
## 7  0.70 0.6445
## 8  0.80 0.6344
## 9  0.90 0.6422
## 10 0.91 0.6439
## 11 0.92 0.6459
## 12 0.93 0.6480
## 13 0.94 0.6503
## 14 0.95 0.6527
## 15 0.96 0.6554
## 16 0.97 0.6582
## 17 0.98 0.6612
## 18 0.99 0.6644

Berdasarkan hasil rho yang meminimumlkan SSE didapatkan bahwa 0,80 merupakan rho yang memiliki SSE terkecil.

Grafik Rho dan SSE

plot(tab$SSE ~ tab$rho , type = "l")
abline(v = tab[tab$SSE==min(tab$SSE),"rho"], lty = 3)

### rho optimal di sekitar 0.8

r <- seq(0.7, 0.9, by= 0.01)
tab <- data.frame("rho" = r, "SSE" = sapply(r, function(i){deviance(hildreth.lu(i, model.regresi))}))
round(tab, 4) 
##     rho    SSE
## 1  0.70 0.6445
## 2  0.71 0.6427
## 3  0.72 0.6411
## 4  0.73 0.6396
## 5  0.74 0.6383
## 6  0.75 0.6372
## 7  0.76 0.6363
## 8  0.77 0.6356
## 9  0.78 0.6350
## 10 0.79 0.6346
## 11 0.80 0.6344
## 12 0.81 0.6344
## 13 0.82 0.6346
## 14 0.83 0.6349
## 15 0.84 0.6354
## 16 0.85 0.6361
## 17 0.86 0.6369
## 18 0.87 0.6380
## 19 0.88 0.6392
## 20 0.89 0.6406
## 21 0.90 0.6422

grafik SSE optimum

plot(tab$SSE ~ tab$rho , type = "l")
abline(v = tab[tab$SSE==min(tab$SSE),"rho"], lty = 3)

Model terbaik

modelhildreth.lu <- hildreth.lu (0.81, model.regresi)
summary(model.regresi)
## 
## Call:
## lm(formula = IPM ~ Tahun, data = data_ipm)
## 
## Residuals:
##      Min       1Q   Median       3Q      Max 
## -0.58987 -0.28821  0.09429  0.28679  0.46726 
## 
## Coefficients:
##               Estimate Std. Error t value Pr(>|t|)    
## (Intercept) -1.066e+03  6.272e+01  -16.99 1.05e-08 ***
## Tahun        5.612e-01  3.112e-02   18.04 5.89e-09 ***
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 0.3721 on 10 degrees of freedom
## Multiple R-squared:  0.9702, Adjusted R-squared:  0.9672 
## F-statistic: 325.2 on 1 and 10 DF,  p-value: 5.885e-09

Model terbaik berdasarkan rho yang telah terpilih adalah IPM = -1.066e+03 + 5.612e-01 Tahun

Pengecekan Asumsi Autokorelasi

lmtest::dwtest(modelhildreth.lu,alternative = "two.sided")
## 
##  Durbin-Watson test
## 
## data:  modelhildreth.lu
## DW = 1.8411, p-value = 0.5014
## alternative hypothesis: true autocorrelation is not 0

Berdasarkan hasil Durbin-Watson test didapatkan p-value > 0.05 sehingga tidak cukup bukti untuk menyatakan bahwa terdapat autokorelasi (terima H0).

Transformasi Balik

Model regresi yang terbentuk setelah dilakukan penanganan autokorelasi dengan Hidreth-Lu yaitu

cat("IPM = ", coef(modelhildreth.lu )[1]/(1-rho), "+", coef(modelhildreth.lu)[2]," Tahun", sep = "") 
## IPM = -576.2848+0.3244641 Tahun

Berdasarkan transformasi balik tersebut dapat diketahui bahwa nilai intersep sebesar -827.6223 artinya jika peubah penjelas tahun bernilai nol, maka dugaan nilai IPM sebesar -827.6223. Pengaruh peubah waktu (Tahun) terhadap IPM bernilai positif sebesar 0.2029293, hal ini menunjukkan bahwa jika waktunya bertambah satu tahun maka dugaan nilai IPM bertambah sebesar 0.2029293.

Kesimpulan

Data deret waktu IPM Kalimantan Barat tahun 2010-2021 memiliki masalah autokorelasi. Hal ini teridentifikasi dengan melakukan pengujian secara eksploratif dengan plot sisaan vs urutan dan secara formal dengan uji Durbin-Watson. Terdapat autokorelasi pada data IPM Provinsi Kalimantan Barat. Penanganan autokorelasi dapat dilakukan dengan metode Cochrane-Orcutt dan Hildreth-Lu. Dengan melakukan penanganan menggunakan kedua metode tersebut, masalah autokorelasi pada model regresi IPM Kalimantan Barat tahun 2010-2021 berhasil ditangani.