library(forecast)
## Registered S3 method overwritten by 'quantmod':
## method from
## as.zoo.data.frame zoo
library(ggplot2)
decomposition <- stl(AirPassengers, s.window = "periodic")
plot(decomposition)
train_data <- window(AirPassengers, end = c(1958, 12))
test_data <- window(AirPassengers, start = c(1959, 1))
auto_arima <- auto.arima(train_data)
forecast_result <- forecast(auto_arima, h = length(test_data))
accuracy(forecast_result, test_data)
## ME RMSE MAE MPE MAPE MASE
## Training set -0.01614662 9.567988 7.120167 -0.03346415 2.90195 0.2491828
## Test set 68.57728797 74.252243 68.577288 14.92755772 14.92756 2.3999829
## ACF1 Theil's U
## Training set 0.00821521 NA
## Test set 0.71840293 1.464657
autoplot(forecast_result) +
autolayer(test_data, series = "Actual", PI = FALSE) +
ggtitle("ARIMA Forecast vs Actual Data") +
xlab("Year") + ylab("Number of Passengers") +
guides(colour = guide_legend(title = "Series"))
## Warning in ggplot2::geom_line(ggplot2::aes(x = .data[["timeVal"]], y =
## .data[["seriesVal"]], : Ignoring unknown parameters: `PI`
Setelah menjalankan kode di atas, kita akan melihat dekomposisi musiman dan tren dari dataset AirPassengers, serta perbandingan antara hasil peramalan menggunakan model ARIMA otomatis dan data pengujian. kita juga dapat mengevaluasi kinerja model peramalan dengan melihat nilai akurasi yang dihasilkan, seperti Mean Absolute Error (MAE), Root Mean Squared Error (RMSE), dan Mean Absolute Percentage Error (MAPE). Dengan analisis ini, kita dapat menyimpulkan bagaimana jumlah penumpang pesawat dipengaruhi oleh musim dan tren, serta bagaimana model ARIMA otomatis dapat digunakan untuk meramalkan jumlah penumpang di masa depan. Penelitian masa depan dapat mencakup eksplorasi model peramalan lainnya, seperti model eksponensial atau regresi, serta analisis faktor eksternal yang mempengaruhi jumlah penumpang pesawat