Penerapan Model ARIMA pada Data Hasil Ekspor Indonesia

Data

Library

library("readxl")
library("tseries") 
library("forecast") 
library("TTR") 
library("TSA") 
library("graphics")
library("dplyr")
library("ggplot2")

Import Data

Data yang digunakan adalah data hasil ekspor bulanan di Indonesia (dalam juta USD) dari Bulan Januari tahun 2011 sampai Desember tahun 2022 yang merupakan data deret waktu. Sumber data : https://www.bi.go.id.

ekspor <- read_excel("D:/Data Indikator - 2022.xlsx",sheet = "ekspor")
data.table::data.table(ekspor)
##            Time  Ekspor
##          <POSc>   <num>
##   1: 2011-01-01 14606.2
##   2: 2011-02-01 14415.3
##   3: 2011-03-01 16366.0
##   4: 2011-04-01 16554.2
##   5: 2011-05-01 18287.4
##  ---                   
## 140: 2022-08-01 27862.1
## 141: 2022-09-01 24777.2
## 142: 2022-10-01 24728.4
## 143: 2022-11-01 24094.0
## 144: 2022-12-01 23828.1
ekspor.ts<-ts(ekspor$Ekspor)
ekspor.ts.month<-ts(ekspor$Ekspor,start = c(2011,1),frequency = 12)

Plot Data

ekspor$Time <- as.Date(ekspor$Time, "%Y-%M-%D")
ggplot(ekspor, aes(x=Time, y = Ekspor)) + geom_line() 

Berdasarkan plot deret waktu diatas, terlihat bahwa data memiliki pola tidak stasioner.

Partisi Data

Data hasil ekspor di partisi menjadi dua bagian yaitu data training (Januari 2011-Desember 2020) dan data testing (Januari 2021-Desember 2022).

ekspor.training<-subset(ekspor.ts, start = 1, end =120 )
ekspor.training 
## Time Series:
## Start = 1 
## End = 120 
## Frequency = 1 
##   [1] 14606.20 14415.30 16366.00 16554.20 18287.40 18386.90 17418.50 18647.80
##   [9] 17543.40 16957.70 17235.50 17077.70 15570.20 15695.40 17251.50 16173.20
##  [17] 16829.50 15441.50 16090.60 14047.00 15898.10 15324.00 16316.90 15393.90
##  [25] 15375.50 15015.60 15024.60 14760.90 16133.40 14758.80 15087.90 13083.70
##  [33] 14706.80 15698.30 15938.60 16967.80 14472.30 14634.09 15192.60 14292.50
##  [41] 14823.60 15409.50 14124.10 14481.70 15275.80 15349.00 13616.20 14621.30
##  [49] 13355.80 12172.80 13634.30 13103.70 12690.20 13506.10 11465.80 12726.80
##  [57] 12588.40 12122.10 11111.20 11916.10 10480.60 11312.00 11810.02 11475.86
##  [65] 11514.28 12974.40  9530.80 12748.34 12568.50 12742.61 13503.60 13828.70
##  [73] 13397.68 12615.98 14718.48 13269.69 14333.86 11661.38 13611.06 15187.99
##  [81] 14580.22 15252.56 15334.74 14864.55 14576.30 14132.40 15510.60 14496.20
##  [89] 16198.30 12941.70 16284.70 15865.10 14956.30 15909.10 14851.70 14290.10
##  [97] 14028.10 12788.60 14447.80 13068.10 14751.80 11763.30 15238.40 14262.00
## [105] 14080.10 14881.50 13944.50 14428.80 13632.00 14060.90 14067.90 12163.10
## [113] 10454.30 12009.30 13702.70 13095.80 13960.50 14362.20 15259.30 16538.30
ekspor.test<-subset(ekspor.ts, start = 121, end = 144)
ekspor.test  
## Time Series:
## Start = 121 
## End = 144 
## Frequency = 1 
##  [1] 15293.7 15256.2 18354.4 18490.7 16932.9 18542.4 19385.8 21427.1 20605.6
## [10] 22029.7 22844.4 22359.5 19173.7 20472.9 26497.5 27322.3 21509.8 26150.1
## [19] 25563.2 27862.1 24777.2 24728.4 24094.0 23828.1

Plot Data Partisi

# data training
plot.ts(ekspor.training, main="Data Training Ekspor", xlab="Bulan", ylab="Ekspor")

# data testing
plot.ts(ekspor.test, main="Data Testing Ekspor", xlab="Bulan", ylab="Ekspor")

Berdasarkan plot deret waktu diatas, terlihat bahwa data training dan testing cenderung memiliki pola trend.

Stasioneritas Data

Plot ACF

acf(ekspor.training, main="Plot ACF Data Ekspor")

Berdasarkan plot ACF di atas terlihat bahwa nilai autokorelasi turun secara perlahan yang mengindikasikan bahwa data tidak stasioner.

Uji ADF

adf.test(ekspor.training) # Augmented Dickey-Fuller
## 
##  Augmented Dickey-Fuller Test
## 
## data:  ekspor.training
## Dickey-Fuller = -1.8636, Lag order = 4, p-value = 0.6332
## alternative hypothesis: stationary

Berdasarkan hasil uji ADF diperoleh p-value sebesar 0.6332 > 0.05 yang berarti bahwa \(H_0\) gagal ditolak atau data tidak stasioner. Karena data tidak stasioner maka selanjutnya dilakukan differencing untuk membuat data stasioner sebelum dilakukan identifikasi model tentatif.

Differencing

# Differencing Ordo 1
ekspor.dif1 <- diff(ekspor.training, difference=1)
plot.ts(ekspor.dif1, lty=1, xlab="Waktu", ylab="Data Ekspor Diff Ordo 1")
points(ekspor.dif1)

# Cek Kestasioneran
acf(ekspor.dif1, main="Plot ACF Data Ekspor setelah Diff 1", lag.max = 10)

adf.test(ekspor.dif1) # Augmented Dickey-Fuller
## Warning in adf.test(ekspor.dif1): p-value smaller than printed p-value
## 
##  Augmented Dickey-Fuller Test
## 
## data:  ekspor.dif1
## Dickey-Fuller = -6.3914, Lag order = 4, p-value = 0.01
## alternative hypothesis: stationary

Berdasarkan plot data dan ACF yang tidak turun secara melandai, menunjukkan bahwa data stasioner. Selanjutnya, berdasarkan hasil uji ADF, diperoleh nilai p-value < 0.05 yang berarti \(H_0\) ditolak, sehingga dapat disimpulkan bahwa Data Ekspor telah stasioner setelah dilakukan differencing ordo 1. Karena data telah stasioner selanjutnya akan dilakukan identifikasi model tentatif.

Identifikasi Model Tentatif

Plot ACF

acf(ekspor.dif1, main="Plot ACF Data Ekspor", lag.max=10) 

Plot PACF

pacf(ekspor.dif1, main="Plot PACF Data Ekspor", lag.max=10) 

EACF

eacf(ekspor.dif1, ar.max = 10,ma.max = 10)
## AR/MA
##    0 1 2 3 4 5 6 7 8 9 10
## 0  x x o o o o o o o o o 
## 1  x o o o o o o o o o o 
## 2  o o o o o o o o o o o 
## 3  x o o o o o o o o o o 
## 4  x x x o o o o o o o o 
## 5  o x o o o o o o o o o 
## 6  x o x o o o o o o o o 
## 7  x o x o o o o o o o o 
## 8  x x x o o o o o o o o 
## 9  x o o o o o o o o o o 
## 10 x o o o o o o o o o o

Kandidat Model

Berdasarkan plot ACF (cut off setelah lag ke-2), PACF (cut off setelah lag ke-1), dan EACF, diperoleh kandidat model:

  1. ARIMA (1,1,1)

  2. ARIMA (0,1,2)

  3. ARIMA (1,1,2)

  4. ARIMA (2,1,1)

Pendugaan Parameter dan Penentuan Model Terbaik

arima111<-arima(ekspor.dif1,    order=c(1,0,1),include.mean=FALSE, method="ML") #ARIMA (1,1,1)

arima012<-arima(ekspor.dif1,    order=c(0,0,2),include.mean=FALSE, method="ML") #ARIMA (0,1,2)

arima112<-arima(ekspor.dif1,    order=c(1,0,2),include.mean=FALSE, method="ML") #ARIMA (1,1,2)

arima211<-arima(ekspor.dif1,    order=c(2,0,1),include.mean=FALSE, method="ML") #ARIMA (2,1,1)

Uji Signifikansi Parameter

arima111
## 
## Call:
## arima(x = ekspor.dif1, order = c(1, 0, 1), include.mean = FALSE, method = "ML")
## 
## Coefficients:
##           ar1      ma1
##       -0.3589  -0.2467
## s.e.   0.1658   0.1803
## 
## sigma^2 estimated as 1195003:  log likelihood = -1001.66,  aic = 2007.32
lmtest::coeftest(arima111)
## 
## z test of coefficients:
## 
##     Estimate Std. Error z value Pr(>|z|)  
## ar1 -0.35889    0.16581 -2.1645  0.03043 *
## ma1 -0.24666    0.18031 -1.3680  0.17131  
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
arima012
## 
## Call:
## arima(x = ekspor.dif1, order = c(0, 0, 2), include.mean = FALSE, method = "ML")
## 
## Coefficients:
##           ma1     ma2
##       -0.5885  0.1562
## s.e.   0.0896  0.0923
## 
## sigma^2 estimated as 1205365:  log likelihood = -1002.16,  aic = 2008.33
lmtest::coeftest(arima012)
## 
## z test of coefficients:
## 
##      Estimate Std. Error z value  Pr(>|z|)    
## ma1 -0.588470   0.089604 -6.5674 5.119e-11 ***
## ma2  0.156233   0.092307  1.6925   0.09054 .  
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
arima112
## 
## Call:
## arima(x = ekspor.dif1, order = c(1, 0, 2), include.mean = FALSE, method = "ML")
## 
## Coefficients:
##           ar1      ma1      ma2
##       -0.4114  -0.1953  -0.0377
## s.e.   0.3423   0.3468   0.2251
## 
## sigma^2 estimated as 1194686:  log likelihood = -1001.65,  aic = 2009.29
lmtest::coeftest(arima112)
## 
## z test of coefficients:
## 
##      Estimate Std. Error z value Pr(>|z|)
## ar1 -0.411440   0.342339 -1.2019   0.2294
## ma1 -0.195301   0.346847 -0.5631   0.5734
## ma2 -0.037739   0.225090 -0.1677   0.8669
arima211
## 
## Call:
## arima(x = ekspor.dif1, order = c(2, 0, 1), include.mean = FALSE, method = "ML")
## 
## Coefficients:
##          ar1     ar2      ma1
##       0.4006  0.4679  -1.0000
## s.e.  0.0819  0.0818   0.0346
## 
## sigma^2 estimated as 1159869:  log likelihood = -1000.81,  aic = 2007.62
lmtest::coeftest(arima211)
## 
## z test of coefficients:
## 
##      Estimate Std. Error  z value  Pr(>|z|)    
## ar1  0.400643   0.081881   4.8930 9.933e-07 ***
## ar2  0.467908   0.081810   5.7195 1.069e-08 ***
## ma1 -1.000000   0.034565 -28.9312 < 2.2e-16 ***
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1

AIC

aic.arima<-data.frame(
  "Model"=c("ARIMA(1,1,1)", "ARIMA(0,1,2)", "ARIMA(1,1,2)", "ARIMA(2,1,1)"),
  "AIC"=c(arima111$aic, arima012$aic, arima112$aic,arima211$aic))

aic.arima
##          Model      AIC
## 1 ARIMA(1,1,1) 2007.323
## 2 ARIMA(0,1,2) 2008.329
## 3 ARIMA(1,1,2) 2009.294
## 4 ARIMA(2,1,1) 2007.618

Berdasarkan hasil di atas dapat disimpulkan bahwa ARIMA (2,1,1) merupakan model terbaik karena model tersebut memiliki koefisien parameter yang signifikan terhadap model dan nilai AIC terkecil yaitu 2007.618.

Model ARIMA (2,1,1) dapat dituliskan sebagai berikut:

\(Y_{t}=1.4006Y_{t-1}+0.0673Y_{t-2}-0.4679Y_{t-3}+e_{t}+e_{t-1}\)

Diagnostik Model

Diagnostik model dilakukan untuk mengetahui apakah sisaan dari model yang dibangun telah memenuhi asumsi pemodelan. Asumsi sisaan yang harus terpenuhi pada model ARIMA(p,d,q) adalah sebagai berikut:

  1. Sisaan saling bebas (tidak ada autokorelasi) dan identik

  2. Sisaan mengikuti sebaran Normal (0, \(\sigma^2\))

Eksploratif

Berikut dilakukan pemeriksaan asumsi model secara eksploratif melalui Normal Q-Q Plot, Plot ACF, dan PACF.

arima.211y<-arima(ekspor.training,  order=c(2,1,1), include.mean = FALSE,method="ML") #ARIMA (2,1,1)
sisaan211 <- arima.211y$residuals

# Eksplorasi
par(mfrow=c(2,2))
qqnorm(sisaan211)
qqline(sisaan211, col = "blue", lwd = 2)
plot(c(1:length(sisaan211)),sisaan211)
acf(sisaan211,lag.max = 10)
pacf(sisaan211,lag.max = 10)

Berdasarkan hasil diatas, secara eksploratif Normal Q-Q Plot menunjukkan bahwa sisaan mengikuti sebaran normal karena titik-titik berada di sekitar garis. Selanjutnya, apabila dilihat dari plot ACF dan PACF terlihat bahwa tidak ada lag yang signifikan. Hal ini menunjukkan bahwa tidak ada gejala autokorelasi pada sisaan. Selanjutnya, untuk memastikan kembali dilakukan uji asumsi secara formal.

Uji Non-Autokorelasi dengan Ljung-Box test

Box.test(sisaan211, type = "Ljung")
## 
##  Box-Ljung test
## 
## data:  sisaan211
## X-squared = 0.29143, df = 1, p-value = 0.5893

Berdasarkan hasil uji Ljung-Box di atas dapat disimpulkan bahwa \(H_0\) tidak ditolak karena p-value=0.5893 > 0.05 yang berarti tidak terdapat gejala autokorelasi pada sisaan dari model ARIMA (2,1,1) atau antar \(e_t\) tidak berkorelasi.

Uji Normalitas dengan Shapiro-Wilk test

shapiro.test(sisaan211)
## 
##  Shapiro-Wilk normality test
## 
## data:  sisaan211
## W = 0.98971, p-value = 0.5087

Berdasarkan hasil uji Shapiro-Wilk di atas dapat disimpulkan bahwa \(H_0\) tidak ditolak karena p-value = 0.5087 > 0.05 sehingga sisaan dari model ARIMA (2,1,1) mengikuti sebaran Normal.

Ukuran keakuratan ramalan Model ARIMA (2,1,1)

#plot dugaan dengan data asli
dugaan <- fitted(arima.211y)
cbind(ekspor.training,dugaan)
## Time Series:
## Start = 1 
## End = 120 
## Frequency = 1 
##     ekspor.training   dugaan
##   1        14606.20 14591.59
##   2        14415.30 14573.24
##   3        16366.00 14557.22
##   4        16554.20 15314.88
##   5        18287.40 16367.81
##   6        18386.90 17211.50
##   7        17418.50 18072.58
##   8        18647.80 17735.62
##   9        17543.40 17786.98
##  10        16957.70 17899.61
##  11        17235.50 17134.19
##  12        17077.70 16974.69
##  13        15570.20 17020.80
##  14        15695.40 16311.90
##  15        17251.50 15670.50
##  16        16173.20 16372.25
##  17        16829.50 16667.81
##  18        15441.50 16415.42
##  19        16090.60 16152.84
##  20        14047.00 15741.23
##  21        15898.10 15213.51
##  22        15324.00 15011.00
##  23        16316.90 15658.60
##  24        15393.90 15790.85
##  25        15375.50 15875.54
##  26        15015.60 15426.23
##  27        15024.60 15266.38
##  28        14760.90 15095.50
##  29        16133.40 15002.23
##  30        14758.80 15433.44
##  31        15087.90 15513.98
##  32        13083.70 14980.09
##  33        14706.80 14316.63
##  34        15698.30 14048.18
##  35        15938.60 15226.66
##  36        16967.80 15803.80
##  37        14472.30 16322.60
##  38        14634.09 15778.25
##  39        15192.60 14670.00
##  40        14292.50 14968.22
##  41        14823.60 14862.99
##  42        15409.50 14660.36
##  43        14124.10 15141.51
##  44        14481.70 14889.41
##  45        15275.80 14434.55
##  46        15349.00 14929.68
##  47        13616.20 15320.95
##  48        14621.30 14648.07
##  49        13355.80 14233.36
##  50        12172.80 14175.91
##  51        13634.30 13099.31
##  52        13103.70 13134.85
##  53        12690.20 13599.64
##  54        13506.10 13181.69
##  55        11465.80 13304.94
##  56        12726.80 12856.19
##  57        12588.40 12407.05
##  58        12122.10 12937.56
##  59        11111.20 12670.84
##  60        11916.10 12037.02
##  61        10480.60 11877.06
##  62        11312.00 11667.78
##  63        11810.02 11329.92
##  64        11475.86 11918.71
##  65        11514.28 12012.29
##  66        12974.40 11874.82
##  67         9530.80 12467.20
##  68        12748.34 11759.56
##  69        12568.50 11449.25
##  70        12742.61 12888.20
##  71        13503.60 12876.46
##  72        13828.70 13269.30
##  73        13397.68 13756.73
##  74        12615.98 13728.29
##  75        14718.48 13215.47
##  76        13269.69 13697.70
##  77        14333.86 14100.03
##  78        11661.38 13838.52
##  79        13611.06 13256.47
##  80        15187.99 12800.87
##  81        14580.22 14357.96
##  82        15252.56 14855.38
##  83        15334.74 14844.69
##  84        14864.55 15193.01
##  85        14576.30 15039.29
##  86        14132.40 14698.91
##  87        15510.60 14388.79
##  88        14496.20 14737.36
##  89        16198.30 14980.32
##  90        12941.70 15182.95
##  91        16284.70 14671.78
##  92        15865.10 14500.68
##  93        14956.30 15898.71
##  94        15909.10 15336.63
##  95        14851.70 15293.70
##  96        14290.10 15309.56
##  97        14028.10 14583.02
##  98        12788.60 14206.87
##  99        14447.80 13585.32
## 100        13068.10 13671.18
## 101        14751.80 13895.82
## 102        11763.30 13919.46
## 103        15238.40 13508.21
## 104        14262.00 13512.17
## 105        14080.10 14747.37
## 106        14881.50 14217.60
## 107        13944.50 14454.18
## 108        14428.80 14451.67
## 109        13632.00 14204.95
## 110        14060.90 14109.92
## 111        14067.90 13909.34
## 112        12163.10 14106.06
## 113        10454.30 13328.01
## 114        12009.30 11742.32
## 115        13702.70 11574.65
## 116        13095.80 12988.96
## 117        13960.50 13540.11
## 118        14362.20 13606.84
## 119        15259.30 14179.01
## 120        16538.30 14736.72
plot.ts(ekspor.training, xlab="Month", ylab="Data")
points(ekspor.training)
par(col="red")
lines(dugaan)

par(col="black")

Berdasarkan plot data aktual vs dugaan di atas terlihat bahwa nilai dan pola dugaan yang dihasilkan dari model ARIMA (2,1,1) mendekati nilai aktualnya.

#forecast
ramalan_arima211<- forecast::forecast(ekspor.training,model=arima.211y, h=24)
ramalan_arima211
##     Point Forecast    Lo 80    Hi 80    Lo 95    Hi 95
## 121       15675.33 14290.23 17060.43 13557.00 17793.66
## 122       15928.05 14432.28 17423.82 13640.47 18215.63
## 123       15625.51 13888.02 17363.00 12968.24 18282.77
## 124       15622.55 13775.06 17470.03 12797.06 18448.03
## 125       15479.80 13512.94 17446.65 12471.75 18487.85
## 126       15421.22 13372.44 17470.00 12287.88 18554.56
## 127       15330.96 13208.37 17453.55 12084.74 18577.18
## 128       15267.39 13086.73 17448.05 11932.36 18602.41
## 129       15199.69 12969.16 17430.21 11788.40 18610.97
## 130       15142.82 12871.08 17414.55 11668.49 18617.14
## 131       15088.35 12781.51 17395.19 11560.34 18616.36
## 132       15039.92 12703.45 17376.39 11466.60 18613.24
## 133       14995.04 12633.27 17356.80 11383.02 18607.05
## 134       14954.39 12571.02 17337.76 11309.35 18599.44
## 135       14917.10 12515.19 17319.01 11243.70 18590.51
## 136       14883.15 12465.29 17301.01 11185.35 18580.95
## 137       14852.10 12420.46 17283.73 11133.23 18570.96
## 138       14823.77 12380.21 17267.33 11086.66 18560.87
## 139       14797.89 12343.97 17251.81 11044.95 18550.83
## 140       14774.27 12311.33 17237.20 11007.54 18540.99
## 141       14752.69 12281.89 17223.49 10973.93 18531.45
## 142       14733.00 12255.31 17210.68 10943.71 18522.28
## 143       14715.01 12231.29 17198.73 10916.49 18513.53
## 144       14698.59 12209.56 17187.62 10891.94 18505.23
plot(ramalan_arima211)

gabungan2<- cbind(ekspor.test,ramalan_arima211)
df.gab<- as.data.frame(gabungan2, digits=3)
df.gab %>%
  rename(
    "Data Aktual ekspor Emas"=ekspor.test,
    Ramalan="ramalan_arima211.Point Forecast",
    "Lo 80"="ramalan_arima211.Lo 80",
    "Hi 80"="ramalan_arima211.Hi 80",
    "Lo 95"="ramalan_arima211.Lo 95",
    "Hi 95"="ramalan_arima211.Hi 95"
        )
##    Data Aktual ekspor Emas  Ramalan    Lo 80    Hi 80    Lo 95    Hi 95
## 1                  15293.7 15675.33 14290.23 17060.43 13557.00 17793.66
## 2                  15256.2 15928.05 14432.28 17423.82 13640.47 18215.63
## 3                  18354.4 15625.51 13888.02 17363.00 12968.24 18282.77
## 4                  18490.7 15622.55 13775.06 17470.03 12797.06 18448.03
## 5                  16932.9 15479.80 13512.94 17446.65 12471.75 18487.85
## 6                  18542.4 15421.22 13372.44 17470.00 12287.88 18554.56
## 7                  19385.8 15330.96 13208.37 17453.55 12084.74 18577.18
## 8                  21427.1 15267.39 13086.73 17448.05 11932.36 18602.41
## 9                  20605.6 15199.69 12969.16 17430.21 11788.40 18610.97
## 10                 22029.7 15142.82 12871.08 17414.55 11668.49 18617.14
## 11                 22844.4 15088.35 12781.51 17395.19 11560.34 18616.36
## 12                 22359.5 15039.92 12703.45 17376.39 11466.60 18613.24
## 13                 19173.7 14995.04 12633.27 17356.80 11383.02 18607.05
## 14                 20472.9 14954.39 12571.02 17337.76 11309.35 18599.44
## 15                 26497.5 14917.10 12515.19 17319.01 11243.70 18590.51
## 16                 27322.3 14883.15 12465.29 17301.01 11185.35 18580.95
## 17                 21509.8 14852.10 12420.46 17283.73 11133.23 18570.96
## 18                 26150.1 14823.77 12380.21 17267.33 11086.66 18560.87
## 19                 25563.2 14797.89 12343.97 17251.81 11044.95 18550.83
## 20                 27862.1 14774.27 12311.33 17237.20 11007.54 18540.99
## 21                 24777.2 14752.69 12281.89 17223.49 10973.93 18531.45
## 22                 24728.4 14733.00 12255.31 17210.68 10943.71 18522.28
## 23                 24094.0 14715.01 12231.29 17198.73 10916.49 18513.53
## 24                 23828.1 14698.59 12209.56 17187.62 10891.94 18505.23
accuracy(ramalan_arima211, ekspor.test) #arima
##                      ME     RMSE       MAE        MPE      MAPE      MASE
## Training set  -60.56983 1072.476  847.6623 -0.9777788  6.126916 0.8173218
## Test set     6699.29754 7749.066 6787.0875 28.4247325 28.999660 6.5441566
##                    ACF1 Theil's U
## Training set -0.0486709        NA
## Test set      0.7233516   2.95274

Interpretasi nilai MAPE :

##   Nilai MAPE                    Interpretasi
## 1       <10% Kemampuan peramalan sangat baik
## 2    10%-20%        Kemampuan peramalan baik
## 3    20%-50%       Kemampuan peramalan layak
## 4       >50%       Kemampuan peramalan buruk

Berdasarkan hasil di atas diperoleh nilai MAPE pada data testing sebesar 28.99% yang berarti model ARIMA (2,1,1) memiliki kemampuan peramalan yang layak.

Peramalan Hasil Ekspor Indonesia

Berikut merupakan hasil ramalan data ekspor Indonesia untuk 12 bulan ke depan (tahun 2023):

#forecast
(ramalan_arima211<- forecast::forecast(ekspor.ts,model=arima.211y, h=12))
##     Point Forecast    Lo 80    Hi 80    Lo 95    Hi 95
## 145       22933.32 21548.94 24317.71 20816.08 25050.56
## 146       22450.43 20955.96 23944.90 20164.83 24736.02
## 147       21838.28 20103.14 23573.42 19184.61 24491.95
## 148       21367.08 19522.87 23211.29 18546.60 24187.56
## 149       20891.87 18929.37 22854.37 17890.48 23893.26
## 150       20481.00 18437.60 22524.41 17355.89 23606.12
## 151       20094.04 17977.89 22210.19 16857.66 23330.41
## 152       19746.75 17573.55 21919.96 16423.13 23070.38
## 153       19426.55 17204.48 21648.62 16028.19 22824.92
## 154       19135.77 16873.44 21398.10 15675.84 22595.71
## 155       18869.45 16572.94 21165.96 15357.23 22381.66
## 156       18626.69 16301.42 20951.96 15070.50 22182.88
plot(ramalan_arima211)