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.
<- read_excel("C:/Users/Nanda/Documents/SEMESTER 5/MPDW/KULIAH/K3/Tugas Individu MPDW.xlsx", sheet = "JKT")
IPM_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.
<- IPM_JKT$Tahun
x <- IPM_JKT$IPM
y
#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")
<- IPM_JKT$Tahun
Tahun <- IPM_JKT$IPM
IPM <- ggplot(IPM_JKT, aes(x=Tahun, y=IPM)) +
p geom_line(lwd=1.2,col="blue2")
+labs(x="Year",y = "Indeks Pembangunan",
p 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+ε
<- IPM_JKT$Tahun
Tahun <- IPM_JKT$IPM
IPM <- lm(IPM~Tahun, data = IPM_JKT)
model_ipmjktsummary(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
<- residuals(model_ipmjkt)
resi1 <- predict(model_ipmjkt)
fit
#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
::dwtest(model_ipmjkt, alternative = 'two.sided') lmtest
##
## 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
::bgtest(IPM ~ Tahun, data=IPM_JKT, order=1) lmtest
##
## 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
<- orcutt::cochrane.orcutt(model_ipmjkt,convergence=4,max.iter = 1000)
modelco 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
<- modelco$rho
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
-1] y[
## [1] 76.98 77.53 78.08 78.39 78.99 79.60 80.06 80.47 80.76 80.77 81.11
-12] y[
## [1] 76.31 76.98 77.53 78.08 78.39 78.99 79.60 80.06 80.47 80.76 80.77
<- y[-1]-y[-12]*rho) (y.trans
## [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[-1]-x[-12]*rho) (x.trans
## [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
<- lm(y.trans~x.trans)
modelcorho 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
::dwtest(modelcorho,alternative = 'two.sided') lmtest
##
## Durbin-Watson test
##
## data: modelcorho
## DW = 1.856, p-value = 0.5185
## alternative hypothesis: true autocorrelation is not 0
::bgtest(modelcorho, order=1) lmtest
##
## Breusch-Godfrey test for serial correlation of order up to 1
##
## data: modelcorho
## LM test = 0.045735, df = 1, p-value = 0.8307
::runs.test(resid(modelcorho), alternative = 'two.sided') lawstat
##
## 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
<- function(r, model_ipmjkt){
hildreth.lu.func<- model.matrix(model_ipmjkt)[,-1]
x <- model.response(model.frame(model_ipmjkt))
y <- length(y)
n <- 2:n
t <- y[t]-r*y[t-1]
y <- x[t]-r*x[t-1]
x
return(lm(y~x))
}#mencari rho yang meminimumkan SSE (iteratif)
<- c(seq(0.1,0.8, by= 0.1), seq(0.9,0.99, by= 0.01))
r <- data.frame("rho" = r, "SSE" = sapply(r, function(i){deviance(hildreth.lu.func(i, model_ipmjkt))}))
tab 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
<- seq(0.88, 0.95, by= 0.01)
r <- data.frame("rho" = r, "SSE" = sapply(r, function(i){deviance(hildreth.lu.func(i, model_ipmjkt))}))
tab 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)
<- c(seq(0.1,0.999, by= 0.001))
r <- data.frame("rho" = r, "SSE" = sapply(r, function(i){deviance(hildreth.lu.func(i, model_ipmjkt))}))
tab $rho[which.min(tab$SSE)]#rho optimal tab
## [1] 0.902
<- c(seq(0.1,0.8, by= 0.1), seq(0.9,0.99, by= 0.01))
r <- data.frame("rho" = r, "SSE" = sapply(r, function(i){deviance(hildreth.lu.func(i, model_ipmjkt))}))
tab <- which.min(round(tab, 4)[,2])
optrho 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
<- hildreth.lu.func(0.90, model_ipmjkt)
modelhl 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
::dwtest(modelhl,alternative = "two.sided") lmtest
##
## Durbin-Watson test
##
## data: modelhl
## DW = 1.8932, p-value = 0.5623
## alternative hypothesis: true autocorrelation is not 0
::bgtest(modelhl, order=1) lmtest
##
## 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.