R07 STA1341 : Identifikasi dan Pendugaan Parameter Model ARIMA

Package

library(tseries)
library(forecast)
library(TSA)

Data Bangkitan

AR(1)

Data

set.seed(99)
ar1 <- arima.sim(list(order = c(1,0,0), ar = 0.6), n = 175)
ar1 <- ar1[-c(1:25)]

Plot Time Series

plot(ar1,
     col = "navyblue",
     lwd = 1,
     type = "o",
     xlab = "Time",
     ylab = "Data")

Cek Kestasioneran

acf(ar1, main="ACF", lag.max=20)

adf.test(ar1) 
## 
##  Augmented Dickey-Fuller Test
## 
## data:  ar1
## Dickey-Fuller = -3.6153, Lag order = 5, p-value = 0.03429
## alternative hypothesis: stationary
#stasioner

Spesifikasi Model

par(mfrow = c(1,2))
acf(ar1, main="ACF", lag.max=20)
pacf(ar1, main="PACF", lag.max=20) #ARIMA(1,0,0)

par(mfrow = c(1,1))
eacf(ar1) #ARIMA(0,0,5) #ARIMA(1,0,2) #ARIMA(2,0,3) 
## AR/MA
##   0 1 2 3 4 5 6 7 8 9 10 11 12 13
## 0 x x x x x o o o o o o  o  o  o 
## 1 o x o o o o o o o o o  o  o  o 
## 2 x o x o o o o o o o o  o  o  o 
## 3 x x o o o o o o o o o  o  o  o 
## 4 o x o 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 o x o o o o o o o o  o  o  o 
## 7 x x x o o o o o o o o  o  o  o
#Terdapat 4 model tentatif

Model Tentatif :

  1. ARIMA (1,0,0)

  2. ARIMA (0,0,5)

  3. ARIMA (1,0,2)

  4. ARIMA (2,0,3)

Pendugaan Parameter Model

model1.ar1=Arima(ar1, order=c(1,0,0),method="ML")
summary(model1.ar1) #AIC=421.01
## Series: ar1 
## ARIMA(1,0,0) with non-zero mean 
## 
## Coefficients:
##          ar1     mean
##       0.6450  -0.1528
## s.e.  0.0617   0.2189
## 
## sigma^2 = 0.9405:  log likelihood = -207.5
## AIC=421.01   AICc=421.17   BIC=430.04
## 
## Training set error measures:
##                       ME     RMSE       MAE      MPE     MAPE      MASE
## Training set 0.001963777 0.963322 0.7854338 -5.45378 202.1437 0.9313397
##                    ACF1
## Training set 0.05978644
lmtest::coeftest(model1.ar1) #seluruh parameter signifikan
## 
## z test of coefficients:
## 
##            Estimate Std. Error z value Pr(>|z|)    
## ar1        0.644968   0.061691 10.4548   <2e-16 ***
## intercept -0.152769   0.218910 -0.6979   0.4853    
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
model2.ar1=Arima(ar1, order=c(0,0,5),method="ML") 
summary(model2.ar1) #AIC=426.55
## Series: ar1 
## ARIMA(0,0,5) with non-zero mean 
## 
## Coefficients:
##          ma1     ma2     ma3     ma4     ma5     mean
##       0.6970  0.3085  0.1823  0.2168  0.1076  -0.1511
## s.e.  0.0829  0.0969  0.0917  0.1117  0.0828   0.1943
## 
## sigma^2 = 0.9506:  log likelihood = -206.28
## AIC=426.55   AICc=427.34   BIC=447.63
## 
## Training set error measures:
##                       ME      RMSE      MAE      MPE     MAPE      MASE
## Training set 0.001515523 0.9552751 0.784363 12.90049 194.1285 0.9300701
##                   ACF1
## Training set 0.0158404
lmtest::coeftest(model2.ar1) #ma4 dan ma5 tidak signifikan
## 
## z test of coefficients:
## 
##            Estimate Std. Error z value  Pr(>|z|)    
## ma1        0.697012   0.082899  8.4080 < 2.2e-16 ***
## ma2        0.308504   0.096933  3.1826  0.001459 ** 
## ma3        0.182325   0.091681  1.9887  0.046736 *  
## ma4        0.216787   0.111709  1.9406  0.052303 .  
## ma5        0.107601   0.082757  1.3002  0.193532    
## intercept -0.151110   0.194288 -0.7778  0.436709    
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
model3.ar1=Arima(ar1, order=c(1,0,2),method="ML") 
summary(model3.ar1) #AIC=422.19
## Series: ar1 
## ARIMA(1,0,2) with non-zero mean 
## 
## Coefficients:
##          ar1      ma1      ma2     mean
##       0.7467  -0.0537  -0.1792  -0.1590
## s.e.  0.1517   0.1903   0.1389   0.2327
## 
## sigma^2 = 0.9353:  log likelihood = -206.09
## AIC=422.19   AICc=422.6   BIC=437.24
## 
## Training set error measures:
##                      ME      RMSE      MAE      MPE     MAPE     MASE
## Training set 0.00212455 0.9541527 0.780826 1.083697 198.5726 0.925876
##                    ACF1
## Training set 0.01325487
lmtest::coeftest(model3.ar1) #ma1 dan ma2 tidak signifikan
## 
## z test of coefficients:
## 
##            Estimate Std. Error z value  Pr(>|z|)    
## ar1        0.746744   0.151659  4.9238 8.487e-07 ***
## ma1       -0.053711   0.190289 -0.2823    0.7777    
## ma2       -0.179190   0.138872 -1.2903    0.1969    
## intercept -0.159049   0.232749 -0.6833    0.4944    
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
model4.ar1=Arima(ar1, order=c(2,0,3),method="ML") 
summary(model4.ar1) #AIC=425.11
## Series: ar1 
## ARIMA(2,0,3) with non-zero mean 
## 
## Coefficients:
##          ar1     ar2     ma1      ma2      ma3     mean
##       0.0029  0.6134  0.7025  -0.2774  -0.2198  -0.1644
## s.e.  0.4416  0.3126  0.4481   0.2466   0.1337   0.2403
## 
## sigma^2 = 0.9413:  log likelihood = -205.55
## AIC=425.11   AICc=425.9   BIC=446.18
## 
## Training set error measures:
##                       ME      RMSE      MAE      MPE     MAPE      MASE
## Training set 0.003018973 0.9506111 0.769734 6.854966 187.5858 0.9127235
##                     ACF1
## Training set 0.006375239
lmtest::coeftest(model4.ar1) #hanya ar2 yang signifikan
## 
## z test of coefficients:
## 
##             Estimate Std. Error z value Pr(>|z|)  
## ar1        0.0029382  0.4416245  0.0067  0.99469  
## ar2        0.6134403  0.3126265  1.9622  0.04974 *
## ma1        0.7024963  0.4480985  1.5677  0.11694  
## ma2       -0.2774149  0.2465530 -1.1252  0.26052  
## ma3       -0.2198071  0.1337266 -1.6437  0.10024  
## intercept -0.1644415  0.2403440 -0.6842  0.49385  
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
#AIC ARIMA dan Signifikansi Parameter
aic.arima4<-data.frame(
  "Model"=c("ARIMA(1,0,0)", "ARIMA(0,0,5)", "ARIMA(1,0,2)","ARIMA(2,0,3)"),
  "AIC"=c(model1.ar1$aic, model2.ar1$aic, model3.ar1$aic,model4.ar1$aic),
  "Signifikansi"=c("Signifikan","Tidak Signifikan", "Tidak Signifikan","Tidak Signifikan"))

aic.arima4
##          Model      AIC     Signifikansi
## 1 ARIMA(1,0,0) 421.0091       Signifikan
## 2 ARIMA(0,0,5) 426.5528 Tidak Signifikan
## 3 ARIMA(1,0,2) 422.1855 Tidak Signifikan
## 4 ARIMA(2,0,3) 425.1099 Tidak Signifikan
#model yang dipilih adalah model 1, yaitu ARIMA(1,0,0)

ARIMA(1,2,2)

Data

set.seed(77)
arima <- arima.sim(list(order = c(1,2,2), ar = 0.6, ma = c(0.55,0.65)), n = 175)
arima <- arima[-c(1:25)]

Plot Time Series

plot(arima, col = "navyblue", lwd = 1, type = "o", xlab = "Time", ylab = "Data")

Cek Kestasioneran

acf(arima, main="ACF", lag.max=20) 

adf.test(arima) 
## Warning in adf.test(arima): p-value greater than printed p-value
## 
##  Augmented Dickey-Fuller Test
## 
## data:  arima
## Dickey-Fuller = 1.0709, Lag order = 5, p-value = 0.99
## alternative hypothesis: stationary
#tidak stasioner

Penanganan Ketidakstasioneran

# Differencing Satu Kali
dif=diff(arima, difference=1)
plot.ts(dif, xlab="TIME", ylab="DATA") 
points(dif)

acf(dif, lag.max=20) #cek kembali apakah sudah stasioner

adf.test(dif) #tidak stasioner
## 
##  Augmented Dickey-Fuller Test
## 
## data:  dif
## Dickey-Fuller = -1.3154, Lag order = 5, p-value = 0.8616
## alternative hypothesis: stationary
# Differencing Dua Kali
dif2=diff(arima, difference=2)
plot.ts(dif2, xlab="TIME", ylab="STOCK") 
points(dif2)

acf(dif2, lag.max=20) #cek kembali apakah sudah stasioner

adf.test(dif2) #stasioner
## Warning in adf.test(dif2): p-value smaller than printed p-value
## 
##  Augmented Dickey-Fuller Test
## 
## data:  dif2
## Dickey-Fuller = -4.1608, Lag order = 5, p-value = 0.01
## alternative hypothesis: stationary

Spesifikasi Model

par(mfrow = c(1,2))
acf(dif2, main="ACF", lag.max=20) #ARIMA(0,2,3)
pacf(dif2, main="PACF", lag.max=20) #ARIMA(5,2,0)

par(mfrow = c(1,1))
eacf(dif2) #ARIMA(0,2,3) #ARIMA(1,2,2) #ARIMA(2,2,3) #ARIMA(3,2,2) 
## AR/MA
##   0 1 2 3 4 5 6 7 8 9 10 11 12 13
## 0 x x x o o o o o o o o  o  o  o 
## 1 x x 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 o o o o o o o o o  o  o  o 
## 4 x x x o o o o o o o o  o  o  o 
## 5 x x x x x o o o o o o  o  o  o 
## 6 x x x x x o o o o o o  o  o  o 
## 7 o x x o x o o x o o o  o  o  o
#Terdapat 5 model tentatif

Model Tentatif :

  1. ARIMA (0,2,3)

  2. ARIMA (5,2,0)

  3. ARIMA (1,2,2)

  4. ARIMA (2,2,3)

  5. ARIMA (3,2,2)

Pendugaan Parameter Model

model1.ma2=Arima(dif2, order=c(0,0,3),method="ML")
summary(model1.ma2) #AIC=446.22
## Series: dif2 
## ARIMA(0,0,3) with non-zero mean 
## 
## Coefficients:
##          ma1     ma2     ma3     mean
##       1.1262  1.1180  0.3992  -0.6753
## s.e.  0.0653  0.0709  0.0834   0.3028
## 
## sigma^2 = 1.082:  log likelihood = -218.11
## AIC=446.22   AICc=446.64   BIC=461.28
## 
## Training set error measures:
##                        ME     RMSE       MAE      MPE   MAPE      MASE
## Training set -0.003487355 1.026319 0.7989779 18.53132 115.97 0.8016652
##                    ACF1
## Training set 0.09479535
lmtest::coeftest(model1.ma2) #seluruh parameter signifikan
## 
## z test of coefficients:
## 
##            Estimate Std. Error z value  Pr(>|z|)    
## ma1        1.126196   0.065347 17.2340 < 2.2e-16 ***
## ma2        1.117960   0.070898 15.7687 < 2.2e-16 ***
## ma3        0.399173   0.083444  4.7837 1.721e-06 ***
## intercept -0.675315   0.302795 -2.2303   0.02573 *  
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
model2.ma2=Arima(dif2, order=c(5,0,0),method="ML")
summary(model2.ma2) #AIC=449.77
## Series: dif2 
## ARIMA(5,0,0) with non-zero mean 
## 
## Coefficients:
##          ar1      ar2      ar3     ar4      ar5     mean
##       1.2212  -0.2339  -0.6112  0.5766  -0.1773  -0.6710
## s.e.  0.0798   0.1182   0.1080  0.1185   0.0806   0.3701
## 
## sigma^2 = 1.097:  log likelihood = -217.89
## AIC=449.77   AICc=450.56   BIC=470.84
## 
## Training set error measures:
##                        ME     RMSE       MAE      MPE     MAPE      MASE
## Training set -0.003575565 1.026093 0.8061788 30.43585 131.2975 0.8088904
##                      ACF1
## Training set -0.000817307
lmtest::coeftest(model2.ma2) #seluruh parameter signifikan
## 
## z test of coefficients:
## 
##            Estimate Std. Error z value  Pr(>|z|)    
## ar1        1.221215   0.079803 15.3029 < 2.2e-16 ***
## ar2       -0.233859   0.118191 -1.9786   0.04786 *  
## ar3       -0.611157   0.108020 -5.6578 1.533e-08 ***
## ar4        0.576578   0.118468  4.8669 1.133e-06 ***
## ar5       -0.177309   0.080640 -2.1988   0.02789 *  
## intercept -0.671039   0.370115 -1.8131   0.06982 .  
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
model3.ma2=Arima(dif2, order=c(1,0,2),method="ML")
summary(model3.ma2) #AIC=440.98
## Series: dif2 
## ARIMA(1,0,2) with non-zero mean 
## 
## Coefficients:
##          ar1     ma1     ma2     mean
##       0.5128  0.6838  0.7131  -0.6602
## s.e.  0.0777  0.0609  0.0599   0.4000
## 
## sigma^2 = 1.045:  log likelihood = -215.49
## AIC=440.98   AICc=441.39   BIC=456.03
## 
## Training set error measures:
##                        ME    RMSE       MAE      MPE     MAPE      MASE
## Training set -0.004418066 1.00849 0.7745269 14.10371 114.4427 0.7771319
##                    ACF1
## Training set 0.02851083
lmtest::coeftest(model3.ma2) #seluruh parameter signifikan
## 
## z test of coefficients:
## 
##            Estimate Std. Error z value  Pr(>|z|)    
## ar1        0.512801   0.077744  6.5961 4.222e-11 ***
## ma1        0.683781   0.060917 11.2249 < 2.2e-16 ***
## ma2        0.713057   0.059855 11.9131 < 2.2e-16 ***
## intercept -0.660192   0.400003 -1.6505   0.09885 .  
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
model4.ma2=Arima(dif2, order=c(2,0,3),method="ML")
summary(model4.ma2) #AIC=444.26
## Series: dif2 
## ARIMA(2,0,3) with non-zero mean 
## 
## Coefficients:
##          ar1      ar2     ma1     ma2      ma3     mean
##       0.6476  -0.1304  0.5717  0.6765  -0.0461  -0.6696
## s.e.  0.9001   0.4524  0.9012  0.6417   0.6687   0.3708
## 
## sigma^2 = 1.054:  log likelihood = -215.13
## AIC=444.26   AICc=445.04   BIC=465.33
## 
## Training set error measures:
##                        ME     RMSE       MAE     MPE     MAPE      MASE
## Training set -0.003502916 1.005823 0.7764129 19.2656 121.0031 0.7790243
##                     ACF1
## Training set 0.004361866
lmtest::coeftest(model4.ma2) #tidak ada yang signifikan
## 
## z test of coefficients:
## 
##            Estimate Std. Error z value Pr(>|z|)  
## ar1        0.647575   0.900065  0.7195  0.47185  
## ar2       -0.130386   0.452420 -0.2882  0.77320  
## ma1        0.571732   0.901233  0.6344  0.52583  
## ma2        0.676509   0.641728  1.0542  0.29179  
## ma3       -0.046113   0.668699 -0.0690  0.94502  
## intercept -0.669619   0.370820 -1.8058  0.07095 .
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
model5.ma2=Arima(dif2, order=c(3,0,2),method="ML")
summary(model5.ma2) #AIC=444.24
## Series: dif2 
## ARIMA(3,0,2) with non-zero mean 
## 
## Coefficients:
##          ar1      ar2      ar3     ma1     ma2     mean
##       0.5789  -0.0798  -0.0176  0.6400  0.7113  -0.6702
## s.e.  0.1243   0.1955   0.1410  0.0948  0.0968   0.3687
## 
## sigma^2 = 1.054:  log likelihood = -215.12
## AIC=444.24   AICc=445.03   BIC=465.32
## 
## Training set error measures:
##                        ME     RMSE       MAE      MPE     MAPE      MASE
## Training set -0.003453584 1.005812 0.7763457 19.21459 120.6696 0.7789569
##                     ACF1
## Training set 0.005220826
lmtest::coeftest(model5.ma2) #ar2 dan ar3 tidak signifikan
## 
## z test of coefficients:
## 
##            Estimate Std. Error z value  Pr(>|z|)    
## ar1        0.578884   0.124302  4.6571 3.207e-06 ***
## ar2       -0.079815   0.195451 -0.4084   0.68301    
## ar3       -0.017646   0.141018 -0.1251   0.90042    
## ma1        0.639999   0.094800  6.7511 1.468e-11 ***
## ma2        0.711290   0.096752  7.3517 1.958e-13 ***
## intercept -0.670204   0.368720 -1.8177   0.06912 .  
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
#AIC ARIMA dan Signifikansi Parameter
aic.arima3<-data.frame(
  "Model"=c("ARIMA(0,2,3)", "ARIMA(5,2,0)", "ARIMA(1,2,2)","ARIMA(2,2,3)", "ARIMA(3,2,2)"),
  "AIC"=c(model1.ma2$aic, model2.ma2$aic, model3.ma2$aic,model4.ma2$aic,model5.ma2$aic),
  "Signifikansi"=c("Signifikan","Signifikan", "Signifikan","Tidak Signifikan", "Tidak Signifikan"))

aic.arima3
##          Model      AIC     Signifikansi
## 1 ARIMA(0,2,3) 446.2232       Signifikan
## 2 ARIMA(5,2,0) 449.7704       Signifikan
## 3 ARIMA(1,2,2) 440.9779       Signifikan
## 4 ARIMA(2,2,3) 444.2550 Tidak Signifikan
## 5 ARIMA(3,2,2) 444.2449 Tidak Signifikan
#model yang dipilih adalah ARIMA(1,2,2)

Data Asli

Data Kurs

Download data : (Click here)

setwd("D:/MATERI KULIAH S2 IPB/ASPRAK 1/RESPONSI 7")
datakurs<-read.csv("kurs.csv",header=T)
datakurs.ts<-ts(datakurs)

Plot Time Series

plot.ts(datakurs.ts, lty=1, xlab="waktu", ylab="Data Asal Kurs", main="Plot Kurs")
points(datakurs.ts)

Cek Kestasioneran

acf(datakurs.ts, lag.max=40, main="data kurs Indonesia")

adf.test(datakurs.ts) 
## Warning in adf.test(datakurs.ts): p-value smaller than printed p-value
## 
##  Augmented Dickey-Fuller Test
## 
## data:  datakurs.ts
## Dickey-Fuller = -3.9868, Lag order = 12, p-value = 0.01
## alternative hypothesis: stationary

Penanganan Ketidakstasioneran

datakurs.diff<-diff(datakurs.ts,differences = 1) 
plot.ts(datakurs.diff, lty=1, xlab="waktu", ylab="Data Difference 1 Kurs", main="Plot Kurs")
points(datakurs.diff)

acf(datakurs.diff, lag.max=40, main="data difference kurs Indonesia") #cek kembali apakah sudah stasioner

adf.test(datakurs.diff) 
## Warning in adf.test(datakurs.diff): p-value smaller than printed p-value
## 
##  Augmented Dickey-Fuller Test
## 
## data:  datakurs.diff
## Dickey-Fuller = -10.927, Lag order = 12, p-value = 0.01
## alternative hypothesis: stationary

Spesifikasi Model

acf(datakurs.diff, lag.max=20, main="ACF data kurs Indonesia") 

pacf(datakurs.diff, lag.max=20, main="PACF data kurs Indonesia")

eacf(datakurs.diff,ar.max = 7,ma.max = 7)
## AR/MA
##   0 1 2 3 4 5 6 7
## 0 x x o o o o o o
## 1 x o o o o o o o
## 2 x x o o o o o o
## 3 x x x o o o o o
## 4 x x x x o o o o
## 5 o x o x o o o o
## 6 x x o x x o o o
## 7 x x o x x x x o

Model Tentatif :

  1. ARIMA (0,1,2)

  2. ARIMA (2,1,0)

  3. ARIMA (1,1,1)

  4. ARIMA (2,1,2)

  5. ARIMA (3,1,3)

Penentuan Model Terbaik berdasar AIC

model1<-arima(datakurs.diff, order=c(0,0,2), method="ML")   
model2<-arima(datakurs.diff, order=c(2,0,0), method="ML")   
model3<-arima(datakurs.diff, order=c(1,0,1), method="ML")   
model4<-arima(datakurs.diff, order=c(2,0,2), method="ML")   
model5<-arima(datakurs.diff, order=c(3,0,3), method="ML")


#Menggunakan fungsi `Arima`
Arima(datakurs.diff, order=c(0,0,2), method="ML")   
## Series: datakurs.diff 
## ARIMA(0,0,2) with non-zero mean 
## 
## Coefficients:
##          ma1     ma2    mean
##       0.1306  0.0566  2.7250
## s.e.  0.0235  0.0228  1.7961
## 
## sigma^2 = 4148:  log likelihood = -10100.23
## AIC=20208.46   AICc=20208.49   BIC=20230.47
Arima(datakurs.diff, order=c(2,0,0), method="ML")   
## Series: datakurs.diff 
## ARIMA(2,0,0) with non-zero mean 
## 
## Coefficients:
##          ar1     ar2    mean
##       0.1329  0.0496  2.7250
## s.e.  0.0235  0.0235  1.8494
## 
## sigma^2 = 4144:  log likelihood = -10099.31
## AIC=20206.62   AICc=20206.64   BIC=20228.62
Arima(datakurs.diff, order=c(1,0,1), method="ML")   
## Series: datakurs.diff 
## ARIMA(1,0,1) with non-zero mean 
## 
## Coefficients:
##          ar1      ma1    mean
##       0.6156  -0.4931  2.7195
## s.e.  0.1381   0.1535  1.9917
## 
## sigma^2 = 4138:  log likelihood = -10097.93
## AIC=20203.85   AICc=20203.87   BIC=20225.85
Arima(datakurs.diff, order=c(2,0,2), method="ML")   
## Series: datakurs.diff 
## ARIMA(2,0,2) with non-zero mean 
## 
## Coefficients:
## Warning in sqrt(diag(x$var.coef)): NaNs produced
##          ar1     ar2      ma1      ma2    mean
##       0.1325  0.3887  -0.0078  -0.3458  2.7162
## s.e.     NaN     NaN      NaN      NaN  2.0388
## 
## sigma^2 = 4140:  log likelihood = -10097.56
## AIC=20207.13   AICc=20207.17   BIC=20240.13
Arima(datakurs.diff, order=c(3,0,3), method="ML")
## Series: datakurs.diff 
## ARIMA(3,0,3) with non-zero mean 
## 
## Coefficients:
##          ar1     ar2     ar3      ma1      ma2      ma3    mean
##       0.2144  0.3254  0.1280  -0.0865  -0.2953  -0.1488  2.7559
## s.e.  1.1357  0.4632  0.5875   1.1299   0.4616   0.5106  2.1334
## 
## sigma^2 = 4142:  log likelihood = -10096.96
## AIC=20209.92   AICc=20210   BIC=20253.93
#AIC ARIMA
aic.arima<-data.frame(
  "Model"=c("ARIMA(0,1,2)", "ARIMA(2,1,0)", "ARIMA(1,1,1)","ARIMA(2,1,2)", "ARIMA(3,1,3)"),
  "AIC"=c(model1$aic, model2$aic, model3$aic,model4$aic,model5$aic))

aic.arima
##          Model      AIC
## 1 ARIMA(0,1,2) 20206.46
## 2 ARIMA(2,1,0) 20204.62
## 3 ARIMA(1,1,1) 20201.85
## 4 ARIMA(2,1,2) 20205.13
## 5 ARIMA(3,1,3) 20207.92
# Model terbaik berdasarkan AIC arima(1,1,1), memastikan model terbaik dengan menaikkan dan menurunkan ordo 

library(lmtest)
modela<-arima(datakurs.diff, order=c(1,0,1), method="ML")   
coeftest(arima(datakurs.diff, order=c(1,0,1), method="ML"))
## 
## z test of coefficients:
## 
##           Estimate Std. Error z value  Pr(>|z|)    
## ar1        0.61555    0.13814  4.4561 8.348e-06 ***
## ma1       -0.49310    0.15353 -3.2117   0.00132 ** 
## intercept  2.71950    1.99173  1.3654   0.17213    
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
modelb<-arima(datakurs.diff, order=c(1,0,0), method="ML")   
coeftest(arima(datakurs.diff, order=c(1,0,0), method="ML"))
## 
## z test of coefficients:
## 
##           Estimate Std. Error z value  Pr(>|z|)    
## ar1       0.139804   0.023271  6.0077 1.881e-09 ***
## intercept 2.725207   1.760046  1.5484    0.1215    
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
modelc<-arima(datakurs.diff, order=c(0,0,1), method="ML")   
coeftest(arima(datakurs.diff, order=c(0,0,1), method="ML"))
## 
## z test of coefficients:
## 
##           Estimate Std. Error z value  Pr(>|z|)    
## ma1       0.126577   0.022112  5.7244 1.038e-08 ***
## intercept 2.725259   1.707339  1.5962    0.1104    
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
modeld<-arima(datakurs.diff, order=c(2,0,1), method="ML")   
coeftest(arima(datakurs.diff, order=c(2,0,1), method="ML"))
## 
## z test of coefficients:
## 
##            Estimate Std. Error z value  Pr(>|z|)    
## ar1        0.789543   0.185871  4.2478 2.159e-05 ***
## ar2       -0.039822   0.040781 -0.9765 0.3288179    
## ma1       -0.663170   0.184732 -3.5899 0.0003308 ***
## intercept  3.193692   2.033457  1.5706 0.1162820    
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
modele<-arima(datakurs.diff, order=c(1,0,2), method="ML")   
coeftest(arima(datakurs.diff, order=c(1,0,2), method="ML"))
## 
## z test of coefficients:
## 
##            Estimate Std. Error z value  Pr(>|z|)    
## ar1        0.814294   0.117360  6.9384 3.965e-12 ***
## ma1       -0.685359   0.120967 -5.6657 1.464e-08 ***
## ma2       -0.052014   0.034733 -1.4975    0.1343    
## intercept  2.675207   2.134328  1.2534    0.2101    
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
#AIC ARIMA dan Signifikansi Parameter
aic.arima2<-data.frame(
  "Model"=c("ARIMA(1,1,1)", "ARIMA(1,1,0)", "ARIMA(0,1,1)","ARIMA(2,1,1)", "ARIMA(1,1,2)"),
  "AIC"=c(modela$aic, modelb$aic, modelc$aic,modeld$aic,modele$aic),
  "Signifikansi"=c("Signifikan","Signifikan", "Signifikan","Tidak Signifikan", "Tidak Signifikan"))

aic.arima2
##          Model      AIC     Signifikansi
## 1 ARIMA(1,1,1) 20201.85       Signifikan
## 2 ARIMA(1,1,0) 20207.07       Signifikan
## 3 ARIMA(0,1,1) 20210.61       Signifikan
## 4 ARIMA(2,1,1) 20202.49 Tidak Signifikan
## 5 ARIMA(1,1,2) 20202.00 Tidak Signifikan
#ar(1) dan ma(1) aic lebih besar, arma(2,1), arma(1,2) komponen ordo 2 tidak sig

Model Terbaik

#ARIMA (1,1,1)
mod.arima<-arima(datakurs.diff, order=c(1,0,1), method="ML")
mod.arima
## 
## Call:
## arima(x = datakurs.diff, order = c(1, 0, 1), method = "ML")
## 
## Coefficients:
##          ar1      ma1  intercept
##       0.6156  -0.4931     2.7195
## s.e.  0.1381   0.1535     1.9917
## 
## sigma^2 estimated as 4131:  log likelihood = -10097.93,  aic = 20201.85
coeftest(mod.arima)
## 
## z test of coefficients:
## 
##           Estimate Std. Error z value  Pr(>|z|)    
## ar1        0.61555    0.13814  4.4561 8.348e-06 ***
## ma1       -0.49310    0.15353 -3.2117   0.00132 ** 
## intercept  2.71950    1.99173  1.3654   0.17213    
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
mod.arima2<-arima(datakurs.ts, order=c(1,1,1), method="ML")
mod.arima2
## 
## Call:
## arima(x = datakurs.ts, order = c(1, 1, 1), method = "ML")
## 
## Coefficients:
##          ar1      ma1
##       0.6191  -0.4952
## s.e.  0.1385   0.1541
## 
## sigma^2 estimated as 4135:  log likelihood = -10098.86,  aic = 20201.71
coeftest(mod.arima2)
## 
## z test of coefficients:
## 
##     Estimate Std. Error z value  Pr(>|z|)    
## ar1  0.61909    0.13849  4.4703 7.811e-06 ***
## ma1 -0.49524    0.15411 -3.2136  0.001311 ** 
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1