Analisis dan perkiraan deret waktu

Daftar Isi:

Analisis dan perkiraan deret waktu
Analisis dan perkiraan deret waktu
Anonim

Selama bertahun-tahun, orang telah memperkirakan kondisi cuaca, peristiwa ekonomi dan politik, dan hasil olahraga, baru-baru ini daftar ekstensif ini telah diisi ulang dengan mata uang kripto. Untuk memprediksi peristiwa serbaguna, ada banyak cara untuk mengembangkan prakiraan. Misalnya, intuisi, pendapat ahli, menggunakan hasil masa lalu untuk membandingkan dengan statistik tradisional, dan peramalan deret waktu hanyalah salah satunya, sedangkan jenis prakiraan paling modern dan akurat dengan berbagai aplikasi.

Metode deret waktu

Metode deret waktu
Metode deret waktu

Metode deret waktu (TS) adalah kumpulan data yang mengumpulkan informasi selama periode waktu tertentu. Ada metode khusus untuk mengekstrak jenis ini:

  • linier dan non-linier;
  • parametrik dan non-parametrik;
  • satu dimensi dan multidimensi.

Perkiraan waktuseri membawa serta satu set kemampuan yang unik untuk memenuhi tantangan hari ini. Pemodelan bergantung pada pembelajaran untuk membangun kekuatan pendorong di balik perubahan data. Proses tersebut berasal dari tren jangka panjang, efek musiman, atau fluktuasi tidak teratur yang menjadi ciri khas TS dan tidak terlihat pada jenis analisis lainnya.

Pembelajaran mesin adalah cabang ilmu komputer di mana algoritme dikompilasi dari data dan mencakup jaringan saraf tiruan, pembelajaran mendalam, aturan asosiasi, pohon keputusan, pembelajaran penguatan, dan jaringan Bayesian. Berbagai algoritma memberikan pilihan untuk memecahkan masalah, dan masing-masing memiliki persyaratan dan trade-off sendiri dalam hal input data, kecepatan, dan akurasi hasil. Ini, bersama dengan akurasi prediksi akhir, akan dibobot ketika pengguna memutuskan algoritma mana yang paling cocok untuk situasi yang diteliti.

Peramalan deret waktu meminjam dari bidang statistik, tetapi memberikan pendekatan baru untuk pemodelan masalah. Masalah utama untuk pembelajaran mesin dan deret waktu adalah sama - untuk memprediksi hasil baru berdasarkan data yang diketahui sebelumnya.

Target model prediksi

Tujuan dari model predi-t.webp
Tujuan dari model predi-t.webp

TS adalah kumpulan titik data yang dikumpulkan secara berkala. Mereka dianalisis untuk menentukan tren jangka panjang, untuk memprediksi masa depan, atau untuk melakukan beberapa jenis analisis lainnya. Ada 2 hal yang membedakan TS dengan masalah regresi biasa:

  1. Mereka bergantung pada waktu. Jadiasumsi dasar model regresi linier bahwa pengamatan independen tidak berlaku dalam kasus ini.
  2. Seiring dengan tren naik atau turun, sebagian besar TS memiliki beberapa bentuk musiman, yaitu perubahan yang spesifik untuk periode waktu tertentu.

Tujuan dari model peramalan deret waktu adalah untuk memberikan peramalan yang akurat sesuai permintaan. Deret waktu memiliki waktu (t) sebagai variabel bebas dan variabel terikat target. Dalam kebanyakan kasus, ramalan adalah hasil tertentu, misalnya, harga jual rumah, hasil pertandingan olahraga, hasil perdagangan di bursa. Prediksi mewakili median dan mean dan termasuk interval kepercayaan yang menyatakan tingkat kepercayaan dalam kisaran 80-95%. Ketika mereka direkam secara berkala, prosesnya disebut deret waktu dan diekspresikan dalam dua cara:

  • satu dimensi dengan indeks waktu yang membuat urutan implisit;
  • set dengan dua dimensi: waktu dengan variabel bebas dan variabel terikat lainnya.

Membuat fitur adalah salah satu tugas terpenting dan memakan waktu dalam pembelajaran mesin terapan. Namun, peramalan deret waktu tidak menciptakan fitur, setidaknya tidak dalam pengertian tradisional. Ini terutama benar ketika Anda ingin memprediksi hasil beberapa langkah ke depan, dan bukan hanya nilai berikutnya.

Ini tidak berarti bahwa fitur dinonaktifkan sepenuhnya. Mereka harus digunakan dengan hati-hati karena alasan berikut:

  1. Belum jelas masa depan yang sebenarnyanilai akan untuk fitur ini.
  2. Jika objek dapat diprediksi dan memiliki beberapa pola, Anda dapat membuat model prediksi untuk masing-masing objek tersebut.

Namun, perlu diketahui bahwa menggunakan nilai prediktif sebagai fitur akan menyebarkan kesalahan ke variabel target dan menyebabkan kesalahan atau prediksi yang bias.

Komponen deret waktu

Komponen deret waktu
Komponen deret waktu

Tren ada saat deret naik, turun, atau tetap pada level konstan dari waktu ke waktu, sehingga diambil sebagai fungsi. Musiman mengacu pada properti deret waktu yang menampilkan pola periodik yang berulang pada frekuensi konstan (m), misalnya, m=12 berarti pola berulang setiap dua belas bulan.

Variabel tiruan yang mirip dengan musim dapat ditambahkan sebagai fungsi biner. Anda dapat, misalnya, memperhitungkan hari libur, acara khusus, kampanye pemasaran, terlepas dari apakah nilainya asing atau tidak. Namun, perlu Anda ingat bahwa variabel-variabel tersebut harus memiliki pola tertentu. Namun, jumlah hari dapat dengan mudah dihitung bahkan untuk periode mendatang dan mempengaruhi peramalan deret waktu, terutama di bidang keuangan.

Siklus adalah musim yang tidak terjadi dengan kecepatan tetap. Misalnya, atribut reproduksi tahunan lynx Kanada mencerminkan pola musiman dan siklus. Mereka tidak berulang secara berkala dan dapat terjadi bahkan jika frekuensinya adalah 1 (m=1).

Nilai tertinggal -nilai lagging suatu variabel dapat dimasukkan sebagai prediktor. Beberapa model, seperti ARIMA, Vector Autoregression (VAR), atau Autoregressive Neural Networks (NNAR), bekerja dengan cara ini.

Komponen variabel yang diminati sangat penting untuk analisis dan peramalan deret waktu, untuk memahami perilaku, pola, dan untuk dapat memilih model yang sesuai.

Atribut kumpulan data

Atribut Kumpulan Data
Atribut Kumpulan Data

Anda mungkin terbiasa memasukkan ribuan, jutaan, dan miliaran titik data ke dalam model pembelajaran mesin, tetapi ini tidak diperlukan untuk deret waktu. Sebenarnya, dimungkinkan untuk bekerja dengan TS kecil dan menengah, tergantung pada frekuensi dan jenis variabel, dan ini bukan kerugian dari metode ini. Selain itu, sebenarnya ada sejumlah keuntungan dari pendekatan ini:

  1. Rangkaian informasi tersebut akan sesuai dengan kemampuan komputer rumah.
  2. Dalam beberapa kasus, lakukan analisis deret waktu dan peramalan menggunakan seluruh kumpulan data, bukan hanya sampel.
  3. TS length berguna untuk membuat grafik yang dapat dianalisis. Ini adalah poin yang sangat penting karena programmer mengandalkan grafik dalam fase analisis. Ini tidak berarti bahwa mereka tidak bekerja dengan deret waktu yang besar, tetapi pada awalnya mereka harus dapat menangani TS yang lebih kecil.
  4. Setiap kumpulan data yang berisi bidang terkait waktu dapat memperoleh manfaat dari analisis dan perkiraan deret waktu. Namun, jika programmer memiliki kumpulan data yang lebih besar, DB (TSDB)mungkin lebih tepat.

Beberapa set ini berasal dari peristiwa yang direkam dengan stempel waktu, log sistem, dan data keuangan. Karena TSDB bekerja secara native dengan deret waktu, ini adalah peluang bagus untuk menerapkan teknik ini ke kumpulan data skala besar.

Pembelajaran mesin

Machine learning (ML) dapat mengungguli metode perkiraan deret waktu tradisional. Ada banyak penelitian di luar sana yang membandingkan metode pembelajaran mesin dengan metode statistik klasik pada data TS. Jaringan syaraf tiruan merupakan salah satu teknologi yang banyak diteliti dan menerapkan pendekatan TS. Metode pembelajaran mesin memimpin peringkat untuk pengumpulan data berdasarkan deret waktu. Set ini telah terbukti efektif, mengungguli set TS murni melawan M3 atau Kaggle.

MO memiliki masalah spesifiknya sendiri. Mengembangkan fitur atau menghasilkan prediktor baru dari kumpulan data merupakan langkah penting untuk itu dan dapat berdampak besar pada kinerja dan menjadi cara yang diperlukan untuk mengatasi masalah tren dan musiman data TS. Selain itu, beberapa model memiliki masalah dengan seberapa cocoknya dengan data, dan jika tidak, mereka mungkin kehilangan tren utama.

Pendekatan deret waktu dan pembelajaran mesin tidak boleh terpisah satu sama lain. Mereka dapat digabungkan bersama untuk memberikan manfaat dari setiap pendekatan. Metode peramalan dan analisis deret waktu pandai menguraikan data menjadi data tren dan musiman.elemen. Analisis ini kemudian dapat digunakan sebagai masukan untuk model ML yang memiliki informasi tren dan musiman dalam algoritmenya, memberikan yang terbaik dari kedua dunia.

Memahami pernyataan masalah

Sebagai contoh, pertimbangkan TS terkait dengan perkiraan jumlah penumpang pada layanan kereta api berkecepatan tinggi baru. Misalnya, Anda memiliki data 2 tahun (Agustus 2016 - September 2018) dan dengan data ini Anda perlu memprediksi jumlah penumpang untuk 7 bulan ke depan, memiliki data 2 tahun (2016-2018) pada level per jam dengan jumlah penumpang yang bepergian, dan perlu untuk memperkirakan jumlah mereka di masa depan.

Subset dataset untuk peramalan dengan deret waktu:

  1. Membuat file kereta dan pengujian untuk simulasi.
  2. 14 bulan pertama (Agustus 2016 - Okt 2017) digunakan sebagai data pelatihan, dan 2 bulan berikutnya (Nov 2017 - Des 2017) digunakan sebagai data pengujian.
  3. Agregat kumpulan data setiap hari.
Agregasi kumpulan data
Agregasi kumpulan data

Lakukan visualisasi data untuk melihat bagaimana perubahannya selama periode waktu tertentu.

Visualisasi data
Visualisasi data

Metode konstruksi Pendekatan Naif

Library yang digunakan dalam hal ini untuk prediksi TS adalah statsmodels. Itu harus diinstal sebelum salah satu dari pendekatan ini dapat diterapkan. Mungkin statsmodels sudah diinstal di lingkungan Python, tetapi tidak mendukung metodeprediksi, jadi Anda harus mengkloningnya dari repositori dan menginstalnya dari sumber.

Pengurutan
Pengurutan

Untuk contoh ini, ini berarti bahwa harga perjalanan koin stabil sejak awal dan sepanjang periode waktu. Metode ini mengasumsikan bahwa titik harapan berikutnya sama dengan titik pengamatan terakhir dan disebut Pendekatan Naif.

Metode Naif
Metode Naif

Sekarang hitung simpangan baku untuk menguji keakuratan model pada kumpulan data uji. Dari nilai RMSE dan grafik di atas, kita dapat menyimpulkan bahwa Naive tidak cocok untuk opsi volatilitas tinggi, tetapi digunakan untuk opsi yang stabil.

Gaya menengah sederhana

Untuk mendemonstrasikan metode ini, sebuah grafik digambar, dengan asumsi bahwa sumbu Y mewakili harga dan sumbu X mewakili waktu (hari).

Gaya Sedang Sederhana
Gaya Sedang Sederhana

Dari sini kita dapat menyimpulkan bahwa harga naik dan turun secara acak dengan margin kecil, sehingga nilai rata-rata tetap konstan. Dalam hal ini, Anda dapat memprediksi harga periode berikutnya, mirip dengan rata-rata untuk semua hari terakhir.

Metode peramalan dengan rata-rata yang diharapkan dari titik-titik yang diamati sebelumnya disebut metode rata-rata sederhana.

Dalam hal ini diambil nilai yang diketahui sebelumnya, rata-rata dihitung dan diambil sebagai nilai selanjutnya. Tentu saja, ini tidak akan tepat, tetapi cukup dekat, dan ada situasi di mana metode ini bekerja paling baik.

Media Sederhanametode
Media Sederhanametode

Berdasarkan hasil yang ditampilkan pada grafik, metode ini bekerja paling baik bila nilai rata-rata selama setiap periode waktu tetap konstan. Meskipun metode naif lebih baik dari rata-rata, tetapi tidak untuk semua dataset. Disarankan untuk mencoba setiap model langkah demi langkah dan melihat apakah itu meningkatkan hasilnya atau tidak.

Model Rata-Rata Bergerak

Model rata-rata bergerak
Model rata-rata bergerak

Berdasarkan grafik ini, kita dapat menyimpulkan bahwa harga telah meningkat beberapa kali di masa lalu dengan selisih yang lebar, tetapi sekarang stabil. Untuk menggunakan metode rata-rata sebelumnya, Anda perlu mengambil rata-rata dari semua data sebelumnya. Harga periode awal akan sangat mempengaruhi perkiraan periode berikutnya. Oleh karena itu, sebagai peningkatan dari rata-rata sederhana, ambil rata-rata harga hanya untuk beberapa periode waktu terakhir.

Teknik peramalan ini disebut teknik rata-rata bergerak, kadang-kadang disebut sebagai "jendela bergerak" ukuran "n". Dengan menggunakan model sederhana, nilai TS selanjutnya diprediksi untuk memeriksa keakuratan metode. Jelas Naive mengungguli Average dan Moving Average untuk kumpulan data ini.

Ada varian ramalan dengan metode pemulusan eksponensial sederhana. Dalam metode rata-rata bergerak, pengamatan "n" masa lalu sama-sama berbobot. Dalam kasus ini, Anda mungkin menghadapi situasi di mana masing-masing 'n' masa lalu memengaruhi ramalan dengan caranya sendiri. Variasi ini, yang memberikan bobot pengamatan masa lalu secara berbeda, disebut metoderata-rata bergerak tertimbang.

Ekstrapolasi pola

Salah satu properti terpenting yang diperlukan untuk mempertimbangkan algoritme peramalan deret waktu adalah kemampuan untuk mengekstrapolasi pola di luar domain data pelatihan. Banyak algoritme ML tidak memiliki kemampuan ini karena cenderung terbatas pada wilayah yang ditentukan oleh data pelatihan. Oleh karena itu, mereka tidak cocok untuk TS, yang tujuannya adalah untuk memproyeksikan hasilnya ke masa depan.

Properti penting lainnya dari algoritma TS adalah kemungkinan untuk mendapatkan interval kepercayaan. Meskipun ini adalah properti default untuk model TS, sebagian besar model ML tidak memiliki kemampuan ini karena tidak semuanya didasarkan pada distribusi statistik.

Jangan berpikir bahwa hanya metode statistik sederhana yang digunakan untuk memprediksi TS. Ini tidak seperti itu sama sekali. Ada banyak pendekatan kompleks yang bisa sangat berguna dalam kasus-kasus khusus. Generalized Autoregressive Conditional Heteroscedasticity (GARCH), Bayesian dan VAR hanyalah beberapa di antaranya.

Ada juga model jaringan saraf yang dapat diterapkan pada deret waktu yang menggunakan prediktor tertinggal dan dapat menangani fitur seperti autoregresi jaringan saraf (NNAR). Bahkan ada model deret waktu yang dipinjam dari pembelajaran kompleks, terutama dalam keluarga jaringan saraf berulang, seperti jaringan LSTM dan GRU.

Metrik Estimasi dan Diagnostik Residu

Metrik prediksi yang paling umum adalahrms artinya, yang digunakan banyak orang saat memecahkan masalah regresi:

  • MAPE karena skala independen dan mewakili rasio kesalahan dengan nilai aktual sebagai persentase;
  • MASE, yang menunjukkan seberapa baik kinerja prediksi dibandingkan dengan prediksi rata-rata naif.

Setelah metode peramalan diadaptasi, penting untuk mengevaluasi seberapa baik metode tersebut dapat menangkap model. Meskipun metrik evaluasi membantu menentukan seberapa dekat nilai dengan nilai sebenarnya, metrik ini tidak mengevaluasi apakah model sesuai dengan TS. Sisa makanan adalah cara yang baik untuk mengevaluasi ini. Karena programmer mencoba menerapkan pola TS, ia dapat mengharapkan kesalahan berperilaku seperti "white noise" karena mewakili sesuatu yang tidak dapat ditangkap oleh model.

"White noise" harus memiliki properti berikut:

  1. Residual tidak berkorelasi (Acf=0)
  2. Residual mengikuti distribusi normal dengan rata-rata nol (tidak bias) dan varians konstan.
  3. Jika salah satu dari dua properti tidak ada, ada ruang untuk perbaikan dalam model.
  4. Properti rata-rata nol dapat dengan mudah diuji menggunakan uji-T.
  5. Sifat normalitas dan varians konstan dikontrol secara visual menggunakan histogram residu atau uji normalitas univariat yang sesuai.

Model ARIMA

ARIMA - Model Rata-Rata Bergerak Terintegrasi AutoRegressive, adalah salah satu metode paling populer yang digunakan dalam peramalan TS, terutamamelalui autokorelasi data untuk membuat model berkualitas tinggi.

Saat mengevaluasi koefisien ARIMA, asumsi utamanya adalah bahwa data tersebut stasioner. Ini berarti bahwa tren dan musiman tidak dapat mempengaruhi varians. Kualitas model dapat dinilai dengan membandingkan plot waktu nilai aktual dengan nilai prediksi. Jika kedua kurva dekat, maka dapat diasumsikan bahwa model sesuai dengan kasus yang dianalisis. Itu harus mengungkapkan tren dan musim apa pun, jika ada.

Analisis residual harus menunjukkan apakah model cocok: residual acak berarti akurat. Memasang ARIMA dengan parameter (0, 1, 1) akan memberikan hasil yang sama dengan pemulusan eksponensial, dan menggunakan parameter (0, 2, 2) akan memberikan hasil pemulusan eksponensial ganda.

Algoritma Deret Waktu di SQL Server
Algoritma Deret Waktu di SQL Server

Anda dapat mengakses pengaturan ARIMA di Excel:

  1. Mulai Excel.
  2. Temukan XL MINER di toolbar.
  3. Pada pita, pilih ARIMA dari menu drop-down.

Ringkasan Kemampuan Model ARIMA:

  1. ARIMA - Rata-Rata Pergerakan Terintegrasi Autoregressive.
  2. Model peramalan yang digunakan dalam analisis deret waktu.
  3. Sintaks parameter ARIMA: ARIMA (p, d, q) dimana p=jumlah suku autoregressive, d=jumlah perbedaan musim, dan q=jumlah suku rata-rata bergerak.

Algoritma di SQL Server

Melakukan prediksi silang adalah salah satu yang pentingfitur deret waktu dalam peramalan tugas keuangan. Jika dua deret terkait digunakan, model yang dihasilkan dapat digunakan untuk memprediksi hasil dari satu deret berdasarkan perilaku deret lainnya.

SQL Server 2008 memiliki fitur deret waktu baru yang kuat untuk dipelajari dan digunakan. Alat ini memiliki data TS yang mudah diakses, antarmuka yang mudah digunakan untuk mensimulasikan dan mereproduksi fungsi algoritme, dan jendela penjelasan dengan tautan ke kueri DMX sisi server sehingga Anda dapat memahami apa yang terjadi di dalamnya.

Deret waktu pasar adalah area yang luas di mana model dan algoritme pembelajaran mendalam dapat diterapkan. Bank, pialang, dan dana kini bereksperimen dengan penerapan analisis dan perkiraan mereka untuk indeks, nilai tukar, berjangka, harga mata uang kripto, saham pemerintah, dan banyak lagi.

Dalam peramalan deret waktu, jaringan saraf menemukan pola yang dapat diprediksi dengan mempelajari struktur dan tren pasar dan memberikan saran kepada para pedagang. Jaringan ini juga dapat membantu mendeteksi anomali seperti puncak tak terduga, penurunan, perubahan tren, dan pergeseran level. Banyak model kecerdasan buatan yang digunakan untuk prakiraan keuangan.

Direkomendasikan: