Let's Explore IT !

Kata mbah Bardolo, IT tidak hanya teknik.. IT tidak hanya sains..
Tetapi IT adalah juga seni, humanisme dan cinta....

Thursday, 1 November 2018

[Artificial Intelegence] Time Series Forecasting: dari Statistik ke Supervised Learning

Data time series adalah data-data yang disusun menurut runtun waktu pada periode tertentu. Bisa harian, mingguan, bulanan, atau yang lainnya. Misalnya, data penjualan barang secara harian dalam satu tahun, data fluktuasi harga saham selama 1 tahun, data cuaca dalam jangka waktu tertentu dan sebagainya. Seperti contoh pada gambar di bawah adalah data time series suhu rata-rata harian Kota semarang selama 5 tahun.


Berbagai Jenis Data Time Series

Berdasarkan variasi datanya, data time series terdisi dari beberapa jenis yaitu data yang bersifat trend, cyclical, seasonal dan irregular/random

Komponen Data Time Series (Sumber: ITfeatures)
Penjelasan:
  • Data Trend adalah kondisi data time series dimana data memiliki kecenderungan naik kecenderungan turun dari waktu ke waktu.  Trend naik misalnya data pendapatan per kapita, data jumlah penduduk.  
  • Data Seasonal adalah data yang muncul secara reguler dan mempunyai pola tetap dari waktu ke waktu.  Contoh data ini seperti data iklim, data penjualan pakaian (cenderung meningkat dan menurun opada kondisi tertentu), dan sebagainya.  
  • Data Cyclical hampir sama dengan musiman, tetapi gerak siklis mempunyai jarak waktu muncul dan sebab yang berbeda-beda, yang tidak pasti dimengerti.  Contohnya adalah industri mobil yang memiliki gerakan siklis 5 tahun, sedangkan konstruksi bangunan mempunyai gerakan siklis antara 15-20 tahun.  
  • Data Random atau Irregular memiliki gerakan yang  tidak teratur sehingga sulit diprediksi. Kondisi ini dipengaruhi oleh misalnya kejadian bencana alam, perang atau sebab-sebab tidak terduga lainnya.  
Model Prediksi Berbasis Statistik

Seiring dengan perkembangan ilmu statistik, data-data time series ini dikembangkan untuk membuat model prediksi atau peramalan. Peramalan untuk nilai-nilai masa depan yang didasarkan pada kondisi masa lampau dari data-data time-series tersebut.   Ilmu statistik mengembangkan peramalan menggunakan data time series dengan teknik pemulusan (smoothing), dekomposisi (decomposition) dan regresi.
  • Teknik pemulusan melakukan prediksi dengan mendasarkan pada prinsip rata-rata dari kesalahan masa lalu (averaging smoothing past errors). Metode ini menambahkan nilai ramalan sebelumnya dengan persentase kesalahan antara actual value dengan forecasting value.  
  • Teknik dekomposisi melakukan prediksi dengan membagi data time series menjadi beberapa komponen baik dari trend, cyclic, seasonal dan random, selanjutnya mengkombinasikan prediksi dari komponen-komponen tersebut.  
  • Teknik Regresi merupakan metode analisis statistik yang digunakan untuk melihat pengaruh antara dua atau lebih variabel. Hubungan variabel tersebut bersifat fungsional yang diwujudkan dalam suatu model matematis sehingga dapat digunakan untuk melakukan prediksi.
Model Prediksi Berbasis Machine Learning

Ilmu komputasi modern mengembangkan model prediksi menggunakan pengenalan pola atau pattern recognition. Ilmu itulah yang dikenal dengan machine learning, yaitu mesin yang mampu belajar dari pola-pola data yang diberikan kepadanya. Salah satu metode belajarnya adalah Supervised learning (pembelajaran yang terarah atau diawasi). Dengan model tersebut akurasi prediksi dari data time-series dapat ditingkatkan secara signifikan.

Permasalahan yang muncul adalah bagaimana melakukan transformasi model peramalan data time series dari statistik univariat dan multivariat ke data yang bisa diolah secara supervised learning? Mengingat bahwa data supervised membutuhkan data yang berlabel.  
Berikut adalah gambaran konversi yang bisa dilakukan.
Transformasi Data
Supervised learning memiliki karakteristik pola input (X) dan pola output (Y), sehingga algoritma dapat belajar bagaimana memprediksi pola output dari pola input.

Bagaimana melakukan Transformasi?

Bahasa Phyton memiliki fungsi utama untuk membantu mengubah data deret waktu menjadi model Supervised Learning yaitu fungsi Pandas shift(). Dengan adanya DataFrame, fungsi shift() dapat digunakan untuk membuat salinan kolom yang forward ke depan (baris dari nilai NaN yang ditambahkan ke depan) atau ditarik kembali (baris nilai NaN ditambahkan ke bagian akhir). Ini adalah perilaku yang dibutuhkan untuk membuat kolom menjadi dataset time series dalam format supervised learning. Perhatikan contoh di bawah ini.

Dari data di atas bisa di konversi menjadi dua kolom dengan menggunakan fungsi shift() seperti berikut ini.


Bersambung..

Literatur :






 
Design by Free WordPress Themes | Bloggerized by Lasantha - Premium Blogger Themes | Hot Sonakshi Sinha, Car Price in India