TIME SERIES FORECASTING DENGAN SEASONAL TIME SERIES ARIMA DAN FEED FORWARD NEURAL NETWORK


Pendahuluan

Dalam peramalan deret berkala (time series forecasting) pada dasarnya adalah meramal nilai suatu data xt+1, xt+2, … dan seterusnya berdasarkan pada data xt, xt-1, xt-2, … dan seterusnya. Tujuannya yaitu untuk mengamati atau memodelkan data series yang telah ada sehingga memungkinkan data yang akan datang yang belum diketahui bisa diprediksi. Contoh dari data series mencakup data series di bidang keuangan (yaitu harga saham, nilai suatu indeks keuangan, rasio), data series dalam pengamatan secara fisik terhadap suatu objek (misalnya intensitas penyinaran matahari, iklim dan cuaca, dan lain-lain) dan data series matematika (deret Fibonacci, integral dari persamaan diferensial dan lain-lain).

Dalam berbagai literatur, banyak cara yang digunakan untuk melakukan peramalan time series. Metode time series yang tradisional berdasarkan pada konsep probabilita statistik. Sedangkan dalam metode yang lebih mutakhir yaitu menggunakan konsep neural networks. Neural networks dan metode tradisional sering dibandingkan dalam studi. Sharda dan Patil dengan menggunakan kasus M-competition sebagai pengujian menemukan bahwa hasil dari neural networks sama baiknya dengan prosedur Automatic Box-Jenkins. Ansuj et al. , Kohzadi et al. , Chin dan Arthur , Hill et al. dan Caire et al. semuanya membuktikan bahwa neural network menjadi yang terbaik untuk peramalan dalam pengujian kasus mereka masing-masing. Maier dan Dandy memberikan saran bahwa ARIMA lebih cocok untuk peramalan dengan periode yang pendek dan neural network lebih cocok untuk peramalan dengan periode yang lebih panjang.

ARIMA

Filosofi mendasar dari metode ini adalah ide bahwa nilai suatu variabel pada saat ini dapat dinyatakan oleh nilai dari variabel yang sama pada masa lalu, hubungannya dapat dijelaskan melalui suatu persamaan. Model ARIMA ini secara teori merupakan bentuk paling umum dari model peramalan time series yang bisa di stasionerkan melalui suatu transformasi seperti differencing dan logging. ARIMA sendiri merupakan singkatan dari Auto-Regressive Integrated Moving Average.

Lag dari data terdifference yang muncul dalam persamaan peramalan disebut auto-regressive dan lag dari error peramalan disebut moving average, sedangkan suatu time series yang perlu di-difference-kan untuk menjadikannya stasioner disebut versi “integrated” dari suatu deret data yang stasioner.

Secara umum ARIMA dinotasikan sebagai ARIMA (p,d,q) dimana p, d, dan q secara berurut menyatakan orde dari auto-regression, integration (differencing), dan moving average. Sedangkan untuk model ARIMA dengan data musiman (SARIMA) dinyatakan dengan notasi ARIMA (p, d, q) (P, D, Q)s, dimana s menyatakan periode musiman.

Neural Networks

Neural Network adalah paradigma pemrosesan suatu informasi yang terinspirasi oleh sistim sel syaraf biologi, sama seperti otak yang memproses suatu informasi. Elemen mendasar dari paradigma tersebut adalah struktur yang baru dari sistim pemrosesan informasi. Neural Network, seperti manusia, belajar dari suatu contoh. Neural Network dibentuk untuk memecahkan suatu masalah tertentu seperti pengenalan pola atau klasifikasi karena proses pembelajaran.

Neural Network atau artificial neural network pertama kali dikembangkan sebagai generalisasi model matematika dari sistem syaraf biologis. Ketertarikan akan Neural network ini bermula setelah pengenalan neuron sederhana oleh McCulloch dan Pitts (1943).

Elemen dasar dari Neural Network disebut sebagai artificial neuron atau cukup neuron atau node. Dalam model matematika sederhana dari neuron, efek dari rangsangan diwakili oleh hubungan bobot yang bisa dianggap merupakan efek dari sinyal input dimaksud, dan karakteristik non linier dari neuron diwakili dengan fungsi transfer. Impuls neuron kemudian dihitung sebagai penjumlahan sinyal input terbobot yang ditransformasi oleh fungsi transfer.

Metodologi

Data yang digunakan dalam contoh ini adalah data jumlah wisatawan mancanegara yang berkunjung ke Indonesia melalui Bandara Ngurah Rai, Bali. Dalam contoh ini akan dibandingkan metode Seasonal Time Series ARIMA (SARIMA) dan Back Propagation Neural Network (BP-NN). Kemudian, tiga peristiwa yang mungkin berpengaruh terhadap jumlah kunjungan wisatawan mancanegara, yaitu Kerusuhan Mei 1998, Bom Bali I (September 2002), dan Bom Bali II (Oktober 2005) diabaikan, sehingga tidak diperlukan model intervensi.

Model SARIMA

Suatu time series {Ztt=1, 2, …, k} dibangkitkan dari proses SARIMA (p, d, q) (P, D, Q)s dengan rata-rata μ dari model time series Box dan Jenkins jika:

dimana p, d, q, P, D, Q merupakan bilangan bulat dan s merupakan jangka waktu musiman (periodecity).

Model SARIMA melibatkan langkah-langkah berikut:

  1. Mengidentifikasi struktur SARIMA (p, d, q) (P, D, Q)s;
  2. Mengestimasi parameter yang tidak diketahui;
  3. Melakukan uji Goodness of Fit terhadap estimasi residual;
  4. Melakukan peramalan dari data yang diketahui.

Untuk merubah data menjadi stasioner dalam varian dilakukan transformasi. Metode yang digunakan adalah Box-Cox, dimana data ditransformasi menjadi Y*= Yλ .

Ketiga metode transformasi itu akan dibandingkan untuk menentukan mana metode yang lebih baik.

Neural Network Back Propagation

Neural Network BP mengandung satu input layer, satu output layer, dan satu atau lebih layer intervensi atau dikenal dengan sebutan hidden layer. Prosedur untuk membangun model Neural Network BP adalah sebagai berikut :

  1. Menormalkan data untuk learning;
  2. Menentukan arsitektur dan parameter yang dipakai;
  3. Menentukan nilai awal bobot secara random;
  4. Training, sampai dengan tercapai kriteria yang diinginkan baik jumlah iterasi ataupun dengan total jumlah kuadrat eror yang ditentukan;
  5. Memilih network dengan eror minimum;
  6. Melakukan peramalan (forecasting).

Input Layer

Dalam menentukan lag yang akan dijadikan input dalam input layer, digunakan plot dari ACF dan PACF. Data yang akan digunakan dalam input ini adalah data yang telah stasioner. Jumlah input yang akan digunakan tergantung pada plot PACF, yaitu lag yang memiliki koefisien autokorelasi parsial yang signifikan.

Menentukan Jumlah Neuron pada Hidden Layer

Dengan menggunakan rule of thumbs , atau dikenal dengan aturan Baum – Haussler, bisa diketahui jumlah neuron pada hidden layer yang diperlukan, yaitu:

dimana Nhidden adalah jumlah neuron hidden layer, Etolerance adalah toleransi eror, Npts adalah jumlah data poin tiap contoh training, dan Noutput adalah jumlah neuron output.

Arsitektur

Arsitektur dari model Feed Forward Back Propagation Neural Network adalah:

Gbr. 1 Arsitektur FFBP Network

Rancangan Model

Menentukan Model SARIMA

Langkah pertama dalam membangun model SARIMA adalah menentukan berapa kali differencing untuk mengubah data menjadi stasioner dalam rata-rata baik untuk data nonseasonal maupun untuk data seasonal. Dari time series plot bisa dilihat bahwa untuk data nonseasonal diperlukan cukup satu kali differencing demikian juga untuk data seasonal diperlukan satu kali differencing.

Gbr 2. Difference pertama data wisman

Sedangkan untuk menstasionerkan varians diperlukan suatu metode transformasi, dalam hal ini menggunakan Box-Cox Transformation. Dengan menggunakan Minitab kita bisa menentukan λ = 0.5, sehingga Y*= Y1/2 atau Y*= √Y.

Gbr. 3. Box-Cox Plot

Kemudian dengan melihat plot ACF dan PACF masing-masing untuk data nonseasonal dan seasonal, terlihat model yang disarankan masing-masing (0, 1, 2), (2, 1, 0), atau (1, 1, 1) untuk non seasonal dan (0, 1, 1) atau (1, 1, 0). Sehingga akan terdapat enam kombinasi model SARIMA yaitu (0, 1, 2) (0, 1, 1); (2, 1, 0) (0, 1, 1); (1, 1, 1) (0, 1, 1); (0, 1, 2) (1, 1, 0); (2, 1, 0) (1, 1, 0); atau (1, 1, 1) (1, 1, 0) dengan periodesitas 12.

Berikut ini adalah perbandingan MSE dari keenam model tersebut:

Tabel 1. Perbandingan MSE untuk setiap model SARIMA

Model MSE
(0, 1, 2) (0, 1, 1)12 314.0
(2, 1, 0) (0, 1, 1)12 319.4
(0, 1, 2) (1, 1, 0)12 423.8
(2, 1, 0) (1, 1, 0)12 428.0
(1, 1, 1) (0, 1, 1)12 313.8 *)
(1, 1, 1) (1, 1, 0)12 Unfinished

*) Model dengan MSE terkecil

Dari perbandingan diatas terlihat bahwa model SARIMA (1, 1, 1) (0, 1, 1)12 memiliki Mean Square Error (MSE) terkecil, sehingga kita akan memilih model tersebut.

Model Back Propagation Neural Network

Data distasionerkan pada satu kali differencing. Kemudian dengan melihat plot PACF, nilai koefisien autokorelasi yang signifikan yaitu pada lag 1, 2, 4, 7, 8, 9, dan 10. Sehingga kita akan menggunakan Yt-1, Yt-2, Yt-4, Yt-7, Yt-8, Yt-9, dan Yt-10 sebagai input.

Untuk menentukan jumlah neuron pada hidden layer, kita tentukan Etolerance= 0.01, sehingga:

Sebagai pengujian kita akan menggunakan jumlah neuron pada hidden layer sebanyak
1 dan 2 unit

6 Responses

  1. permisi pak, saya pernah menulis tentang fungsi autocorrelation untuk penentuan pola data time series apakah musiman, tren, atau stationer, di artikel berikut: http://datacomlink.blogspot.com/2015/12/data-mining-identifikasi-pola-data-time.html yang ingin saya tanyakan, apakah ada teknik lain untuk mencari pola data time series selain fungsi autocorrelation ya pak? terima kasih

  2. saya audi..saya ingin bertanya sebelum melihat apakah data tersebut data musiman,apakah dta atersebut harus distasionerkan dan mengapa??
    terimakasih

  3. saya ingin bertanya bagaimana cara menentukan model SARIMAnya bagaimana dengan melihat plot acf dan pacf nya? terima kasih

  4. aslm, salam kenal saya dimas.
    saya ingin bertanya,
    dengan melihat plot ACF dan PACF, cara menentukan model SARIMAnya bagaimana Pak?
    trimakash. bls ke email saya jg Pak

  5. salam kenal….
    saya yulia.

    jika boleh bertanya, cara menentukan parameter seasonalnya bagaimana ya???
    sudah lupa nie.

    • simplenya sih lihat timeseries plotnya, jika ada efek seasonal akan ada pola yang berulang setiap jangka waktu tertentu. Lebih bagus/jelas jika data distasionerkan dulu, kemudian dilihat PACFnya

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

%d bloggers like this: