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 Lu

Data 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$IPM

Eksplorasi 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 bebas

Berdasarkan 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.