Pengertian dan Cara Perhitungan ARIMA – serta Prediksi Model ARIMA

By | September 2, 2023
5,333 Views

Pengertian dan Cara Perhitungan ARIMA – serta Prediksi Model ARIMA – Forecasting time series atau Runtun waktu atau biasanya yang dikenal dengan time series merupakan himpunan observasi terurut dalam waktu. Sedangkan metode time series adalah metode peramalan dengan menggunakan analisa plot hubungan antara variabel yang akan diperkiran dengan variabel waktu. Time series analysis dapat diterapkan dan digunakan pada bidang bisnis, ekonomi seperti trading, industri, teknik dan ilmu sosial. Jadi dalam time series sumbu x adalah waktu dan sumbu y adalah nilainya.

ARIMA merupakan gabungan dari AR dan MA dimana AR adalah singkatan dri autoregresif dan MA merupakan moving average sedangkan I yang ditengah merupakan integrated dimana kegunaannya untuk differensiasi jika data tidak stasioner.

Pada model ARIMA terdiri dari 3 komponen yaitu p, d, dan q. Dimana p merukan ordo dari autoregresif atau AR(p), d merupakan differensiasi, dan q merupakan ordo dari moving average MA(q). ARIMA merupakan penggabungan 3 hal tersebut diatas, oleh sebab itu kalian bisa pelajari dasar pengertian mengenai

  1. Pra pengolahan data
  2. Identifikasi model
  3. Estimasi parameter model
  4. Cek diagnostik residual
  5. Peramalan

5 Tahapan diatas biasa disebut dengan Prosedur Box‐Jenkins adalah suatu prosedur standar yang banyak digunakan dalam pembentukan model ARIMA. Prosedur ini terdiri dari empat tahapan yang iteratif dalam pembentukan model ARIMA pada suatu data runtun waktu, yaitu tahap identifikasi, estimasi, diagnostic check, dan peramalan. Berikut ini adalah diagram yang menggambarkan tahap‐tahap dalam prosedur Box‐Jenkins (Bowerman dan O’Connell, 1993; Wei, 2006).

  1. Plot data : Untuk mengindentifikasi pola dari plot apakah data tersebut trand/musiman
  2. Normalitas : Uji normalitas sering dikaitkan dengan stabilitas variansi. Data yang variansinya tidak stabil dari waktu ke waktu akan menyebabkan ketidaknormalan. Apabila data tidak normal maka perlu dilakukan transformasi BoxCox
  3. Stasioneritas: untuk melihat apakah terjadi pertumbuhan dan penurunan data. Uji stasioner dapat dilakukan menggunakan uji ADF, kpps, phillips-perron. Apabila data tidak stasioner dapat dilakukan differensiasi.

Identifikasi Model ARIMA

Model ARI

MA yaitu ada 3

  • AR(p)
  • MA(q)
  • dan ARMA

sumber : https://medium.com/@Aufaqorinaputri

Agar lebih memahami plot ACF dan PACF untuk masing-masing model diatas, saya akan permudah melalui grafik, misalkan seperti apa sih model AR(p) dengan

  • ACF : menurun secara eksponensial
  • PACF : signifikan hingga lag ke p

Nah untungnya di R sudah ada function yang dapat menyimulasikan beberapa model ARIMA diatas dengan function ARMAacf()

Model AR(p)

Misalkan model yang akan buat AR(0.8) maka tampilan ACF dan PACF nya yaitu

acf.ar1 = ARMAacf(ar=0.8, ma=0, lag.max = 20)
pacf.ar1 = ARMAacf(ar=0.8, ma=0, lag.max = 20, pacf=T)

mari kita permudah plot nya

df.acf = data.frame(x=c(1:length(acf.ar1)),acf=acf.ar1)
df.pacf = data.frame(x=c(1:length(pacf.ar1)),pacf=pacf.ar1)

library(ggplot2)

ggplot(data=df.acf,aes(x=x,y=acf))+
  geom_bar(stat="identity",width=0.05)+
  scale_x_discrete(limits=c(0:nrow(df.acf)))+
  geom_point()+
  labs(title="grafik ACF AR(p)")

ggplot(data=df.pacf,aes(x=x,y=pacf))+
  geom_bar(stat="identity",width=0.05)+
  scale_x_discrete(limits=c(1:nrow(df.pacf)))+
  geom_point()+
  labs(title="grafik PACF AR(p)")

Plot ACF Model ARIMA AR(p) menurun cepat secara eksponensial

Plot PACF Model ARIMA AR(p) signifikan lag(p)

Model MA(q)

Misalkan model yang akan buat MA(1.5) maka tampilan ACF dan PACF nya yaitu

acf.ma1 = ARMAacf(ar=0, ma=c(1.5), lag.max = 20)
pacf.ma1 = ARMAacf(ar=0, ma=c(1.5), lag.max = 20, pacf=T)

df.acf = data.frame(x=c(1:length(acf.ma1)),acf=acf.ma1)
df.pacf = data.frame(x=c(1:length(pacf.ma1)),pacf=pacf.ma1)

mari kita permudah plot nya

ggplot(data=df.acf,aes(x=x,y=acf))+
  geom_bar(stat="identity",width=0.05)+
  scale_x_discrete(limits=c(0:nrow(df.acf)))+
  geom_point()+
  labs(title="grafik ACF MA(q)",
       subtitle="ARIMA model MA(q)")

ggplot(data=df.pacf,aes(x=x,y=pacf))+
  geom_bar(stat="identity",width=0.05)+
  scale_x_discrete(limits=c(1:nrow(df.pacf)))+
  geom_point()+
  labs(title="grafik PACF MA(q)",
       subtitle="ARIMA model MA(q)")

Plot ACF Model ARIMA MA(q) signifikan hingga lag ke q

Plot PACF Model ARIMA MA(q) menurun cepat secara eksponensial

Model ARMA(p,q)

Misalkan model yang akan buat ARMA(0.7,0.4) maka tampilan ACF dan PACF nya yaitu

acf.arma1 = ARMAacf(ar=0.7, ma=0.4, lag.max = 20)
pacf.arma1 = ARMAacf(ar=0.7, ma=0.4, lag.max = 20, pacf=T)

df.acf = data.frame(x=c(1:length(acf.arma1)),acf=acf.arma1)
df.pacf = data.frame(x=c(1:length(pacf.arma1)),pacf=pacf.arma1)

Kita permudah plot grafiknya

ggplot(data=df.acf,aes(x=x,y=acf))+
  geom_bar(stat="identity",width=0.05)+
  scale_x_discrete(limits=c(0:nrow(df.acf)))+
  geom_point()+
  labs(title="grafik ACF ARMA(p,q)",
       subtitle="ARIMA model ARMA(p,q)")

ggplot(data=df.pacf,aes(x=x,y=pacf))+
  geom_bar(stat="identity",width=0.05)+
  scale_x_discrete(limits=c(1:nrow(df.pacf)))+
  geom_point()+
  labs(title="grafik PACF ARMA(p,q)",
       subtitle="ARIMA model ARMA(p,q)")

 

Plot ACF Model ARIMA ARMA(p,q) menurun cepat secara eksponensial

Plot PACF Model ARIMA ARMA(p,q) menurun cepat secara eksponensial

Studi Kasus

Setelah kalian pelajari masing-masing plot ACF dan PACF untuk memilih model, pembahasan selanjutnya yaitu studi kasus. Kita coba dengan data yang tidak stasioner yaitu BrentOilPrices.csv yang bersifat harian yaitu dimulai dari bulan mei tahun 1987 sampai januari 2021

data harian harga minyak