Emails: hodawya125@gmail.com & juenzy.hodawya@matanauniversity.ac.id
Linked In: https://www.linkedin.com/in/juenzy-hodawya-a310ab1a3/
Kaggle: https://www.kaggle.com/juenzyhodawya
GitHub: https://github.com/JuenzyHodawya
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.
Karena data yang saya miliki bersifat tidak stasioner, maka dilakukan differencing
sampai data menjadi stasioner. Di sini saya melakukan dua kali proses differencing.
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.
Untuk mengestimasi parameter-parameter dari model tersebut, dapat digunakan perintah arima
.
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
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
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
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
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
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