library(readxl)

#Membaca Dataset
df <- read_xlsx("C:/Users/Asus/Downloads/IPM2010-2021.xlsx") 
head(df)
## # A tibble: 6 x 2
##   Tahun IPM  
##   <dbl> <chr>
## 1  2010 67.54
## 2  2011 68.22
## 3  2012 68.92
## 4  2013 69.47
## 5  2014 69.89
## 6  2015 70.27
df$IPM <- as.numeric(df$IPM)

Scatter Plot

plot(df$Tahun,df$IPM, pch = 20, col = "blue", main = "IPM Banten 2010-2021", ylab ="IPM",xlab ="Tahun")

Membangun Model Regresi

reg <- lm(IPM ~ Tahun, data = df)
reg$coefficients
##  (Intercept)        Tahun 
## -897.5534149    0.4803147

Plot ACF dan PACF

par(mfrow = c(1,2))
acf(reg$residuals, main = "ACF IPM Banten")
pacf(reg$residuals, main = "PACF IPM Banten")

Terlihat bahwa hanya garis Lag 0 yang melewati batas pada plot ACF , sehingga diduga bahwa tidak terdapat pelanggaran pada asumsi autokorelasi. Namun hal ini masih perlu untuk dilakukan uji formal untuk mengetahuinya

Uji Formal Model Awal

shapiro.test(reg$residuals)
## 
##  Shapiro-Wilk normality test
## 
## data:  reg$residuals
## W = 0.88119, p-value = 0.09078

Berdasarkan Uji Normalitas, diketahui bahwa nilai p-value > 0.05 sehingga sisaan pada model awal telah menyebar secara normal pada taraf nyata 5%

library(car)
## Loading required package: carData
durbinWatsonTest(reg)
##  lag Autocorrelation D-W Statistic p-value
##    1       0.3934312     0.6964928       0
##  Alternative hypothesis: rho != 0

Berdasarkan output di atas, didapatkan nilai p-value < 0.05 atau dapat dikatakan bahwa Tolak H0 sehingga terdapat pelanggaran pada asumsi Autokorelasi pada taraf nyata 5%.

Adanya pelanggaran asumsi membuat kita perlu untuk melakukan penanganan terhadap pelanggaran tersebut.

Transformasi Cochrane Orcutt

library(orcutt)
## Loading required package: lmtest
## Loading required package: zoo
## 
## Attaching package: 'zoo'
## The following objects are masked from 'package:base':
## 
##     as.Date, as.Date.numeric
mod.oc1 <- cochrane.orcutt(reg)
## Warning in cochrane.orcutt(reg): Did not converge

Pembuatan model Cochrane Orcutt secara default tidak dapat dilakukan karena iterasi yang digunakan terlalu sedikit, sehingga iterasi perlu ditingkatkan dengan parameter max.iter

mod.oc2 <- cochrane.orcutt(reg, max.iter = 100000)
mod.oc2
## Cochrane-orcutt estimation for first order autocorrelation 
##  
## Call:
## lm(formula = IPM ~ Tahun, data = df)
## 
##  number of interaction: 1010
##  rho 0.840333
## 
## Durbin-Watson statistic 
## (original):    0.69649 , p-value: 6.471e-04
## (transformed): 1.95691 , p-value: 3.205e-01
##  
##  coefficients: 
## (Intercept)       Tahun 
## -406.622294    0.237422

Dari metode Cochrane Orcutt didapatkan model :

\(Y = -406.6222 + 0.2374 X\)

Dapat dilihat juga bahwa nilai Durbin-Watson statistics berubah menjadi lebih kecil dari model awal ke model yang telah ditransformasi. Nilai Durbin-Watson telah meningkat hingga melewati 5% sehingga Tak Tolak H0 atau dapat dikatakan tidak terdapat autokorelasi pada model Cochrane Orcutt.

Transformasi Hildreth-Lu

library(HoRM)
## Registered S3 method overwritten by 'quantmod':
##   method            from
##   as.zoo.data.frame zoo
mod.hil <- hildreth.lu(df$IPM,df$Tahun, 0.826)
summary(mod.hil)
## 
## Call:
## lm(formula = y ~ x)
## 
## Residuals:
##      Min       1Q   Median       3Q      Max 
## -0.27274 -0.08242 -0.02925  0.10761  0.21023 
## 
## Coefficients:
##              Estimate Std. Error t value Pr(>|t|)  
## (Intercept) -78.50721   29.42644  -2.668   0.0257 *
## x             0.25942    0.08369   3.100   0.0127 *
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 0.1527 on 9 degrees of freedom
## Multiple R-squared:  0.5163, Adjusted R-squared:  0.4626 
## F-statistic: 9.608 on 1 and 9 DF,  p-value: 0.01273

Setelah membangun model Hildreth-Lu, lalu akan dilakukan pengujian asumsi untuk model Hildreth-Lu.

Uji Formal untuk Model Hildreth-Lu

shapiro.test(mod.hil$residuals)
## 
##  Shapiro-Wilk normality test
## 
## data:  mod.hil$residuals
## W = 0.96073, p-value = 0.7807
durbinWatsonTest(mod.hil)
##  lag Autocorrelation D-W Statistic p-value
##    1      0.02079145      1.931923   0.606
##  Alternative hypothesis: rho != 0

Berdasarkan output di atas, didapatkan nilai p-value untuk Uji asumsi normalitas sisaan dan Autokorelasi > 0.05 atau dapat dikatakan bahwa Tak Tolak H0 sehingga tidak terdapat pelanggaran pada asumsi Normalitas sisaan dan Autokorelasi pada taraf nyata 5%.

Karena tidak terdapat pelanggaran Asumsi Autokorelasi, maka model Hildreth-Lu dapat digunakan dan untuk interpretasinya, perlu dilakukan transformasi balik untuk mendapatkan nilai koefisiennya.

Model Terbaik

MSE.Original <- mean(reg$residuals^2)
MSE.OC<- mean(mod.oc2$residuals^2)
MSE.HL<- mean(mod.hil$residuals^2)
MSE <- cbind(MSE.Original,MSE.OC,MSE.HL)
MSE
##      MSE.Original  MSE.OC     MSE.HL
## [1,]   0.05013979 2.66068 0.01908504

Hasil di atas menunjukkan bahwa model dengan transformasi Hildreth-Lu memiliki nilai MSE terkecil dibandingkan model yang lain.

Transformasi Balik

cat("y = ", coef(mod.hil)[1]/(1-0.826), " + ", coef(mod.hil)[2], " X",sep = "")
## y = -451.1908 + 0.259418 X

Didapatkan hasil persamaan Y = -451.1908 + 0.259418 X untuk model IPM Provinsi Banten pada tahun 2010-2021.

Nilai -451.1908 menunjukkan besarnya nilai yang tidak dapat dijelaskan oleh model IPM Provinsi Banten pada tahun 2010-2021

Nilai 0.259418 menunjukkan bahwa setiap tahun besarnya kenaikan nilai IPM Provinsi Banten