Emails: &
Linked In: https://www.linkedin.com/in/juenzy-hodawya-a310ab1a3/
Kaggle: https://www.kaggle.com/juenzyhodawya
GitHub: https://github.com/JuenzyHodawya


1 Soal UAS Nomor 4

Dari data yang kalian miliki dan sudah melakukan plot data serta uji stasioneritasnya, selanjutnya adalah
a. Transformasi awal dan identifikasi model. (jika data kalian tidak stasioner)
b. Estimasi parameter dari model yang memungkinkan.

2 Import Data

library(readxl)
penumpang_kereta <- read_xlsx("Jumlah Penumpang Kereta.xlsx")

3 Transformasi

Karena data yang saya miliki bersifat tidak stasioner, maka dilakukan differencing sampai data menjadi stasioner. Di sini saya melakukan dua kali proses differencing.

3.1 Differencing (1)

library(dplyr)
library(ggplot2)
library(hrbrthemes)
library(plotly)

penumpang_diff1 <- diff(penumpang_kereta$Jumlah_Penumpang,
                        differences = 1)

ts.plot(penumpang_diff1,
        col = "orange",
        xlab = "Time",
        ylab = "Differencing",
        main = "Time Series Plot (Differencing 1)")

Terlihat data sudah terlihat mulai stasioner, tetapi diakhir plot masih sedikit tidak stabil, maka dapat dilakukan differencing sekali lagi untuk memperindah bentuk plot.

3.2 Differencing (2)

penumpang_diff2 <- diff(penumpang_kereta$Jumlah_Penumpang,
                        differences = 2)

ts.plot(penumpang_diff2,
        col = "darkgreen",
        xlab = "Time",
        ylab = "Differencing",
        main = "Time Series Plot (Differencing 2)")

Data pada grafik sudah terlihat relatif stabil.

4 Estimasi Parameter

Untuk mengestimasi parameter-parameter dari model tersebut, dapat digunakan perintah arima.

4.1 Model AR(1)

Yakni log(Jumlah_Penumpang) adalah model ARIMA(1,2,0)

library(forecast)

penumpang_log <- log(penumpang_kereta$Jumlah_Penumpang)
ar1 <- arima(penumpang_log,
             order = c(1,2,0),
             seasonal = list(order = c(0,0,0),
                             period = NA),
             include.mean = F)
summary(ar1)
## 
## Call:
## arima(x = penumpang_log, order = c(1, 2, 0), seasonal = list(order = c(0, 0, 
##     0), period = NA), include.mean = F)
## 
## Coefficients:
##           ar1
##       -0.2357
## s.e.   0.1316
## 
## sigma^2 estimated as 0.1411:  log likelihood = -24.22,  aic = 52.44
## 
## Training set error measures:
##                       ME     RMSE       MAE       MPE     MAPE     MASE
## Training set 0.004406786 0.369015 0.2249657 0.1052224 2.896317 1.306423
##                    ACF1
## Training set -0.0779002

Kesimpulan:
Dari summary(arima) didapatkan nilai koefisien ar1 = -0.2357 dan s.e. = 0.1316 serta sigma^2 (variansi) = 0.1411

4.2 Model MA(1)

Yakni log(Jumlah_Penumpang) adalah model ARIMA(0,2,1)

ma1 <- arima(penumpang_log,
             order = c(0,2,1),
             seasonal = list(order = c(0,0,0),
                             period = NA),
             include.mean = F)
summary(ma1)
## 
## Call:
## arima(x = penumpang_log, order = c(0, 2, 1), seasonal = list(order = c(0, 0, 
##     0), period = NA), include.mean = F)
## 
## Coefficients:
##           ma1
##       -1.0000
## s.e.   0.0742
## 
## sigma^2 estimated as 0.1001:  log likelihood = -16.77,  aic = 37.55
## 
## Training set error measures:
##                       ME      RMSE       MAE        MPE     MAPE      MASE
## Training set -0.01469021 0.3108641 0.1692873 -0.2696731 2.190354 0.9830864
##                   ACF1
## Training set 0.2532301

Kesimpulan:
Dari summary(arima) didapatkan nilai koefisien ma1 = -0.1 dan s.e. = 0.0742 serta sigma^2 (variansi) = 0.1001

4.3 Model ARMA(1,1)

Yakni log(Jumlah_Penumpang) adalah model ARIMA(1,2,1)

arma1 <- arima(penumpang_log,
               order = c(1,2,1),
               seasonal = list(order = c(0,0,0),
                               period = NA),
               include.mean = F)
summary(arma1)
## 
## Call:
## arima(x = penumpang_log, order = c(1, 2, 1), seasonal = list(order = c(0, 0, 
##     0), period = NA), include.mean = F)
## 
## Coefficients:
##          ar1      ma1
##       0.2708  -1.0000
## s.e.  0.1313   0.0548
## 
## sigma^2 estimated as 0.0938:  log likelihood = -14.7,  aic = 35.4
## 
## Training set error measures:
##                        ME      RMSE       MAE        MPE     MAPE      MASE
## Training set -0.008139594 0.3008447 0.1700412 -0.1500747 2.150772 0.9874643
##                    ACF1
## Training set 0.04414315

Kesimpulan:
Dari summary(arima) didapatkan nilai koefisien ar1 = 0.2708, ma1 = -0.1 dan s.e.ar = 0.1313, s.e.ma = 0.0548 serta sigma^2 (variansi) = 0.0938

4.4 Model AR(2)

Yakni log(Jumlah_Penumpang) adalah model ARIMA(2,2,0)

ar2 <- arima(penumpang_log,
             order = c(2,2,0),
             seasonal = list(order = c(0,0,0),
                             period = NA),
             include.mean = F)
summary(ar2)
## 
## Call:
## arima(x = penumpang_log, order = c(2, 2, 0), seasonal = list(order = c(0, 0, 
##     0), period = NA), include.mean = F)
## 
## Coefficients:
##           ar1      ar2
##       -0.3124  -0.3122
## s.e.   0.1292   0.1271
## 
## sigma^2 estimated as 0.1268:  log likelihood = -21.38,  aic = 48.77
## 
## Training set error measures:
##                       ME      RMSE       MAE       MPE     MAPE     MASE
## Training set 0.008227093 0.3498068 0.2242986 0.1411433 2.881231 1.302548
##                     ACF1
## Training set -0.05366469

Kesimpulan:
Dari summary(arima) didapatkan nilai koefisien ar1 = -0.3124, ar2 = -0.3122 dan s.e.1 = 0.1292, s.e.2 = 0.1271 serta sigma^2 (variansi) = 0.1268

4.5 Model MA(2)

Yakni log(Jumlah_Penumpang) adalah model ARIMA(0,2,2)

ma2 <- arima(penumpang_log,
             order = c(0,2,2),
             seasonal = list(order = c(0,0,0),
                             period = NA),
             include.mean = F)
summary(ma2)
## 
## Call:
## arima(x = penumpang_log, order = c(0, 2, 2), seasonal = list(order = c(0, 0, 
##     0), period = NA), include.mean = F)
## 
## Coefficients:
##           ma1      ma2
##       -0.6324  -0.3676
## s.e.   0.1513   0.1421
## 
## sigma^2 estimated as 0.0909:  log likelihood = -13.87,  aic = 33.75
## 
## Training set error measures:
##                        ME      RMSE       MAE        MPE     MAPE     MASE
## Training set -0.008487505 0.2961656 0.1730018 -0.1530961 2.182232 1.004657
##                     ACF1
## Training set -0.04247385

Kesimpulan:
Dari summary(arima) didapatkan nilai koefisien ma1 = -0.6324, ma2 = -0.3676 dan s.e.1 = 0.1513, s.e.2 = 0.1421 serta sigma^2 (variansi) = 0.0909

4.6 Model ARMA(2,2)

Yakni log(Jumlah_Penumpang) adalah model ARIMA(2,2,2)

arma2 <- arima(penumpang_log,
               order = c(2,2,2),
               seasonal = list(order = c(0,0,0),
                               period = NA),
               include.mean = F)
summary(arma2)
## 
## Call:
## arima(x = penumpang_log, order = c(2, 2, 2), seasonal = list(order = c(0, 0, 
##     0), period = NA), include.mean = F)
## 
## Coefficients:
##           ar1     ar2     ma1      ma2
##       -0.6469  0.1830  0.0000  -1.0000
## s.e.   0.1370  0.1409  0.0879   0.0879
## 
## sigma^2 estimated as 0.08793:  log likelihood = -13.76,  aic = 37.52
## 
## Training set error measures:
##                        ME      RMSE       MAE        MPE    MAPE     MASE
## Training set -0.006334727 0.2912905 0.1801266 -0.1277835 2.25394 1.046032
##                    ACF1
## Training set 0.01052027

Kesimpulan:
Dari summary(arima) didapatkan nilai koefisien ar1 = -0.6469, ar2 = 0.1830, ma1 = 0, ma2 = -1 dan s.e.ar1 = 0.1370, s.e.ar2 = 0.1409, s.e.ma1 = 0.0879, s.e.ma2 = 0.0879 serta sigma^2 (variansi) = 0.08793