Pendeteksian dan Penanganan Autokorelasi pada Model Regresi Linear Deret Waktu

1. Pendahuluan

Analisis regresi linier merupakan metode untuk melihat hubungan pengaruh variabel bebas (independent variable) terhadap variabel tak bebas (dependent variable). Untuk memperoleh penduga parameter tak bias maka diperlukan beberapa asumsi yang harus terpenuhi, salah satunya autokorelasi. Sisaan saling bebas atau autokorelasi sisaan adalah korelasi komponen sisaan menurut urutan waktu (untuk timeseries) atau urutan ruang (untuk data silang). Suatu model dikatakan baik apabila sisaan saling bebas atau tidak ada autokorelasi. Uji autokorelasi mempunyai tujuan menguji apakah dalam model regresi linear terdapat korelasi antara kesalahan pengganggu pada periode t dengan kesalahan pada periode t-1 (sebelumnya). Autokorelasi dapat terjadi karena residual (kesalahan pengganggu) tidak bebas dari satu observasi ke obervasi lainnya.

Pendeteksiaan adanya autokorelasi sisaan dapat dilakukan secara eksploratif dengan plot residuals dan plot ACF PACF serta menggunakan uji formal diantara lain uji Run, Durbin Watson dan Breusch-Godfrey Test (Gujarati, 2004). Penanganan autokorelasi dapat dilakukan metode Cochrane-Orcutt dan Hildreth-lu. Metode Cochrane-Orcutt merupakan metode yang digunakan untuk mengatasi autokorelasi. Metode Cochrane-Orcutt dilakukan dengan menghitung nilai ̂ρ (rho) secara berulang sehingga mendapatkan nilai ̂ρ (rho) yang konvergen (Aprianto et al. 2020). Selain itu, terdapat metode Hildreth Lu untuk melakukan penanganan autokorelasi. Prosedur Hildreth-Lu menggunakan pendekatan yang sama untuk memperkirakan parameter autokorelasi ρ untuk digunakan dalam transformasi.

2. Package dan Data

1) Memanggil Library

Dalam pengerjaan analisis mendeteksi gejala autokorelasi dan penanganannya diperlukan beberapa packages. Pastikan library yang dibutuhkan telah di-install dan diaktifkan dengan fungsi install.packages(), lalu dipanggil dengan fungsi library (). Berikut packages yang digunakan:

library(dplyr)
## Warning: package 'dplyr' was built under R version 4.1.3
## 
## Attaching package: 'dplyr'
## The following objects are masked from 'package:stats':
## 
##     filter, lag
## The following objects are masked from 'package:base':
## 
##     intersect, setdiff, setequal, union
library(readxl)
## Warning: package 'readxl' was built under R version 4.1.3
library(ggplot2)
## Warning: package 'ggplot2' was built under R version 4.1.3
library(forecast)
## Warning: package 'forecast' was built under R version 4.1.3
## Registered S3 method overwritten by 'quantmod':
##   method            from
##   as.zoo.data.frame zoo
library(TTR)
## Warning: package 'TTR' was built under R version 4.1.3
library(tseries)
## Warning: package 'tseries' was built under R version 4.1.3
library(lmtest) #uji-Durbin Watson
## Warning: package 'lmtest' was built under R version 4.1.3
## Loading required package: zoo
## Warning: package 'zoo' was built under R version 4.1.2
## 
## Attaching package: 'zoo'
## The following objects are masked from 'package:base':
## 
##     as.Date, as.Date.numeric
library(orcutt) #Cochrane-Orcutt
## Warning: package 'orcutt' was built under R version 4.1.3
library(HoRM) #Hildreth Lu
## Warning: package 'HoRM' was built under R version 4.1.3
library(corrplot)
## Warning: package 'corrplot' was built under R version 4.1.2
## corrplot 0.92 loaded

2) Memanggil Data Indeks Pembangunan Manusia

Data yang digunakan pada pengerjaan mendeteksi gejala autokorelasi dan penanganannya adalah data IPM (Indeks Pembangunan Manusia) Provinsi DKI Jakarta pada tahun 2010 hingga 2021. Data diperoleh dari BPS (Badan Pusat Statistik). Peubah X adalah tahun sedangkan peubah Y adalah nilai IPM.

IPM_JKT <- read_excel("C:/Users/Nanda/Documents/SEMESTER 5/MPDW/KULIAH/K3/Tugas Individu MPDW.xlsx", sheet = "JKT")
head(IPM_JKT)
## # A tibble: 6 x 2
##   Tahun   IPM
##   <dbl> <dbl>
## 1  2010  76.3
## 2  2011  77.0
## 3  2012  77.5
## 4  2013  78.1
## 5  2014  78.4
## 6  2015  79.0

3) Indeks Pembangunan Manusia

Indeks Pembangunan Manusia ndeks 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 mempunyai tiga unsur yaitu kesehatan, pendidikan dan standar kehidupan yang sangat penting dalam menentukan tingkat kemampuan suatu provinsi untuk meningkatkan IPMnya.

3. Eksplorasi Data

1) Plot Time Series

Peubah X adalah tahun sedangkan peubah Y adalah nilai IPM.

x <- IPM_JKT$Tahun
y <- IPM_JKT$IPM

#diagram pencar identifikasi model_ipmjkt
plot(x,y,pch = 20, col = "blue", main = "Plot Nilai IPM DKI Jakarta Tahun 2010 - 2021",
     ylab = "Nilai IPM", xlab = "Tahun")

Tahun <- IPM_JKT$Tahun
IPM <- IPM_JKT$IPM
p <- ggplot(IPM_JKT, aes(x=Tahun, y=IPM)) +
  geom_line(lwd=1.2,col="blue2")
p +labs(x="Year",y = "Indeks Pembangunan",
         title="Plot Indeks Pembangunan Manusia DKI Jakarta ",
        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)

Berdasarkan plot di atas, terlihat bahwa Indeks Pembangunan Manusia di Provinsi DKI Jakarta mengalami kenaikan secara konstan dari tahun ke tahun. Pada tahun 2021 ,IPM mengalami peningkatan sebesar 0,34 persen dari tahun 2020. Pada tahun 2010, IPM DKI Jakarta mencapai 76.31 persen dan selanjutnya pada tahun 2021 naik mencapai 81.11 persen. Selama kurun waktu 11 tahun tersebut, IPM DKI Jakarta telah mengalami kenaikan sebesar4.8 persen. Pada tahun 2020, IPM DKI Jakarta mengalami kenaikan jauh lebih rendah dibandingkan kenaikan pada tahun-tahun lainnya. Hal ini terjadi pada tahun tersebut awal adanya pandemi COVID-19 yang memberikan dampak luas terhadap banyak aspek dalam kehidupan masyarakat, tidak terkecuali IPM. Pertumbuhan IPM pada tahun 2020 mengalami kenaikan hanya sebesar 0.01 persen. Lalu pada tahun 2021, pertumbuhan IPM DKI Jakarta kembali mengalami kenaikan signifikan berarti DKI Jakarta telah dapat beradaptasi dengan pandemi Covid-19.

2) Korelasi

cor(Tahun, IPM)
## [1] 0.9879386
corrplot(corr=cor(IPM_JKT), method = "number", type = "upper")

Dapat terlihat bahwa pada peubah Tahun dan nilai IPM di DKI Jakarta terdapat korelasi yang sangat kuat yautu sebesar 0.9879386.

4. Pemodelan Regresi Data Deret Waktu

Model regresi linear untuk populasi dapat ditunjukan:

                   Y=β0+β1X+ε
Tahun <- IPM_JKT$Tahun
IPM <- IPM_JKT$IPM
model_ipmjkt<- lm(IPM~Tahun, data = IPM_JKT)
summary(model_ipmjkt)
## 
## Call:
## lm(formula = IPM ~ Tahun, data = IPM_JKT)
## 
## Residuals:
##      Min       1Q   Median       3Q      Max 
## -0.42154 -0.16017  0.05061  0.16141  0.30594 
## 
## Coefficients:
##               Estimate Std. Error t value Pr(>|t|)    
## (Intercept) -816.54150   44.39144  -18.39 4.86e-09 ***
## Tahun          0.44437    0.02202   20.18 1.97e-09 ***
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 0.2634 on 10 degrees of freedom
## Multiple R-squared:  0.976,  Adjusted R-squared:  0.9736 
## F-statistic: 407.1 on 1 and 10 DF,  p-value: 1.97e-09

Berdasarkan perhitungan di atas, model regresi linier yang dibentuk IPM DKI Jakarta adalah sebagai berikut:

    Y(IPM) = -816.5415 + 0.44437X(Tahun) + e

Dengan masing-masing uji F-parsial dan F-simultan penduga parameter memiliki nilai P−Value < 0.05 maka tolak H0 yang mengindikasikan bahwa kedua penduga parameter ini berpengaruh terhadap peubah respon dan berpengaruh signifikan. Dengan nilai Multiple R-squared sebesar 97.6%

5. Deteksi Autokorelasi

Pendeteksian autokorelasi dapat dilakukan dengan dua cara yaitu diagnostik secara eksploratif dan uji formal.

1) Diagnostik dengan Eksploratif

Diagnostik dengan eksploratif hanya bersifat subjektif sehingga diperlukan pengujian formal untuk pembuktian pendukungnya.

a. Residual Plot

Pengujian secara eksploratif dapat dilakukan dengan melihat beberapa plot dari sisaan sebagai berikut.

#sisaan dan fitted value
resi1 <- residuals(model_ipmjkt)
fit <- predict(model_ipmjkt)

#Diagnostik dengan eksploratif
par(mfrow = c(2,2))

qqnorm(resi1)
qqline(resi1, col = "steelblue", lwd = 2)

plot(fit, resi1, col = "steelblue", pch = 20, xlab = "Sisaan", 
     ylab = "Fitted Values", main = "Sisaan vs Fitted Values")
abline(a = 0, b = 0, lwd = 2)

hist(resi1, col = "steelblue")

plot(seq(1,12,1), resi1, col = "steelblue", pch = 20, 
     xlab = "Sisaan", ylab = "Order", main = "Sisaan vs Order")
lines(seq(1,12,1), resi1, col = "red")
abline(a = 0, b = 0, lwd = 2)

Berdasarkan keempat plot di atas, dapat menunjukkan model regresi apakah menyebar secara normal atau tidak, kehomogonen ragam serta autokorelasi. Pada normal Q-Q Plot terlihat bahwa model regresi menyebar secara normal karena cenderung membentuk garis lurus dan sebaran titik-titiknya relatif mendekati garis lurus. Sedangkan pada histogram diduga terlihat bahwa model regresi tidak menyebar secara normal melainkan menjulur ke kiri. Pada grafik sisaan vs fitted value terlihat bahwa lebar pita relatif tidak sama sehingga dilakukan pendugaan ragam tidak homogen, begitu juga pada grafik sisaan vs order terlihat bahwa tidak menyebar secara acak dan tidak membentuk pola pita yang sama sehingga diduga terdapat autokorelasi.

b. ACF dan PACF

Pengujian ACF dan PACF dilihat menggunakan lag. Lag adalah beda urutan suatu sisaan dengan sisaan sebelumnya. Misal, lag 1 berarti tiap sisaan dibandingkan dengan sisaan satu observasi sebelumnya. Jika garis vertikal pada tiap lag lebih tinggi dari garis biru horizontal, maka dianggap terjadi adanya gejala autokorelasi di lag tersebut (kecuali lag 0 di plot ACF).

#ACF dan PACF identifikasi autokorelasi
par(mfrow = c(1,2))
acf(resi1)
pacf(resi1)

Secara eksploratif menggunakan ACF dan PACF, terlihat bahwa pada plot ACF tidak terdapat garis hitam yang melewati garis putus-putus biru sehingga terdapat tidak adanya autokorelasi. Untuk memastikan ada tidaknya autokorelasi, maka model akan diuji menggunakan Uji formal.

2) Uji Formal

Selain dengan eksploratif, autokorelasi dapat dilihat dari uji formal pada taraf nyata 5% untuk melakukan pembuktian dari hasil eksploratif mengenai ada tidaknya autokorelasi. Hal ini dikarenakan hasil eksploratif hanya bersifat subjektif.

a. Durbin-Watson Test

H0: tidak terdapat autokorelasi atau sisaan saling bebas H1: terdapat autokorelasi atau sisaan tidak saling bebas

lmtest::dwtest(model_ipmjkt, alternative = 'two.sided')
## 
##  Durbin-Watson test
## 
## data:  model_ipmjkt
## DW = 0.53015, p-value = 0.0001284
## alternative hypothesis: true autocorrelation is not 0

Berdasarkan perhitungan diatas, didapatkan nilai p-value sebesar 0.0001284 yang menunjukkan nilai p-value lebih kecil dari taraf nyata (alpha) 0.05 maka tolak H0 sehingga dapat disimpulkan bahwa belum terdapat cukup bukti untuk menyatakan bahwa sisaan saling bebas atau tidak terdapat autokorelasi pada taraf nyata 5%.

b. Breusch-Godfrey Test

H0: tidak terdapat autokorelasi atau sisaan saling bebas H1: terdapat autokorelasi atau sisaan tidak saling bebas

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

Berdasarkan perhitungan diatas, didapatkan nilai p-value sebesar 0.02329 yang menunjukkan nilai p-value lebih kecil dari taraf nyata (alpha) 0.05 maka tolak H0 sehingga dapat disimpulkan bahwa belum terdapat cukup bukti untuk menyatakan bahwa sisaan saling bebas atau tidak terdapat autokorelasi pada taraf nyata 5%.

6. Penanganan Autokorelasi

Pada Durbin-Watson Test dan Breusch-Godfrey Test terdeteksi adanya autokorelasi, maka diperlukan adanya penanganan menggunakan Cochran Orcutt dan Hildreth-lu.

1) Penanganan Metode Cochrane-Orcutt

modelco <- orcutt::cochrane.orcutt(model_ipmjkt,convergence=4,max.iter = 1000)
modelco 
## Cochrane-orcutt estimation for first order autocorrelation 
##  
## Call:
## lm(formula = IPM ~ Tahun, data = IPM_JKT)
## 
##  number of interaction: 185
##  rho 0.882051
## 
## Durbin-Watson statistic 
## (original):    0.53015 , p-value: 6.42e-05
## (transformed): 1.85597 , p-value: 2.592e-01
##  
##  coefficients: 
## (Intercept)       Tahun 
## -156.599042    0.118213

Telah didapat nilai (ρ) optimum sebesar 0.882051. Selanjutnya akan dilakukan transformasi peubah X dan Y menggunakan nilai (ρ).

#rho optimum
rho <- modelco$rho
y
##  [1] 76.31 76.98 77.53 78.08 78.39 78.99 79.60 80.06 80.47 80.76 80.77 81.11
y[-1]
##  [1] 76.98 77.53 78.08 78.39 78.99 79.60 80.06 80.47 80.76 80.77 81.11
y[-12]
##  [1] 76.31 76.98 77.53 78.08 78.39 78.99 79.60 80.06 80.47 80.76 80.77
(y.trans <- y[-1]-y[-12]*rho)
##  [1] 9.670666 9.629692 9.694564 9.519435 9.845999 9.926769 9.848717 9.852974
##  [9] 9.781333 9.535538 9.866717
(x.trans <- x[-1]-x[-12]*rho)
##  [1] 238.0769 238.1949 238.3128 238.4308 238.5487 238.6667 238.7846 238.9026
##  [9] 239.0205 239.1384 239.2564

a. Model dengan peubah transformasi

modelcorho <- lm(y.trans~x.trans)
summary(modelcorho) 
## 
## Call:
## lm(formula = y.trans ~ x.trans)
## 
## Residuals:
##       Min        1Q    Median        3Q       Max 
## -0.263180 -0.032017 -0.002564  0.086985  0.183823 
## 
## Coefficients:
##             Estimate Std. Error t value Pr(>|t|)
## (Intercept) -18.4707    27.0164  -0.684    0.511
## x.trans       0.1182     0.1132   1.044    0.324
## 
## Residual standard error: 0.14 on 9 degrees of freedom
## Multiple R-squared:  0.1081, Adjusted R-squared:  0.008978 
## F-statistic: 1.091 on 1 and 9 DF,  p-value: 0.3236

Didapat model transformasi dengan intersep sebesar -18.4707 dan koefisien x.trans sebesar 0.1182.

b. Pengecekan Autokorelasi Cochrane-Orcutt

lmtest::dwtest(modelcorho,alternative = 'two.sided') 
## 
##  Durbin-Watson test
## 
## data:  modelcorho
## DW = 1.856, p-value = 0.5185
## alternative hypothesis: true autocorrelation is not 0
lmtest::bgtest(modelcorho, order=1) 
## 
##  Breusch-Godfrey test for serial correlation of order up to 1
## 
## data:  modelcorho
## LM test = 0.045735, df = 1, p-value = 0.8307
lawstat::runs.test(resid(modelcorho), alternative = 'two.sided')
## 
##  Runs Test - Two sided
## 
## data:  resid(modelcorho)
## Standardized Runs Statistic = -0.67082, p-value = 0.5023

Berdasarkan ketiga perhitungan diatas, Durbin-Watson Test, Breusch-Godfrey Test dan Run Test didapatkan nilai p-value masing-masing sebesar 0.5185, 0.8307 dan 0.1153 yang menunjukkan nilai p-value lebih besar dari taraf nyata (alpha) 0.05 maka tak tolak H0 sehingga dapat disimpulkan bahwa terdapat cukup bukti untuk menyatakan bahwa sisaan saling bebas atau tidak terdapat autokorelasi pada taraf nyata 5%.

c. Transformasi Balik

cat("IPM = ", coef(modelcorho)[1]/(1-rho), "+", coef(modelcorho)[2]," Tahun", sep = "") #persamaan regresi setelah di transformasi ke persamaan awal
## IPM = -156.599+0.1182134 Tahun

Model regresi setelah penanganan Cochrane-Orcutt adalah

  Y(IPM) = -156.599+0.1182134X(Tahun) + e

2) Hildreth-lu

hildreth.lu.func<- function(r, model_ipmjkt){
  x <- model.matrix(model_ipmjkt)[,-1]
  y <- model.response(model.frame(model_ipmjkt))
  n <- length(y)
  t <- 2:n
  y <- y[t]-r*y[t-1]
  x <- x[t]-r*x[t-1]
  
  return(lm(y~x))
}
#mencari rho yang meminimumkan SSE (iteratif)
r <- c(seq(0.1,0.8, by= 0.1), seq(0.9,0.99, by= 0.01))
tab <- data.frame("rho" = r, "SSE" = sapply(r, function(i){deviance(hildreth.lu.func(i, model_ipmjkt))}))
round(tab, 4) #0,40 memiliki SSE Terkecil
##     rho    SSE
## 1  0.10 0.4607
## 2  0.20 0.3942
## 3  0.30 0.3366
## 4  0.40 0.2878
## 5  0.50 0.2478
## 6  0.60 0.2167
## 7  0.70 0.1944
## 8  0.80 0.1809
## 9  0.90 0.1763
## 10 0.91 0.1763
## 11 0.92 0.1764
## 12 0.93 0.1766
## 13 0.94 0.1769
## 14 0.95 0.1773
## 15 0.96 0.1778
## 16 0.97 0.1783
## 17 0.98 0.1790
## 18 0.99 0.1797
#grafik rho dan SSE
plot(tab$SSE ~ tab$rho , type = "l")
abline(v = tab[tab$SSE==min(tab$SSE),"rho"], lty = 3)

Pada iterasi pertama dapat terlihat bahwa ρ optimum yang menghasilkan SSE terkecil berada di sekitar 0.9 dan 0.91. Sehingga selang kita perkecil.

#rho optimal di sekitar 0.90 dan 0.91
r <- seq(0.88, 0.95, by= 0.01)
tab <- data.frame("rho" = r, "SSE" = sapply(r, function(i){deviance(hildreth.lu.func(i, model_ipmjkt))}))
round(tab, 4) 
##    rho    SSE
## 1 0.88 0.1765
## 2 0.89 0.1764
## 3 0.90 0.1763
## 4 0.91 0.1763
## 5 0.92 0.1764
## 6 0.93 0.1766
## 7 0.94 0.1769
## 8 0.95 0.1773
#grafik SSE optimum
plot(tab$SSE ~ tab$rho , type = "l")
abline(v = tab[tab$SSE==min(tab$SSE),"rho"], lty = 3)

#mencari rho yang meminimumkan SSE (iteratif)
r <- c(seq(0.1,0.999, by= 0.001))
tab <- data.frame("rho" = r, "SSE" = sapply(r, function(i){deviance(hildreth.lu.func(i, model_ipmjkt))}))
tab$rho[which.min(tab$SSE)]#rho optimal
## [1] 0.902
r <- c(seq(0.1,0.8, by= 0.1), seq(0.9,0.99, by= 0.01))
tab <- data.frame("rho" = r, "SSE" = sapply(r, function(i){deviance(hildreth.lu.func(i, model_ipmjkt))}))
optrho <- which.min(round(tab, 4)[,2])
round(tab, 4)[optrho,]
##   rho    SSE
## 9 0.9 0.1763
#grafik rho dan SSE
plot(tab$SSE ~ tab$rho , type = "l")
abline(v = tab[tab$SSE==min(tab$SSE),"rho"], lty = 3)

Dapat dilihat bahwa nilai ρ optimum yang menghasilkan SSE terkecil adalah sebesar 0.90.

a. Model dengan peubah transformasi

Model optimum yang dapat dibuat dengan metode Hildreth-Lu dengan ρ optimum sebesar 0.90 adalah sebagai berikut:

# Model terbaik
modelhl <- hildreth.lu.func(0.90, model_ipmjkt)
summary(modelhl)
## 
## Call:
## lm(formula = y ~ x)
## 
## Residuals:
##       Min        1Q    Median        3Q       Max 
## -0.262945 -0.031786  0.002045  0.082941  0.182273 
## 
## Coefficients:
##             Estimate Std. Error t value Pr(>|t|)
## (Intercept) -2.92123   27.02291  -0.108    0.916
## x            0.05555    0.13345   0.416    0.687
## 
## Residual standard error: 0.14 on 9 degrees of freedom
## Multiple R-squared:  0.01889,    Adjusted R-squared:  -0.09013 
## F-statistic: 0.1733 on 1 and 9 DF,  p-value: 0.687

b. Pengecekan Asumsi Autokorelasi

lmtest::dwtest(modelhl,alternative = "two.sided")
## 
##  Durbin-Watson test
## 
## data:  modelhl
## DW = 1.8932, p-value = 0.5623
## alternative hypothesis: true autocorrelation is not 0
lmtest::bgtest(modelhl, order=1) 
## 
##  Breusch-Godfrey test for serial correlation of order up to 1
## 
## data:  modelhl
## LM test = 0.020352, df = 1, p-value = 0.8866

Berdasarkan ketiga perhitungan diatas, Durbin-Watson Test dan Breusch-Godfrey Test didapatkan nilai p-value masing-masing sebesar 0.5623 dan 0.8866 yang menunjukkan nilai p-value lebih besar dari taraf nyata (alpha) 0.05 maka tak tolak H0 sehingga dapat disimpulkan bahwa terdapat cukup bukti untuk menyatakan bahwa sisaan saling bebas atau tidak terdapat autokorelasi pada taraf nyata 5%.

c. Transformasi Balik

cat("IPM = ", coef(modelhl)[1]/(1-0.90), "+", coef(modelhl)[2]," Tahun", sep = "") #persamaan regresi setelah di transformasi ke persamaan awal
## IPM = -29.21227+0.05554545 Tahun

Model regresi setelah melakukan penanganan autokorelasi adalah:

        Y(IPM) = -29.21227+0.05554545X(Tahun) + e
        
        

7. Penutupan

Kesimpulan

Berdasarkan penjelasan di atas, pada data deret waktu IPM Provinsi DKI Jakarta tahun 2010-2021 terdapat autokorelasi. Hal ini dapat dideteksi setelah melakukan pengujian dengan secara eksploratif metode grafik residual dan ACF PACF serta uji formal Durbin Watson dan Breusch-Godfrey Test. Oleh karena itu, dilakukan penanganan autokorelasi terhadap data IPM dengan metode Cochrane-Orcutt dan Hildreth-Lu. Setelah dilakukan penanganan menggunakan kedua metode tersebut, masalah autokorelasi pada data IPM Provinsi DKI Jakarta tahun 2010-2021 berhasil diatasi.