ARIMA
by Kelompok 2
A. Call Package
lapply(c("readxl","Mcomp","smooth","fpp2","tseries","TTR","TSA","dplyr","MLmetrics"),library, character.only=T)[[1]]
## [1] "readxl" "stats" "graphics" "grDevices" "utils" "datasets"
## [7] "methods" "base"
CEK <- read_excel("C:/Users/falco/Downloads/CEKKKK.xlsx")
glimpse(CEK)
## Rows: 121
## Columns: 3
## $ Category <dbl> 1901, 1902, 1903, 1904, 1905, 1906, 1907, 1908, 1909, 19~
## $ `Annual Mean` <dbl> 25.40, 25.37, 25.37, 25.36, 25.41, 25.41, 25.33, 25.40, ~
## $ `5-yr smooth` <dbl> 25.41, 25.39, 25.37, 25.35, 25.35, 25.35, 25.37, 25.41, ~
B.Cek kestasioneran
ts.plot(CEK$`Annual Mean`)
acf(CEK$`Annual Mean`)
adf.test(CEK$`Annual Mean`)#ga stasioner
##
## Augmented Dickey-Fuller Test
##
## data: CEK$`Annual Mean`
## Dickey-Fuller = -1.8392, Lag order = 4, p-value = 0.6434
## alternative hypothesis: stationary
C. Differencing
d1<-diff(CEK$`Annual Mean`,differences = 1)
adf.test(d1)
## Warning in adf.test(d1): p-value smaller than printed p-value
##
## Augmented Dickey-Fuller Test
##
## data: d1
## Dickey-Fuller = -7.6104, Lag order = 4, p-value = 0.01
## alternative hypothesis: stationary
ts.plot(d1)
D. Kandidat model
par(mfrow=c(2,1))
acf(d1)#ARIMA(2,1,0)
pacf(d1)#ARIMA(0,1,3)
eacf(d1)#ARIMA(0,1,1), ARIMA(1,1,2), ARIMA(0,1,2)
## AR/MA
## 0 1 2 3 4 5 6 7 8 9 10 11 12 13
## 0 x o o o o o o o o o o o o o
## 1 x o o o o o o o o o o o o o
## 2 x x x o o o o o o o o o o o
## 3 x x x o o o o o o o o o o o
## 4 x o x o o o o o o o o o o o
## 5 x o x o o o o o o o o o o o
## 6 x x x x o o o o o o o o o o
## 7 x o x x o o o o o o o o o o
E. Pemodelan
model1<-arima(CEK$`Annual Mean`,c(2,1,0));aic1<-model1$aic
model2<-arima(CEK$`Annual Mean`,c(0,1,3));aic2<-model2$aic
model3<-arima(CEK$`Annual Mean`,c(0,1,1));aic3<-model3$aic
model4<-arima(CEK$`Annual Mean`,c(1,1,2));aic4<-model4$aic
model5<-arima(CEK$`Annual Mean`,c(0,1,2));aic5<-model5$aic
d<-data.frame(model=paste("model",1:5),ar=c(2,0,0,1,0),i=rep(1,5),
ma=c(0,3,1,2,2),aic=round(c(aic1,aic2,aic3,aic4,aic5),2));d
## model ar i ma aic
## 1 model 1 2 1 0 -157.52
## 2 model 2 0 1 3 -167.36
## 3 model 3 0 1 1 -167.11
## 4 model 4 1 1 2 -167.14
## 5 model 5 0 1 2 -168.93
d[which.min(d$aic),]
## model ar i ma aic
## 5 model 5 0 1 2 -168.93
F. Kesimpulan
Kandidat model terbaik berdasarkan AIC adalah ARIMA(0,1,2), sama seperti ketika menggunakan fungsi auto.arima di R
auto.arima(CEK$`Annual Mean`)
## Series: CEK$`Annual Mean`
## ARIMA(0,1,2) with drift
##
## Coefficients:
## ma1 ma2 drift
## -0.5807 -0.1924 0.0059
## s.e. 0.0923 0.0876 0.0025
##
## sigma^2 = 0.0136: log likelihood = 88.72
## AIC=-169.44 AICc=-169.1 BIC=-158.29