Analisis time series merupakan metode statistik yang digunakan untuk menganalisis data yang diamati secara berurutan terhadap waktu.
Penelitian ini menggunakan model ARIMA (AutoRegressive Integrated Moving Average) untuk menganalisis pola serta melakukan prediksi jumlah penumpang pesawat.
Dataset yang digunakan adalah AirPassengers, yaitu data jumlah penumpang pesawat bulanan dari tahun 1949 hingga 1960.
Tujuan analisis ini adalah:
## Warning: package 'forecast' was built under R version 4.3.3
## Registered S3 method overwritten by 'quantmod':
## method from
## as.zoo.data.frame zoo
## Warning: package 'tseries' was built under R version 4.3.3
## Warning: package 'ggplot2' was built under R version 4.3.3
Dataset AirPassengers merupakan dataset nyata yang berisi jumlah penumpang pesawat internasional per bulan dalam satuan ribuan penumpang.
## Min. 1st Qu. Median Mean 3rd Qu. Max.
## 104.0 180.0 265.5 280.3 360.5 622.0
Komponen yang diperoleh:
## Warning in adf.test(data_ts): p-value smaller than printed p-value
##
## Augmented Dickey-Fuller Test
##
## data: data_ts
## Dickey-Fuller = -7.3186, Lag order = 5, p-value = 0.01
## alternative hypothesis: stationary
Interpretasi:
Jika p-value > 0.05, maka data belum stasioner.
Setelah differencing, pola data menjadi lebih stabil.
ACF dan PACF digunakan untuk menentukan parameter p dan q dalam model ARIMA.
## Series: data_ts
## ARIMA(2,1,1)(0,1,0)[12]
##
## Coefficients:
## ar1 ar2 ma1
## 0.5960 0.2143 -0.9819
## s.e. 0.0888 0.0880 0.0292
##
## sigma^2 = 132.3: log likelihood = -504.92
## AIC=1017.85 AICc=1018.17 BIC=1029.35
##
## Training set error measures:
## ME RMSE MAE MPE MAPE MASE ACF1
## Training set 1.3423 10.84619 7.86754 0.420698 2.800458 0.245628 -0.00124847
Fungsi auto.arima() secara otomatis memilih model terbaik berdasarkan nilai AIC.
##
## Ljung-Box test
##
## data: Residuals from ARIMA(2,1,1)(0,1,0)[12]
## Q* = 37.784, df = 21, p-value = 0.01366
##
## Model df: 3. Total lags used: 24
Diagnostik model bertujuan untuk memastikan bahwa:
forecast_result <- forecast(model_arima, h=24)
autoplot(forecast_result) +
ggtitle("Forecast Air Passenger Demand (Next 24 Months)") +
theme_minimal()Interpretasi:
Model ARIMA memprediksi bahwa jumlah penumpang akan terus meningkat dengan pola musiman yang tetap.
Bagian ini memungkinkan pengguna untuk mengganti dataset dengan data mereka sendiri.
## Series: data_ts_user
## ARIMA(0,0,1) with non-zero mean
##
## Coefficients:
## ma1 mean
## 0.9624 126.4744
## s.e. 0.9022 4.5935
##
## sigma^2 = 84.93: log likelihood = -43.66
## AIC=93.31 AICc=96.31 BIC=94.77
##
## Training set error measures:
## ME RMSE MAE MPE MAPE MASE ACF1
## Training set 0.3892236 8.412905 7.050042 -0.2857855 5.682451 NaN 0.2464839
forecast_user <- forecast(model_user, h = 12)
autoplot(forecast_user) +
ggtitle("Forecast User Data") +
theme_minimal()Berdasarkan analisis yang telah dilakukan dapat disimpulkan bahwa:
Hyndman, R.J. & Athanasopoulos, G. (2021).
Forecasting: Principles and Practice.
Box, G.E.P., Jenkins, G.M., Reinsel, G.C. (2015).
Time Series Analysis: Forecasting and Control.
Dataset: AirPassengers (R Dataset)