2022-09-28

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