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