Tugas STA1341 MPDW - Regresi Deret Waktu Data IPM Provinsi Banten
Pendahuluan
Beberapa aplikasi regresi banyak melibatkan peubah prediktor dan respons yang merupakan deret waktu, hal ini sering terjadi di bidang ekonomi, bisnis, dll (Montgomery et al.ย 2012). Suatu model regresi dapat dikatakan BLUE ketika terpenuhinya asumsi-asumsi dalam analasis regresi diantaranya yaitu: normalitas sisaan, ragam sisaan homogen (homoskedastisitas), tidak adanya hubungan linier antar peubah prediktor (non multikolonieritas), dan kebebasan antar sisaan (non autokorelasi).
Pada data deret waktu terutama pada periode yang pendek sering terjadi masalah autokorelasi, karena urutan pengamatan mempunyai makna maka nilai sisaan pada satu periode terkadang mempengaruhi nilai sisaan pada periode berikutnya. Akibat dari pelanggaran asumsi ini yaitu penduga tidak lagi efisien (ragam tidak minimum) dan penduga galat baku menjadi tidak reliable, sehingga hasil uji-T dan F dapat menjadi tidak valid. Deteksi Autokorelasi dapat dilakukan secara eksplorasi dengan grafis yaitu plot residual vs fitted value dan plot ACF PACF. Serta menggunakan uji formal yaitu uji Durbin-Watson, uji Breusch-Godfrey (BG) atau dengan uji Run-test. Selanjutnya penanganan autokorelasi dapat dilakukan dengan metode Cochrane-Orcutt dan Hildreth-lu.
Data yang digunakan
Jenis data yang digunakan merupakan data time series yaitu data Indeks Pembangunan Manusia (IPM) Provinsi Banten periode tahun 2010 - 2021. Data tersebut merupakan data sekunder yang diambil dari data publikasi Badan Pusat Statistik. Menurut Badan Pusat Statistik, IPM merupakan indikator dalam mengukur keberhasilan membangun kualitas hidup manusia yang mencakup tiga dimensi dasar yaitu umur panjang dan hidup sehat (diukur dengan nilai harapan hidup saat kelahiran dalam tahun), pengetahuan (diukur dengan rata-rata lama sekolah dalam tahun), dan standar hidup layak (diukur dengan Produk Nasional Bruto per kapita). IPM merupakan data strategis, selain sebagai ukuran kinerja Pemerintah juga digunakan sebagai salah satu alokator penentuan Dana Alokasi Umum.
Data akan dianalisis menggunakan model regresi deret waktu dengan peubah โTahunโ sebagai X dan peubah โNilai IPMโ sebagai Y. Package yang akan digunakan antara lain:
library(dplyr)
library(readxl)
library(ggplot2)
library(forecast)
library(TTR)
library(tseries)
library(lmtest) #uji-Durbin Watson
library(orcutt) #Cochrane-Orcutt
library(HoRM)#Hildreth LuData IPM Banten Periode 2010-2021:
#working directory
setwd("E:/SEM 5/MPDW/pertemuan 3")
dataregresi <- read_xlsx("IPM Banten.xlsx")
dataregresi## # A tibble: 12 x 2
## Tahun IPM
## <dbl> <dbl>
## 1 2010 67.5
## 2 2011 68.2
## 3 2012 68.9
## 4 2013 69.5
## 5 2014 69.9
## 6 2015 70.3
## 7 2016 71.0
## 8 2017 71.4
## 9 2018 72.0
## 10 2019 72.4
## 11 2020 72.4
## 12 2021 72.7
Selanjutnya, mengubah nama kolom Tahun dan IPM menjadi peubah X dan Y:
x <- dataregresi$Tahun
y <- dataregresi$IPMEksplorasi Data
p <- ggplot(dataregresi, aes(x=x, y=y)) +
geom_line(lwd=1.2,col="darkblue")
p +labs(x="Tahun",y = "IPM",
title="Time Series Plot Indeks Pembangunan Manusia Provinsi Banten",
subtitle = "Periode 2010 - 2021")+
theme_light()+
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 x dan y
cor(x,y)## [1] 0.9910039
Dari scatter plot di atas terlihat bahwa terdapat hubungan yang kuat dan positif antara peubah Tahun dan IPM, dengan nilai korelasinya sebesar 0,991.
Pemodelan Regresi Deret Waktu
model <- lm(y~x, data = dataregresi)
summary(model)##
## Call:
## lm(formula = y ~ x, data = dataregresi)
##
## Residuals:
## Min 1Q Median 3Q Max
## -0.44256 -0.16263 0.08495 0.18377 0.23807
##
## Coefficients:
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) -897.55341 41.34255 -21.71 9.61e-10 ***
## x 0.48031 0.02051 23.42 4.57e-10 ***
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Residual standard error: 0.2453 on 10 degrees of freedom
## Multiple R-squared: 0.9821, Adjusted R-squared: 0.9803
## F-statistic: 548.3 on 1 and 10 DF, p-value: 4.571e-10
Berdasarkan hasil di atas, didapat model regresi linear adalah \(y=-897,55+0,48x\) dengan nilai kebaikan model \(R-squared = 0,98\) menujukkan bahwa peubah x dapat menjelaskan keragaman peubah y sebesar 98%. Selain itu, dari hasil uji-t parsial menunjukkan bahwa intersep dan koefisien X keduanya berpengaruh nyata pada taraf 5% dan sejalan dengan hasil uji F diperoleh \(pโvalue (4,571e-10) < alpha (0,05)\) menunjukkan bahwa terdapat minimal 1 peubah yang berpengaruh nyata secara signifikan pada taraf 5%.
Deteksi Autokorelasi
Grafik
1. Residual Plot
#Residual dan fitted value
resi1 <- residuals(model)
fit <- predict(model)
#Diagnostik dengan eksploratif
par(mfrow = c(2,2))
qqnorm(resi1)
qqline(resi1, col = "steelblue", lwd = 2)
plot(fit, resi1, col = "steelblue", pch = 20, xlab = "Residual",
ylab = "Fitted Values", main = "Residual 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 = "Residual", ylab = "Order", main = "Residual vs Order")
lines(seq(1,12,1),resi1, col = "red")
abline(a = 0, b = 0, lwd = 2)- Normal Q-Q Plot
Secara eksploratif, qqplot di atas menunjukkan bahwa sisaan berada di sekitar garis normal, sehingga mengindikasikan bahwa sisaan cukup menyebar normal. Dengan uji formal yaitu Kolmogorov-Smirnov test dengan hipotesis:
H0: Ragam sisaan menyebar normal
H1: Ragam sisaan tidak menyebar normal
Berdasarkan hasil uji kolmogorov-smirnov menunjukkan nilai p-value lebih dari alpha (0,05) maka tak tolak H0, cukup bukti untuk menyatakan bahwa ragam sisaan menyebar normal pada taraf nyata 5%.
#Uji Kolmogorov-Smirnov
ks.test(model$residuals, "pnorm", mean=mean(model$residuals),
sd=sd(model$residuals))##
## One-sample Kolmogorov-Smirnov test
##
## data: model$residuals
## D = 0.21761, p-value = 0.5493
## alternative hypothesis: two-sided
- Residual vs Fitted Values
Dari plot terlihat bahwa sisaan cukup menyebar di sekitar titik 0, mengindikasikan asumsi kehomogenan ragam terpenuhi. Uji formal dengan uji Breusch-pagan
H0: Ragam sisaan homogen
H1: Ragam sisaan tidak homogen
Hasilnya diperoleh nilai p-value sebesar 0,15 lebih dari alpha (0,05) maka terima H0 atau cukup bukti untuk menyatakan bahwa ragam sisaan homogen pada taraf nyata 5%.
#Uji Breusch-Pagan
bptest(model)##
## studentized Breusch-Pagan test
##
## data: model
## BP = 2.0341, df = 1, p-value = 0.1538
Histogram
Terlihat data menjulur ke kiri.Residual vs Order
Secara eksploratif terlihat tebaran amatan cukup berpola maka mungkin mengindikasikan ada autokorelasi.
2. Plot ACF PACF
#ACF dan PACF identifikasi autokorelasi
acf(resi1)pacf(resi1)#Bila ACF dan PACF tidak ada yang signifikan, maka sisaan saling bebasBerdasarkan plot ACF di atas, dapat dilihat bahwa hanya lag 0 yang melewati garis dan begitu juga dengan plot PACF tidak ada yang melewati garis, sehingga menunjukkan bahwa pada data tersebut tidak ada autokorelasi. Namun kita perlu melakukan uji formal untuk memastikan apakah terdapat autokorelasi pada data IPM ini.
Uji Statistik
1. Durbin Watson Test
H0: tidak ada autokorelasi
H1: ada autokorelasi
Gambaran tentang statistik Durbin-Watson:
โ Jika ๐ mendekati nol, semakin besar kemungkinan adanya autokorelasi positif
- Jika ๐ mendekati 4, semakin besar kemungkinan adanya autokorelasi negatif
- Jika ๐ mendekati 2, belum cukup bukti adanya autokorelasi negatif atau positif
lmtest::dwtest(model,alternative = 'two.sided') ##
## Durbin-Watson test
##
## data: model
## DW = 0.69649, p-value = 0.001294
## alternative hypothesis: true autocorrelation is not 0
p-value < 5% = Tolak H0 sehingga cukup bukti untuk menyatakan bahwa terdapat autokorelasi positif pada taraf 5%
2. Breusch-Godfrey Test
H0: tidak ada autokorelasi residual H1: ada autokorelasi residual
lmtest::bgtest(y ~ x, data=dataregresi, order=1) ##
## Breusch-Godfrey test for serial correlation of order up to 1
##
## data: y ~ x
## LM test = 3.3701, df = 1, p-value = 0.06639
p-value > 5% = Tak tolak H0 sehingga tidak cukup bukti untuk menyatakan terdapat autokorelasi pada sisaan pada taraf 5%
Karena berdasarkan hasil uji statistik disimpulkan terdapat autokorelasi residual pada data maka selanjutnya dilakukan penanganan autokorelasi.
Penanganan Autokorelasi
1. Cochrane-Orcutt
Metode Cochrane-Orcutt dilakukan dengan menghitung nilai koefisien autokorelasi (\(\rho\)) menggunakan nilai error pada model regresi. Dalam mencari nilai \(\rho\) yang menjamin tidak terdapat masalah autokorelasi, dilakukan secara berulang sampai mendapatkan nilai yang konvergen. Penggunaaan metode Cochrane-Orcutt pada R dapat dilakukan dengan menggunakan fungsi cochrane.orcutt pada library orcutt.
#Interactive method using to solve first order autocorrelation problems.
modelco <- cochrane.orcutt(model, convergence = 3, max.iter = 1000)
summary(modelco) ## Call:
## lm(formula = y ~ x, data = dataregresi)
##
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) -510.011309 149.159940 -3.419 0.007637 **
## x 0.288465 0.073839 3.907 0.003583 **
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Residual standard error: 0.1529 on 9 degrees of freedom
## Multiple R-squared: 0.6291 , Adjusted R-squared: 0.5878
## F-statistic: 15.3 on 1 and 9 DF, p-value: < 3.583e-03
##
## Durbin-Watson statistic
## (original): 0.69649 , p-value: 6.471e-04
## (transformed): 1.89017 , p-value: 2.794e-01
modelco$rho## [1] 0.8026001
cat("y = ", coef(modelco)[1], "+", coef(modelco)[2],"x", sep = "")## y = -510.0113+0.2884647x
Model regresi setelah penanganan autokorelasi dengan metode Cochrane-Orcutt:
\(y=โ510,01+0,29x\)
Dari model terlihat bahwa nilai p-value Durbin-Watson sebesar 0,279 lebih besar dari alpha 0,05. Sehingga tak tolak Ho belum cukup bukti untuk menyatakan bahwa terdapat autokorelasi pada taraf nyata 5% . Nilai \(\rho\) optimum yang digunakan pada model ini adalah 0,80.
2. Metode Hildreth-Lu
Pendekatan Hildreth-Lu di R dapat dilakukan dengan sintaks sebagai berikut:
# Hildreth-Lu, dengan function manual
hildreth.lu.func<- function(r, model){
x <- model.matrix(model)[,-1]
y <- model.response(model.frame(model))
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) = nilainya antara -1 sampai 1
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))}))
round(tab, 4)## rho SSE
## 1 0.10 0.3874
## 2 0.20 0.3427
## 3 0.30 0.3044
## 4 0.40 0.2727
## 5 0.50 0.2474
## 6 0.60 0.2286
## 7 0.70 0.2162
## 8 0.80 0.2104
## 9 0.90 0.2110
## 10 0.91 0.2114
## 11 0.92 0.2119
## 12 0.93 0.2125
## 13 0.94 0.2131
## 14 0.95 0.2138
## 15 0.96 0.2145
## 16 0.97 0.2153
## 17 0.98 0.2162
## 18 0.99 0.2171
#grafik rho dan SSE
plot(tab$SSE ~ tab$rho , type = "l")
abline(v = tab[tab$SSE==min(tab$SSE),"rho"], lty = 3)Metode Hildreth-Lu akan mencari nilai ฯ optimum yang menghasilkan SSE terkecil. Dapat dilihat bahwa nilai ฯ optimum yang menghasilkan SES terkecil adalah sebesar 0,80. Dengan memasukan nilai \(ฯ=0,80\) pada fungsi hildreth.lu.func(), maka model optimum yang dihasilkan sebagai berikut:
modelhl <- hildreth.lu.func(0.80, model)
summary(modelhl)##
## Call:
## lm(formula = y ~ x)
##
## Residuals:
## Min 1Q Median 3Q Max
## -0.27011 -0.08547 -0.02633 0.11053 0.20891
##
## Coefficients:
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) -103.13909 29.44780 -3.502 0.00670 **
## x 0.29127 0.07289 3.996 0.00313 **
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Residual standard error: 0.1529 on 9 degrees of freedom
## Multiple R-squared: 0.6395, Adjusted R-squared: 0.5995
## F-statistic: 15.97 on 1 and 9 DF, p-value: 0.003129
# Deteksi autokorelasi
dwtest(modelhl)##
## Durbin-Watson test
##
## data: modelhl
## DW = 1.8855, p-value = 0.2766
## alternative hypothesis: true autocorrelation is greater than 0
Dengan uji Durbin-Watson, diperoleh nilai Pโvalue= 0,277 > alpha= 0,05. Sehingga tak tolak H0, belum cukup bukti untuk menyatakan bahwa terdapat autokorelasi pada taraf nyata 5%.
# Transformasi Balik
ModelHL <- cat("y = ", coef(modelhl)[1]/(1-0.80), "+", coef(modelhl)[2],"x", sep = "")## y = -515.6955+0.2912727x
Model regresi setelah penanganan autokorelasi dengan metode Hildreth-Lu:
\(y=โ515,695+0,291x\)
Kesimpulan
Model regresi yang terbentuk dari data IPM Provinsi Banten Tahun 2010-2021 telah memenuhi asumsi kenormalan dan kehomogenan sisaan yang dibuktikan melalui uji grafik maupun uji asumsi. Namun terdeteksi adanya autokorelasi dalam data tersebut, sehingga diperlukan adanya penanganan autokorelasi yaitu dapat menggunakan metode Cochrane-Orcutt atau Hildreth Lu. Kedua metode tersebut mampu mengatasi masalah autokorelasi yang ada pada data IPM Provinsi Banten Tahun 2010-2021.
Referensi
Badan Pusat Statistik [BPS]. 2022. Indeks Pembangunan Manusia menurut Provinsi. Diakses pada 4 September 2022 dari https://www.bps.go.id/indicator/26/494/1/-metode-baru-indeks-
Badan Pusat Statistik [BPS]. 2022. Indeks Pembangunan Manusia. Diakses pada 4 September 2022 dari https://www.bps.go.id/subject/26/indeks-pembangunan-manusia.html
Montgomery, D. C., Peck, E. A., & Vining, G. G. (2012). Introduction to Linear Regression Analysis (Fifth Edit). Canada: John Wiley & Sons, Inc.ย All.