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)
plot(df$Tahun,df$IPM, pch = 20, col = "blue", main = "IPM Banten 2010-2021", ylab ="IPM",xlab ="Tahun")
reg <- lm(IPM ~ Tahun, data = df)
reg$coefficients
## (Intercept) Tahun
## -897.5534149 0.4803147
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
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.
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.
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.
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.
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.
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