Penerapan Autoregressive Moving Average (ARMA) dalam Peramalan Jumlah Penumpang Pesawat US

Muhammad Sultan Anfisako

22 Mei 2022


Library:

> # install.packages("knitr")
> # install.packages("rmarkdown")
> # install.packages("prettydoc")
> # install.packages("equatiomatic")

1 PENDAHULUAN

1.1 Latar Belakang

Analisis deret waktu adalah sebuah metode analisis yang dilakukan berdasarkan data atau pengamatan yang berdasarkan waktu pada variabel yang diamati (Montgomery, Jennings, & Kulahci, 2015). Analisis deret waktu dimanfaatkan untuk mendapatkan informasi mengenai suatu fenomena pada waktu tertentu ataupun melakukan suatu peramalan pada variabel yang diamati berdasarkan apa yang terjadi di masa lalu. Dengan kegunaannya tersebut, analisis deret waktu banyak dimanfaatkan di berbagai bidang, seperti ekonomi, keuangan, alam, dan bidang-bidang lainnya. Dalam analisis deret waktu, terdapat sejumlah model yang sering digunakan. Dua jenis model yang sering digunakan adalah model rata-rata bergerak (MA/Moving Average) dan model autoregresif (AR/Autoregressive). Kedua model tersebut dapat digabungkan menjadi model ARMA (Autoregressive Moving Average).

1.2 Analisis Deret Waktu

Deret waktu (time series) merupakan pengamatan yang dilakukan pada suatu variabel pada satu waktu yang berurutan dan ditulis sesuai waktu kejadiannya dengan jarak waktu yang sama. Pada penelitiannya, George E. P. Box dan Gwilym M. Jenkins (1970) melalui bukunya Time Series Analysis: Forecasting and Control memperkenalkan metode analisis deret waktu. Metode tersebut hingga kini banyak digunakan dalam berbagai aplikasi. Model deret waktu (time series) ini dibuat dengan melihat korelasi antar pengamatan. Oleh karena itu, diperlukan uji korelasi antar pengamatan yang disebut dengan Autocorrelation Function (ACF)

1.3 ARMA

Runtun waktu (time series) pada dasarnya merupakan data pengukuran yang diambil secara kronologis dalam kurun waktu tertentu. Dalam penelitian yang dilakukan, sesuai dengan karakteristik runtun waktunya masing-masing yang bersifat stasioner (memiliki nilai mean dan variansi yang konstan serta kovarian yang tidak bergantung di lag mana perhitungannya dilakukan). Metode ARMA ini juga sering disebut sebagai metoda Box-Jenkins karena dikembangkan oleh George Box dan Gwilym Jenkins pada tahun 1976. Model ARMA ini sendiri bisa dipecah menjadi model AR (Autoregressive) dan model MA (Moving Average). \[ y_{t} = b_{0}+b_{1}y_{t-1}+b_{2}y_{t-2}+โ€ฆ+b_{n}y_{t-n}+๐œ€_{t} \] Sementara model MA bisa dituliskan sebagai berikut : \[ y_{t} = ๐›ผ_{0}-๐›ผ_{1}๐œ€_{t-1}-๐›ผ_2๐œ€{t-2}-โ€ฆ-๐›ผ_{n}๐œ€_{t-n}-๐œ€_{t} \] Dimana: \(y_{t}\) : merupakan nilai runtunan yang bersifat stasioner. \(y_{t-1}\), \(y_{t-2}\), โ€ฆ, \(y_{t-n}\) merupakan nilai lampau runtunan. \(๐œ€_{t-1}\), \(๐œ€_{t-2}\), โ€ฆ., \(๐œ€_{t-n}\) merupakan residual. \(๐›ผ_{0}\), \(๐›ผ_{1}\), \(๐›ผ_{2}\),โ€ฆ, \(๐›ผ_{n}\) merupakan konstanta dan koefisien model MA. \(b_{0}\), \(b_{1}\), \(b_{2}\), โ€ฆ, \(b_{n}\) merupakan konstanta dan koefisien model AR. Seperti tadi telah diungkapkan, model ARMA mensyaratkan stasionaritas runtunan. Stasionaritas ini dapat diuji menggunakan perhitungan uji ADF (Augmented Dickey Fuller) yang rumusnya adalah sebagai berikut: \[โˆ†๐‘ฆ_{๐‘ก} = ๐‘_{0} + ๐œƒ๐‘ฆ_{๐‘ก} โˆ’ 1 + ๐‘ƒ_{๐‘–} = 2๐œ‘_{๐‘–}โˆ†๐‘ฆ_{๐‘ก} โˆ’ 1 + ๐‘– + ๐‘ก\] Dimana : \(y_{t}\) adalah nilai runtun waktu pada waktu ke-t. ฮธ adalah konstanta bernilai yang digunakan untuk menentukan adatidaknya akar-akar unit (unit root) dengan hipotesis sebagai berikut : \(๐œ‘_{๐‘–}\) adalah koefisien trend pada data runtun waktu yang nilainya adalah sebesar \(๐œ‘_{๐‘–} = โˆ’๐‘_{j=1}b_{j}\) p adalah lag pada proses autoregresif.

1.4 Data

Data yang digunakan adalah Data Banyaknya Penumpang Jalur Udara di US tiap bulan yang dapat diakses pada laman berikut: https://www.kaggle.com/datasets/chirag19/air-passengers

2 SOURCE CODE

2.1 Library yang Dibutuhkan

> # Library
> library(readxl)

2.2 Membangkitkan Data

> Data_Laprak <- (AirPassengers)
> head(Data_Laprak, n=144)
  [1] 112 118 132 129 121 135 148 148 136 119 104 118 115 126 141 135 125 149
 [19] 170 170 158 133 114 140 145 150 178 163 172 178 199 199 184 162 146 166
 [37] 171 180 193 181 183 218 230 242 209 191 172 194 196 196 236 235 229 243
 [55] 264 272 237 211 180 201 204 188 235 227 234 264 302 293 259 229 203 229
 [73] 242 233 267 269 270 315 364 347 312 274 237 278 284 277 317 313 318 374
 [91] 413 405 355 306 271 306 315 301 356 348 355 422 465 467 404 347 305 336
[109] 340 318 362 348 363 435 491 505 404 359 310 337 360 342 406 396 420 472
[127] 548 559 463 407 362 405 417 391 419 461 472 535 622 606 508 461 390 432

2.3 Autoregressive

> AR <- arima(AirPassengers, order = c(1,0,0))
> print(AR)

Call:
arima(x = AirPassengers, order = c(1, 0, 0))

Coefficients:
         ar1  intercept
      0.9646   278.4649
s.e.  0.0214    67.1141

sigma^2 estimated as 1119:  log likelihood = -711.09,  aic = 1428.18
> ts.plot(AirPassengers)
> AR_fit <- AirPassengers - residuals(AR)
> points(AR_fit, type = "l", col = 2, lty = 2)

> predict_AR <- predict(AR)
> predict(AR, n.ahead = 10)
$pred
          Jan      Feb      Mar      Apr      May      Jun      Jul      Aug
1961 426.5698 421.3316 416.2787 411.4045 406.7027 402.1672 397.7921 393.5717
          Sep      Oct
1961 389.5006 385.5735

$se
          Jan      Feb      Mar      Apr      May      Jun      Jul      Aug
1961 33.44577 46.47055 55.92922 63.47710 69.77093 75.15550 79.84042 83.96535
          Sep      Oct
1961 87.62943 90.90636

2.4 Moving Average

> MA <- arima(AirPassengers, order = c(0,0,1))
> print(MA)

Call:
arima(x = AirPassengers, order = c(0, 0, 1))

Coefficients:
         ma1  intercept
      0.9642   280.6464
s.e.  0.0214    10.5788

sigma^2 estimated as 4205:  log likelihood = -806.43,  aic = 1618.86
> ts.plot(AirPassengers)
> MA_fit <- AirPassengers - residuals(MA)
> points(MA_fit, type = "l", col = 2, lty = 2)

> predict_MA <- predict(AR)
> predict(MA, n.ahead = 10)
$pred
          Jan      Feb      Mar      Apr      May      Jun      Jul      Aug
1961 425.1049 280.6464 280.6464 280.6464 280.6464 280.6464 280.6464 280.6464
          Sep      Oct
1961 280.6464 280.6464

$se
          Jan      Feb      Mar      Apr      May      Jun      Jul      Aug
1961 64.84895 90.08403 90.08403 90.08403 90.08403 90.08403 90.08403 90.08403
          Sep      Oct
1961 90.08403 90.08403

3 HASIL DAN PEMBAHASAN

3.1 Memilih Model yang Terbaik

> cor(AR_fit, MA_fit)
[1] 0.954995
> AIC(AR)
[1] 1428.179
> AIC(MA)
[1] 1618.863
> BIC(AR)
[1] 1437.089
> BIC(MA)
[1] 1627.772

Berdasarkan perhitungan nilai AIC dan BIC pada AR dan MA, dapat disimpulkan bahwa AR merupakan model yang lebih baik karena nilai AIC dan BIC yang dihasilkan lebih kecil dibandingkan MA.

3.2 Kesimpulan

Meskipun terdapat banyak sekali model yang dapat diterapkan pada data time series, Autoregressive (AR) dan Moving Average (MA) merupakan dua model yang paling umum. Pemilihan model yang akan digunakan sangat bergantung pada jenis data yang akan dianalisis.

4 DAFTAR PUSTAKA

A. Nugroho and B. H. Simanjuntak, โ€œMODEL ARMA ( AUTOREGRESSIVE MOVING AVERAGE ) UNTUK PREDIKSI CURAH HUJAN DI KABUPATEN SEMARANG โ€“ JAWA TENGAH - INDONESIA Staf pengajar di Fakultas Teknologi Informasi - Universitas Kristen Satya Wacana Salatiga , Jawa Tengah , Indonesia Staf pengajar di Fa.โ€

C.-U. Yeom and K.-C. Kwak, โ€œShort-Term Electricity-Load Forecasting Using a TSKBased Extreme Learning Machine with Knowledge Representation,โ€ Energies, vol.ย 10, no. 10, p.ย 1613, 2017.

J. H. Sharp and G. W. Brindley, โ€œTh15 Week โ€™ s Citation Classic ยฎ,โ€ Analysis, no. 10, pp. 1989โ€“1989, 1989.