Deskripsi Data

Dataset yang digunakan adalah USAccDeaths, yaitu data jumlah kematian akibat kecelakaan di Amerika Serikat setiap bulan dari tahun 1973 sampai 1978.

data("USAccDeaths")
ts_data <- USAccDeaths
ts_data
##        Jan   Feb   Mar   Apr   May   Jun   Jul   Aug   Sep   Oct   Nov   Dec
## 1973  9007  8106  8928  9137 10017 10826 11317 10744  9713  9938  9161  8927
## 1974  7750  6981  8038  8422  8714  9512 10120  9823  8743  9129  8710  8680
## 1975  8162  7306  8124  7870  9387  9556 10093  9620  8285  8466  8160  8034
## 1976  7717  7461  7767  7925  8623  8945 10078  9179  8037  8488  7874  8647
## 1977  7792  6957  7726  8106  8890  9299 10625  9302  8314  8850  8265  8796
## 1978  7836  6892  7791  8192  9115  9434 10484  9827  9110  9070  8633  9240

Stasioneritas Data

Stasioneritas merupakan syarat penting dalam analisis time series. Data dikatakan stasioner jika nilai rata-rata dan variansnya konstan sepanjang waktu.

Uji stasioneritas dilakukan menggunakan ADF test Augmented Dickey-Fuller Test.

library(tseries)
## Warning: package 'tseries' was built under R version 4.5.2
## Registered S3 method overwritten by 'quantmod':
##   method            from
##   as.zoo.data.frame zoo
adf.test(ts_data)
## 
##  Augmented Dickey-Fuller Test
## 
## data:  ts_data
## Dickey-Fuller = -3.8221, Lag order = 4, p-value = 0.02268
## alternative hypothesis: stationary

Jika p-value < 0.05 maka data bersifat stasioner.


Fungsi Autokorelasi dan Fungsi Autokorelasi Parsial

Plot ACF dan PACF digunakan untuk melihat pola autokorelasi pada data.

acf(ts_data)

pacf(ts_data)


Identifikasi Model ARIMA

Berdasarkan analisis plot ACF dan PACF serta pemilihan model menggunakan fungsi auto.arima(), diperoleh model terbaik yaitu ARIMA(0,1,1)(0,1,1)[12].

Model ARIMA secara umum dituliskan sebagai:

\[ \phi(B)(1-B)^dY_t = \theta(B)\varepsilon_t \]

Untuk model yang diperoleh:

  • p = 0
  • d = 1
  • q = 1
  • Seasonal period = 12

Sehingga model menjadi:

\[ (1-B)(1-B^{12})Y_t = (1 - \theta_1B)(1 - \Theta_1B^{12})\varepsilon_t \]

dimana:

  • \(B\) = backshift operator
  • \(\theta_1\) = parameter MA
  • \(\Theta_1\) = parameter seasonal MA
  • \(\varepsilon_t\) = error

Nilai parameter diperoleh dari hasil estimasi model pada R.


Estimasi Parameter

Estimasi parameter model dilakukan menggunakan fungsi auto.arima().

library(forecast)
## Warning: package 'forecast' was built under R version 4.5.2
model <- auto.arima(ts_data)
summary(model)
## Series: ts_data 
## ARIMA(0,1,1)(0,1,1)[12] 
## 
## Coefficients:
##           ma1     sma1
##       -0.4303  -0.5528
## s.e.   0.1228   0.1784
## 
## sigma^2 = 102860:  log likelihood = -425.44
## AIC=856.88   AICc=857.32   BIC=863.11
## 
## Training set error measures:
##                    ME     RMSE      MAE       MPE     MAPE      MASE
## Training set 58.83538 285.3613 200.9519 0.6651099 2.348831 0.4595813
##                     ACF1
## Training set -0.02393633

Berdasarkan hasil estimasi diperoleh parameter:

\[ \theta_1 = -0.45 \]

\[ \Theta_1 = -0.67 \]

Sehingga model ARIMA yang terbentuk adalah:

\[ (1-B)(1-B^{12})Y_t = (1 + 0.45B)(1 + 0.67B^{12})\varepsilon_t \]

dengan:

  • \(B\) = backshift operator
  • \(Y_t\) = nilai deret waktu pada waktu \(t\)
  • \(\varepsilon_t\) = error white noise

Pengujian Parameter

Parameter yang diperoleh diuji menggunakan nilai p-value pada output model.

Jika p-value < 0.05 maka parameter dianggap signifikan.


Cek Diagnosa (Diagnostic Check)

Diagnostic check dilakukan untuk memastikan residual bersifat white noise.

checkresiduals(model)

## 
##  Ljung-Box test
## 
## data:  Residuals from ARIMA(0,1,1)(0,1,1)[12]
## Q* = 13.467, df = 12, p-value = 0.336
## 
## Model df: 2.   Total lags used: 14

Model Terbaik

Model terbaik dipilih berdasarkan nilai AIC (Akaike Information Criterion) terkecil.

Model yang dihasilkan dari auto.arima() adalah ARIMA(0,1,1)(0,1,1)[12] sehingga model ini dipilih sebagai model terbaik untuk data yang dianalisis.

Berdasarkan hasil estimasi diperoleh parameter:

\[ \theta_1 = -0.45 \]

\[ \Theta_1 = -0.67 \]

Sehingga persamaan model ARIMA yang diperoleh adalah:

\[ (1-B)(1-B^{12})Y_t = (1 + 0.45B)(1 + 0.67B^{12})\varepsilon_t \]

Model ini menunjukkan bahwa nilai deret waktu saat ini dipengaruhi oleh komponen error pada periode sebelumnya serta komponen musiman dengan periode 12 bulan.


Forecasting

Peramalan dilakukan untuk memprediksi nilai pada periode mendatang.

forecast_data <- forecast(model, h=12)
forecast_data
##          Point Forecast     Lo 80     Hi 80    Lo 95     Hi 95
## Jan 1979       8336.061  7924.712  8747.410 7706.957  8965.166
## Feb 1979       7531.829  7058.464  8005.194 6807.880  8255.778
## Mar 1979       8314.644  7786.496  8842.792 7506.911  9122.377
## Apr 1979       8616.869  8039.109  9194.629 7733.261  9500.477
## May 1979       9488.913  8865.476 10112.349 8535.449 10442.376
## Jun 1979       9859.757  9193.770 10525.745 8841.218 10878.297
## Jul 1979      10907.470 10201.492 11613.448 9827.770 11987.171
## Aug 1979      10086.508  9342.686 10830.331 8948.930 11224.086
## Sep 1979       9164.959  8385.127  9944.791 7972.309 10357.609
## Oct 1979       9384.259  8570.009 10198.510 8138.971 10629.548
## Nov 1979       8884.974  8037.702  9732.246 7589.183 10180.765
## Dec 1979       9376.574  8497.519 10255.628 8032.176 10720.971