Analisis Time Series, Definisi, Pola dan Algoritma

analysis-time-series

Data time series adalah sekumpulan data yang tersusun secara serial berdasarkan deret waktu. Data jenis ini merupakan salah satu tipe data yang umum digunakan untuk memberikan informasi dengan mencatat aktivitas dari waktu ke waktu. Rentang urutan waktu pada data time series dapat berupa tahun, bulan, jam, atau bahkan mili-detik. Data time series dapat diperoleh dari sensor dan pencatatan transaksi atau event dari aplikasi atau mesin.
 
Melakukan prediksi atau forecasting menggunakan data time series merupakan salah satu topik penting dalam data science. Mengapa penting? Dalam dunia bisnis dan industri, membaca pola data berdasarkan waktu dapat membantu untuk membuat prediksi sehingga dapat melakukan pengambilan keputusan yang lebih baik dan tepat sehingga dapat mengalokasikan sumber daya secara efektif.

Misalkan saja, kita ingin memprediksi penjualan produk. Kita dapat melihat pola belanja pelanggan dengan menggunakan data time series. Pola kebiasaan belanja pelanggan akan dipengaruhi oleh waktu, misalkan hari kerja akan berbeda dengan akhir pekan. Pola belanja dapat dianalisa per minggu, per bulan ataupun per tahun.

 

Apa Itu Analisis Time Series?

Analisis time series adalah analisis yang melibatkan penggunaan data time series untuk membuat model matematis yang akan digunakan sebagai dasar prediksi. Model yang dikembangkan atau dibuat harus dapat menangkap atau menggambarkan deret waktu yang diamati.

 

"yellow-stone-visitor"
Gambar - Pengunjung Yellow Stone

 

Sebagai contoh gambar diatas adalah pengunjung Taman Nasional Yellowstone dari tahun 2004 - 2014. Pada gambar tersebut tampak pola pengunjung yang pada suatu saat tinggi, tetapi pada bulan-bulan tertentu rendah. Pada analisis time series, model yang dibuat diharapkan mampu untuk menangkap pola-pola tersebut. Secara sederhananya adalah membuat persamaan garis yang memiliki kesamaan dengan pola pada gambar tersebut.

 

Pola Data Time Series

Data time series memiliki keunikan tersendiri. Ada 4 pola utama yang mempengaruhi pergerakan data time series, yaitu trend, musiman, siklus, dan ketidakteraturan.

Trend

Trend menunjukkan pergerakan dalam jangka waktu yang panjang untuk menunjukkan kecenderungan apakah meningkat atau menurun. Seringkali ditemui data yang memiliki pergerakan naik dan turun dalam jangka waktu yang singkat, tetapi trend mengacu pada kecenderungan rata-rata dalam jangka waktu yang panjang. Secara keseluruhan trend dapat menunjukan naik, turun ataupun stagnan (stabil).

Seasonal atau Musiman

Pergerakan musiman atau seasonal adalah pergerakan fluktuasi data yang terjadi karena kondisi musim dan biasanya dilihat dalam jangka waktu per tahun. Jenis variasi dalam pergerakan ini diisolasi hanya jika pola tersebut diberikan dua kali setahun, triwulanan, ataupun bulanan. Faktor yang dapat mempengaruhi pergerakan musiman misalkan iklim dan cuaca, kebiasaan atau perayaan pada bulan-bulan tertentu, dan lain sebagainya. Misalkan menganalisa peningkatan kebutuhan bahan pokok makanan pada Idul Fitri, Natal dan Tahun Baru.

Cycle atau Siklus

Siklus dalam time series menggambarkan pola perubahan jangka menengah yang disebabkan oleh keadaan yang berulang dalam sebuah siklus. Durasi waktu siklus lebih panjang, biasanya dua tahunan atau lebih.

Random Movement

Pergerakan yang disebabkan oleh pengaruh yang tidak dapat diprediksi, tidak teratur dan tidak berulang dalam pola tertentu. Pola pergerakan ini dapat disebabkan oleh  perang, demo, gempa bumi, banjir, revolusi, dan lain sebagainya.

 

Contoh Data Time Series

Pada kenyataannya data time series ataupun data lainnya tidaklah ideal, seperti yang dijelaskan. Sebuah data time series dapat mengandung beberapa atau bahkan seluruh pola di atas.

 

"pola-time-series"
Gambar - Pola Data Time Series (sumber Forecasting: Principles and Practice)

 

Secara visual gambar a, e, i memiliki pola tren yang sangat jelas. Gambar d, h, i memiliki pergerakan musiman yang jelas, jika diperhatikan datanya secara lebih detail. Gambar b cenderung memiliki pola yang tidak teratur.

 

Algoritma Time Series Modeling

Ada banyak algoritma pemodelan time series yang dapat digunakan untuk melakukan prediksi, di antaranya  adalah metode berbasis autokorelasi seperti ARMA, ARIMA dan SARIMA, metode exponential smoothing seperti Holt-Winter, serta metode Deep Learning seperti RNN maupun LSTM.

Algoritma Time Series ARIMA dan SARIMA

ARIMA merupakan salah satu model time yang sangat populer dan sering digunakan. Asumsi dasar dalam implementasi ARIMA adalah time series yang bersifat linier dan mengikuti distribusi statistik seperti distribusi normal. ARIMA menggunakan 2 algoritma yaitu Autoregressive (AR) dan Moving Average (MA), dan memasukkan unsur Integrated untuk menangani non-stationarity dengan metode differencing. Untuk model prediksi time series musiman (seasonal), Box dan Jenkins (1970) membuat sebuah variasi model ARIMA yang cukup baik, yaitu Seasonal ARIMA (SARIMA).

Algoritma Time Series Prophet

Prophet atau FBProphet merupakan sebuah algoritma pemodelan yang dibuat oleh tim yang tergabung dalam Facebook’s Core Data Science. Taylor dan Letham (2017) dalam papernya menyatakan bahwa Prophet merupakan model time series yang dirancang untuk menangani fitur-fitur (features) umum dalam bisnis dan memiliki kemudahan yaitu parameter intuitif yang dapat disesuaikan tanpa mengetahui detail model yang mendasarinya. Prophet menggabungkan peramalan otomatis dengan pendekatan analyst-in-theloop untuk memodelkan berbagai macam masalah bisnis.

Prophet menggunakan model decomposable time series Harvey & Peters (1990) yaitu trend, seasonality, dan liburan (holidays). Hal ini membuat Prophet dapat membuat prakiraan yang sangat baik pada time series per jam, harian, atau mingguan yang setidaknya memiliki data historis beberapa bulan. Prophet juga dapat memprediksi pola time series mendatang yang berisi fluktuasi tren historis, dan banyak outlier atau nilai yang hilang.

Time Series Dengan Deep Learning

Salah satu karakteristik umum dari data time series adalah faktor dependensi jangka panjang. Banyak forecasting time series yang bergantung pada data historikal yang sangat jauh ke belakang. Model-model pembelajaran mesin tradisional seperti ARMA dan ARIMA tidak mampu menangkap dependensi jangka panjang, sehingga memberikan kinerja yang kurang baik.

Hal lain yang sering menjadi kendala adalah ketergantungan nonlinear, serta ketergantungan terhadap variabel-variabel eksternal, yang menyebabkan kompleksitas dalam analisis dan forecasting.

Kemampuan metode deep learning untuk secara otomatis mempelajari pola yang kompleks memberikan banyak keuntungan, termasuk dalam hal mendeteksi dependensi temporal yang kompleks dan nonlinear, serta berbagai pola seperti trend dan seasonalitas.

Salah satu jenis deep neural network yang banyak digunakan untuk melakukan analisis time series adalah LSTM (Long Short Term Memory).

 

Implementasi Analisis Time Series

Proyeksi (forecasting) time series memungkinkan pengambilan keputusan dengan perkiraan evolusi metrik atau peristiwa di masa depan dan dengan demikian memainkan peran penting dalam berbagai bidang ilmiah dan teknik seperti kesehatan, manajemen energi, arus lalu lintas, dan investasi keuangan.

Beberapa use case yang umum diimplementasikan menggunakan data time series adalah:

  • Deteksi seasonality untuk mencari puncak aktifitas, seperti kepadatan lalu lintas, pola kunjungan wisatawan
  • Korelasi otomatis untuk mengidentifikasi saham yang sedang tren
  • Prediksi persedian barang menggunakan pola belanja pelanggan