• Data IPM di Kalimantan Tengah pada tahun 2010 – 2021
tahun <- c(2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2018, 2019, 2020, 2021)
ipm <- c(65.96, 66.38, 66.66, 67.41, 67.77, 68.53, 69.13, 69.79, 70.42, 70.91, 71.05, 71.25)
dataipm <- cbind(tahun, ipm)
dataipm <- data.frame(dataipm)
dataipm
## tahun ipm
## 1 2010 65.96
## 2 2011 66.38
## 3 2012 66.66
## 4 2013 67.41
## 5 2014 67.77
## 6 2015 68.53
## 7 2016 69.13
## 8 2017 69.79
## 9 2018 70.42
## 10 2019 70.91
## 11 2020 71.05
## 12 2021 71.25
• Plot hubungan antara Tahun dan IPM di Kalimantan Tengah
plot(dataipm$tahun,dataipm$ipm, pch = 20, col = "blue", main = "Scatter Plot tahun vs IPM Kalimantan Tengah", xlab = "tahun", ylab = "IPM Kalimantan Tengah")
Berdasarkan plot, terlihat bahwa terdapat \(hubungan\) \(linear\) \(antara\) \(tahun\) \(dan\) \(IPM\) dengan kemungkinan berupa hubungan linear yang positif antara tahun dan IPM. Hal ini berarti, semakin tahun bertambah, maka IPM di Kalimantan Tengah juga akan semakin besar.
• Hasil korelasi
cor.test(dataipm$tahun, dataipm$ipm)
##
## Pearson's product-moment correlation
##
## data: dataipm$tahun and dataipm$ipm
## t = 26.642, df = 10, p-value = 1.281e-10
## alternative hypothesis: true correlation is not equal to 0
## 95 percent confidence interval:
## 0.9744922 0.9981081
## sample estimates:
## cor
## 0.9930295
Hubungan linear antara tahun dan IPM Kalimantan Tengah, juga dapat diketahui dari nilai korelasi. Nilai \(korelasi\) antara tahun dan IPM tersebut hampir mendekati sempurna yaitu sebesar \(0.9930295\). Selain itu, didapat nilai \(P-value\) sebesar \(1.281e-10\) \((<0.05)\). Hal ini berarti cukup bukti untuk menyatakan bahwa terdapat hubungan linear antara tahun dan IPM pada taraf nyata 5%.
• Data time series IPM di Kalimantan Tengah pada tahun 2010 – 2021
library(forecast)
## Warning: package 'forecast' was built under R version 4.1.2
## 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.2
dataipmts <- ts(dataipm)
dataipmts <- data.frame(dataipmts)
• Plot Data time series IPM di Kalimantan Tengah pada tahun 2010 – 2021
ts.plot(dataipmts$ipm, xlab="Time Period ", ylab="IPM", main= "Time Series Plot of IPM Kalimantan Tengah tahun 2010 - 2021")
points(dataipmts)
Berdasarkan plot tersebut, terlihat bahwa plot time series pada IPM Kalimantan Tengah di tahun 2010 - 2021 berbentuk tren
• Forecasting dengan metode Double Exponential Smoothing
desipm.opt<- HoltWinters(dataipmts$ipm, gamma = FALSE)
desipm.opt
## Holt-Winters exponential smoothing with trend and without seasonal component.
##
## Call:
## HoltWinters(x = dataipmts$ipm, gamma = FALSE)
##
## Smoothing parameters:
## alpha: 0.7294299
## beta : 1
## gamma: FALSE
##
## Coefficients:
## [,1]
## a 71.2847771
## b 0.1194567
plot(desipm.opt)
#ramalan
ramalandesopt<- forecast(desipm.opt, h=10)
ramalandesopt
## Point Forecast Lo 80 Hi 80 Lo 95 Hi 95
## 13 71.40423 71.11824 71.69023 70.96684 71.84163
## 14 71.52369 71.01785 72.02953 70.75007 72.29731
## 15 71.64315 70.83843 72.44786 70.41244 72.87385
## 16 71.76260 70.60334 72.92187 69.98966 73.53555
## 17 71.88206 70.32260 73.44152 69.49708 74.26705
## 18 72.00152 70.00185 74.00118 68.94330 75.05974
## 19 72.12097 69.64486 74.59709 68.33408 75.90787
## 20 72.24043 69.25438 75.22648 67.67366 76.80720
## 21 72.35989 68.83261 75.88716 66.96539 77.75439
## 22 72.47934 68.38133 76.57736 66.21197 78.74672
plot(ramalandesopt)
Peramalan menggunakan metode DES, karena plot data time series berbentuk tren. Dari metode DES tersebut, didapat parameter smoothing optimum diantaranya lamda = 0.73 dan gamma = 1
• Model Regresi
model<- lm(ipm~tahun, data = dataipm)
summary(model)
##
## Call:
## lm(formula = ipm ~ tahun, data = dataipm)
##
## Residuals:
## Min 1Q Median 3Q Max
## -0.43859 -0.13272 0.00921 0.13464 0.32246
##
## Coefficients:
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) -1.000e+03 4.012e+01 -24.93 2.47e-10 ***
## tahun 5.303e-01 1.991e-02 26.64 1.28e-10 ***
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Residual standard error: 0.238 on 10 degrees of freedom
## Multiple R-squared: 0.9861, Adjusted R-squared: 0.9847
## F-statistic: 709.8 on 1 and 10 DF, p-value: 1.281e-10
Jika dilakukan model regresi linear sederhana, didapatkan persamaan regresi yang terbentuk sebagai berikut. \[IPM_i=(-1.0 )+(0.5303) tahun_i\] Selain itu, pada hasil uji F didapat nilai \(P-value = 1.281 x 10^{-10} (<0.05)\). Hal ini berarti sudah cukup bukti untuk menyatakan bahwa minimal terdapat 1 tahun yang dapat memengaruhi nilai IPM pada taraf nyata 5%. Hasil uji T parsial didapat juga nilai P-Value pada intersep dan variabel tahun < 5%. Hal ini berarti kedua parameter tersebut berpengaruh terhadap IPM pada taraf nyata 5%. Selain itu, didapat nilai \(R^2 = 0.9861\). Hal ini berarti sebesar 98.61% nilai IPM dapat dijelaskan oleh variabel tahun dan sisanya dijelaskan oleh faktor-faktor lain di luar model.
• Hasil Eksploratif
resi1<- residuals(model)
fit<- predict(model)
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", breaks=6)
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 hasil eksploratif, dari plot qq-norm terlihat bahwa titik amatan berada di sekitar garis lurus, yang berarti kemungkinan data menyebar normal. Jika dilihat dari histogram data sedikit terlihat menyebar normal meskipun cenderung menjulur ke kanan, sehingga perlu uji lain, seperti uji kolmogorov-smirnov untuk memastikan apakah data menyebar normal. Jika dilihat dari plot sisaan vs fitted value dan sisaan vs order, plot membentuk suatu pola yang berarti kemungkinan terdapat autokorelasi. Autokorelasi dapat lebih dipastikan dengan melihat plot ACF dan PACF.
• ACF dan PACF
par(mfrow = c(1,1))
acf(resi1)
pacf(resi1)
Berdasarkan plot ACF dan plot PACF semua garis amatan berada di antara garis biru Sehingga, kemungkinan tidak ada autokorelasi pada data tahun dan IPM di Kalimantan Tengah. Untuk lebih memastikan hasil tersebut, dapat dilakukan uji formal yaitu uji durbin Watson.
• UJI DURBIN WATSON
library(lmtest)
## Warning: package 'lmtest' was built under R version 4.1.1
## Loading required package: zoo
## Warning: package 'zoo' was built under R version 4.1.1
##
## Attaching package: 'zoo'
## The following objects are masked from 'package:base':
##
## as.Date, as.Date.numeric
#H0: tidak ada autokorelasi
#H1: ada autokorelasi
dwtest(model)
##
## Durbin-Watson test
##
## data: model
## DW = 0.88164, p-value = 0.003705
## alternative hypothesis: true autocorrelation is greater than 0
Berdasarkan hasil uji Durbin Watson, didapat nilai \(P-value = 0.003705 (<0.05)\). Hal ini berarti tolak H0, sehingga sudah cukup bukti untuk menyatakan bahwa terdapat autokorelasi di data pada taraf nyata 5%.
• PENANGANAN COCHRANE ORCUTT
library(orcutt)
## Warning: package 'orcutt' was built under R version 4.1.2
modelco<-cochrane.orcutt(model)
modelco
## Cochrane-orcutt estimation for first order autocorrelation
##
## Call:
## lm(formula = ipm ~ tahun, data = dataipm)
##
## number of interaction: 31
## rho 0.695017
##
## Durbin-Watson statistic
## (original): 0.88164 , p-value: 3.705e-03
## (transformed): 1.38660 , p-value: 6.468e-02
##
## coefficients:
## (Intercept) tahun
## -928.232390 0.494657
summary(modelco)
## Call:
## lm(formula = ipm ~ tahun, data = dataipm)
##
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) -928.232390 134.507784 -6.901 7.059e-05 ***
## tahun 0.494657 0.066645 7.422 4.008e-05 ***
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Residual standard error: 0.2132 on 9 degrees of freedom
## Multiple R-squared: 0.8596 , Adjusted R-squared: 0.844
## F-statistic: 55.1 on 1 and 9 DF, p-value: < 4.008e-05
##
## Durbin-Watson statistic
## (original): 0.88164 , p-value: 3.705e-03
## (transformed): 1.38660 , p-value: 6.468e-02
Berdasarkan penanganan dengan Cochrane Orcutt, didapat persamaan regresi terbaru yaitu \[IPM_i=(-928.232)+(0.495)tahun_i\] Selain itu, pada hasil uji F didapat nilai \(P-value = <4.008 x 10^{-5} (<0.05)\). Hal ini berarti sudah cukup bukti untuk menyatakan bahwa minimal terdapat 1 tahun yang dapat memengaruhi nilai IPM pada taraf nyata 5%. Hasil uji T parsial didapat juga nilai P-Value pada intersep dan variabel tahun < 5%. Hal ini berarti kedua parameter tersebut berpengaruh terhadap IPM pada taraf nyata 5%. Selain itu, didapat nilai \(R^2 = 0.8596\). Hal ini berarti sebesar 85.96% nilai IPM dapat dijelaskan oleh variabel tahun dan sisanya dijelaskan oleh faktor-faktor lain di luar model.
modelco$rho
## [1] 0.6950169
dwtest(modelco)
##
## Durbin-Watson test
##
## data: modelco
## DW = 1.3866, p-value = 0.06468
## alternative hypothesis: true autocorrelation is greater than 0
Selain itu, dari metode Cochrane – Orcutt, didapat nilai \(ρ\) \(optimum=0.695\). Uji durbin Watson setelah dilakukan penanganan autokorelasi dengan Cochrane – Orcutt, didapat nilai \(P-value = 0.06468 (>0.05)\). Hal ini berarti Tak tolak H0, sehingga belum cukup bukti untuk menyatakan bahwa terdapat autokorelasi tahun dan IPM pada taraf nyata 5%.
• PENANGANAN HILDRETH-LU
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
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.5130
## 2 0.20 0.4810
## 3 0.30 0.4548
## 4 0.40 0.4346
## 5 0.50 0.4202
## 6 0.60 0.4116
## 7 0.70 0.4090
## 8 0.80 0.4122
## 9 0.90 0.4213
## 10 0.91 0.4226
## 11 0.92 0.4239
## 12 0.93 0.4252
## 13 0.94 0.4266
## 14 0.95 0.4281
## 15 0.96 0.4296
## 16 0.97 0.4312
## 17 0.98 0.4329
## 18 0.99 0.4346
Pada metode tersebut, terlebih dahulu mencari nilai ρ optimum dengan melihat nilai SSE terkecil. Berdasarkan gambar diatas, terlihat bahwa nilai ρ optimum berada di sekitar 0.70.
plot(tab$SSE ~ tab$rho , type = "l", xlab="rho", ylab="SSE")
abline(v = tab[tab$SSE==min(tab$SSE),"rho"], lty = 3)
Jika dilihat dari plot di atas, semakin terlihat jelas bahwa nilai ρ optimum berada di sekitar 0.70 atau di antara 0.6 dan 0.8.
#rho optimal di sekitar 0.7
r <- seq(0.6,0.8, 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.60 0.4116
## 2 0.61 0.4111
## 3 0.62 0.4106
## 4 0.63 0.4102
## 5 0.64 0.4099
## 6 0.65 0.4096
## 7 0.66 0.4094
## 8 0.67 0.4092
## 9 0.68 0.4091
## 10 0.69 0.4090
## 11 0.70 0.4090
## 12 0.71 0.4091
## 13 0.72 0.4092
## 14 0.73 0.4094
## 15 0.74 0.4096
## 16 0.75 0.4099
## 17 0.76 0.4102
## 18 0.77 0.4106
## 19 0.78 0.4111
## 20 0.79 0.4116
## 21 0.80 0.4122
Jika intervalnya semakin diperkecil, semakin terlihat jelas bahwa ρ optimum berada antara nilai 0.69 dan 0.70.
plot(tab$SSE ~ tab$rho , type = "l")
abline(v = tab[tab$SSE==min(tab$SSE),"rho"], lty = 3)
Jika diperjelas dengan plot, terlihat bahwa nilai \(ρ\) \(optimum = 0.70\).
modelhl <- hildreth.lu.func(0.70, model)
summary(modelhl)
##
## Call:
## lm(formula = y ~ x)
##
## Residuals:
## Min 1Q Median 3Q Max
## -0.2703 -0.1949 0.1142 0.1709 0.2260
##
## Coefficients:
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) -277.87035 41.02408 -6.773 8.15e-05 ***
## x 0.49367 0.06775 7.286 4.63e-05 ***
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Residual standard error: 0.2132 on 9 degrees of freedom
## Multiple R-squared: 0.8551, Adjusted R-squared: 0.8389
## F-statistic: 53.09 on 1 and 9 DF, p-value: 4.632e-05
Berdasarkan penanganan dengan Hildreth-Lu dengan ρ = 0.70, didapat persamaan regresi terbaru yaitu \[IPM_i=(-277.87035)+(0.494) tahun_i\] Selain itu, pada hasil uji F didapat nilai \(P-value = 4.632 x 10^{-5} (< 0.05)\). Hal ini berarti sudah cukup bukti untuk menyatakan bahwa minimal terdapat 1 tahun yang dapat memengaruhi nilai IPM pada taraf nyata 5%. Hasil uji T parsial didapat juga nilai P-Value pada intersep dan variabel tahun < 5%. Hal ini berarti kedua parameter tersebut berpengaruh terhadap IPM pada taraf nyata 5%. Selain itu, didapat nilai \(R^2 = 0.8551\). Hal ini berarti sebesar 85.51% nilai IPM dapat dijelaskan oleh variabel tahun dan sisanya dijelaskan oleh faktor-faktor lain di luar model.
dwtest(modelhl)
##
## Durbin-Watson test
##
## data: modelhl
## DW = 1.3914, p-value = 0.06586
## alternative hypothesis: true autocorrelation is greater than 0
Hasil uji durbin Watson setelah penanganan dengan Hildreth-Lu, didapat nilai \(P-value = 0.06586 (>0.05)\). Hal ini berarti Tak tolak H0, sehingga belum cukup bukti untuk menyatakan bahwa terdapat autokorelasi antara tahun dan IPM pada taraf nyata 5%.
• PEMILIHAN METODE ANALISIS REGRESI TERBAIK
RSS_ols <- c(crossprod(model$residuals))
MSE_ols <- RSS_ols / length(model$residuals)
RMSE_ols <- sqrt(MSE_ols)
RSS_cochrane <- c(crossprod(modelco$residuals))
MSE_cochrane <- RSS_cochrane / length(modelco$residuals)
RMSE_cochrane <- sqrt(MSE_cochrane)
RSS_hildreth <- c(crossprod(modelhl$residuals))
MSE_hildreth <- RSS_hildreth / length(modelhl$residuals)
RMSE_hildreth <- sqrt(MSE_hildreth)
RMSE <- c(RMSE_ols,RMSE_cochrane, RMSE_hildreth)
MSE <- c(MSE_ols,MSE_cochrane, MSE_hildreth)
akurasi <- cbind(RMSE,MSE)
row.names(akurasi)<- c("Model Regresi Awal (OLS)","Cochrane Orcutt", "Hildreth-Lu")
akurasi
## RMSE MSE
## Model Regresi Awal (OLS) 0.2173034 0.04722077
## Cochrane Orcutt 0.2508658 0.06293365
## Hildreth-Lu 0.1928265 0.03718205
Berdasarkan nilai RMSE dan MSE, didapat bahwa metode regresi terbaik yaitu dengan metode Hildreth-Lu. Hal tersebut dikarenakan memiliki nilai RMSE dan MSE terkecil.
\(KESIMPULAN\)
Pemodelan dengan metode Regresi Linear Sederhana (OLS) pada data IPM di Kalimantan Tengah pada tahun 2010 - 2021, masih memiliki autokorelasi di dalamnya. Permasalahan autokerelasi tersebut dapat diatasi dengan metode Cochrane-Orcutt dan Hildreth-Lu dan nilai dari R^2 pun semakin mengecil. Selain itu, model regresi terbaik didapat dengan menggunakan metode Hildreth-Lu. Sehingga, didapat persamaan regresi terbaru yaitu \[IPM_i=(-277.87035)+(0.494) tahun_i\] dan ρ = 0.70.