Analisis dan ramalan siri masa

Isi kandungan:

Analisis dan ramalan siri masa
Analisis dan ramalan siri masa
Anonim

Selama bertahun-tahun, orang ramai telah meramalkan keadaan cuaca, acara ekonomi dan politik serta keputusan sukan, baru-baru ini senarai luas ini telah diisi semula dengan mata wang kripto. Untuk meramal peristiwa serba boleh, terdapat banyak cara untuk membangunkan ramalan. Contohnya, gerak hati, pendapat pakar, menggunakan hasil masa lalu untuk dibandingkan dengan statistik tradisional dan ramalan siri masa hanyalah salah satu daripadanya, manakala jenis ramalan yang paling moden dan tepat dengan pelbagai aplikasi.

Kaedah siri masa

Kaedah siri masa
Kaedah siri masa

Kaedah siri masa (TS) ialah set data yang mengumpul maklumat dalam satu tempoh masa. Terdapat kaedah khas untuk mengekstrak jenis ini:

  • linear dan bukan linear;
  • parametrik dan bukan parametrik;
  • satu dimensi dan multidimensi.

Masa ramalansiri membawa bersamanya satu set keupayaan unik untuk menghadapi cabaran hari ini. Pemodelan bergantung pada pembelajaran untuk mewujudkan daya penggerak di sebalik perubahan data. Proses ini datang daripada arah aliran jangka panjang, kesan bermusim atau turun naik yang tidak teratur yang merupakan ciri TS dan tidak dilihat dalam jenis analisis lain.

Pembelajaran mesin ialah cabang sains komputer di mana algoritma disusun daripada data dan termasuk rangkaian saraf tiruan, pembelajaran mendalam, peraturan persatuan, pokok keputusan, pembelajaran pengukuhan dan rangkaian Bayesian. Pelbagai algoritma menyediakan pilihan untuk menyelesaikan masalah, dan masing-masing mempunyai keperluan dan pertukaran sendiri dari segi input data, kelajuan dan ketepatan keputusan. Ini, bersama-sama dengan ketepatan ramalan akhir, akan ditimbang apabila pengguna memutuskan algoritma yang paling sesuai untuk situasi yang sedang dikaji.

Ramalan siri masa meminjam daripada bidang statistik, tetapi memberikan pendekatan baharu kepada pemodelan masalah. Masalah utama untuk pembelajaran mesin dan siri masa adalah sama - untuk meramalkan hasil baharu berdasarkan data yang diketahui sebelum ini.

Sasaran model ramalan

Tujuan model ramalan
Tujuan model ramalan

TS ialah satu set titik data yang dikumpul pada selang masa yang tetap. Mereka dianalisis untuk menentukan arah aliran jangka panjang, untuk meramal masa depan, atau untuk melakukan beberapa jenis analisis lain. Terdapat 2 perkara yang menjadikan TS berbeza daripada masalah regresi biasa:

  1. Mereka bergantung pada masa. Jadiandaian asas model regresi linear bahawa pemerhatian adalah bebas tidak berlaku dalam kes ini.
  2. Seiring dengan aliran meningkat atau menurun, kebanyakan TS mempunyai beberapa bentuk kemusim, iaitu perubahan yang khusus untuk tempoh masa tertentu.

Matlamat model ramalan siri masa adalah untuk memberikan ramalan yang tepat atas permintaan. Siri masa mempunyai masa (t) sebagai pembolehubah bebas dan pembolehubah bersandar sasaran. Dalam kebanyakan kes, ramalan adalah hasil tertentu, contohnya, harga jualan rumah, keputusan sukan pertandingan, hasil dagangan di bursa saham. Ramalan mewakili median dan min dan termasuk selang keyakinan yang menyatakan tahap keyakinan dalam julat 80-95%. Apabila ia direkodkan pada selang masa yang tetap, proses dipanggil siri masa dan dinyatakan dalam dua cara:

  • satu dimensi dengan indeks masa yang mencipta susunan tersirat;
  • satu set dengan dua dimensi: masa dengan pembolehubah tidak bersandar dan pembolehubah bersandar yang lain.

Membuat ciri ialah salah satu tugas yang paling penting dan memakan masa dalam pembelajaran mesin gunaan. Walau bagaimanapun, ramalan siri masa tidak mencipta ciri, sekurang-kurangnya tidak dalam erti kata tradisional. Ini benar terutamanya apabila anda ingin meramalkan keputusan beberapa langkah ke hadapan, dan bukan hanya nilai seterusnya.

Ini tidak bermakna ciri dilumpuhkan sepenuhnya. Ia hanya perlu digunakan dengan berhati-hati atas sebab berikut:

  1. Tidak jelas masa depan yang sebenarnilai adalah untuk ciri ini.
  2. Jika objek boleh diramal dan mempunyai beberapa corak, anda boleh membina model ramalan untuk setiap objek.

Walau bagaimanapun, ambil perhatian bahawa menggunakan nilai ramalan sebagai ciri akan menyebarkan ralat ke dalam pembolehubah sasaran dan membawa kepada ralat atau ramalan berat sebelah.

Komponen siri masa

Komponen siri masa
Komponen siri masa

Trend wujud apabila siri meningkat, berkurangan atau kekal pada tahap malar dari semasa ke semasa, jadi ia diambil sebagai fungsi. Kemusim merujuk kepada sifat siri masa yang memaparkan corak berkala yang berulang pada frekuensi malar (m), contohnya, m=12 bermaksud corak berulang setiap dua belas bulan.

Pembolehubah dummy yang serupa dengan kemusim boleh ditambah sebagai fungsi binari. Anda boleh, sebagai contoh, mengambil kira cuti, acara khas, kempen pemasaran, tidak kira sama ada nilainya asing atau tidak. Walau bagaimanapun, anda perlu ingat bahawa pembolehubah ini mesti mempunyai corak tertentu. Walau bagaimanapun, bilangan hari boleh dikira dengan mudah walaupun untuk tempoh masa hadapan dan mempengaruhi ramalan siri masa, terutamanya dalam bidang kewangan.

Kitaran ialah musim yang tidak berlaku pada kadar tetap. Sebagai contoh, sifat pembiakan tahunan lynx Kanada mencerminkan corak bermusim dan kitaran. Ia tidak berulang pada selang masa yang tetap dan mungkin berlaku walaupun kekerapannya ialah 1 (m=1).

Nilai tertinggal -nilai ketinggalan pembolehubah boleh dimasukkan sebagai peramal. Sesetengah model, seperti ARIMA, Vector Autoregression (VAR) atau Autoregressive Neural Networks (NNAR), berfungsi dengan cara ini.

Komponen pembolehubah minat adalah sangat penting untuk analisis dan ramalan siri masa, untuk memahami tingkah laku, coraknya dan dapat memilih model yang sesuai.

Atribut set data

Atribut Set Data
Atribut Set Data

Anda mungkin terbiasa memasukkan beribu, berjuta dan berbilion titik data ke dalam model pembelajaran mesin, tetapi ini tidak diperlukan untuk siri masa. Malah, adalah mungkin untuk bekerja dengan TS kecil dan sederhana, bergantung pada kekerapan dan jenis pembolehubah, dan ini bukan kelemahan kaedah. Selain itu, sebenarnya terdapat beberapa kelebihan untuk pendekatan ini:

  1. Set maklumat sedemikian akan sepadan dengan keupayaan komputer rumah.
  2. Dalam sesetengah kes, lakukan analisis siri masa dan ramalan menggunakan keseluruhan set data, bukan hanya sampel.
  3. TS panjang berguna untuk membuat graf yang boleh dianalisis. Ini adalah perkara yang sangat penting kerana pengaturcara bergantung pada grafik dalam fasa analisis. Ini tidak bermakna mereka tidak berfungsi dengan siri masa yang besar, tetapi pada mulanya mereka sepatutnya dapat mengendalikan TS yang lebih kecil.
  4. Sebarang set data yang mengandungi medan berkaitan masa boleh mendapat manfaat daripada analisis dan ramalan siri masa. Walau bagaimanapun, jika pengaturcara mempunyai set data yang lebih besar, DB (TSDB)mungkin lebih sesuai.

Sesetengah set ini datang daripada peristiwa yang direkodkan dengan cap masa, log sistem dan data kewangan. Memandangkan TSDB berfungsi secara asli dengan siri masa, ini merupakan peluang yang baik untuk menggunakan teknik ini pada set data berskala besar.

Pembelajaran mesin

Pembelajaran mesin (ML) boleh mengatasi kaedah ramalan siri masa tradisional. Terdapat banyak kajian di luar sana yang membandingkan kaedah pembelajaran mesin kepada kaedah statistik yang lebih klasik pada data TS. Rangkaian saraf adalah salah satu teknologi yang telah dikaji secara meluas dan menggunakan pendekatan TS. Kaedah pembelajaran mesin mendahului kedudukan untuk pengumpulan data berdasarkan siri masa. Set ini telah terbukti berkesan, mengatasi set TS tulen berbanding M3 atau Kaggle.

MO mempunyai masalah tersendiri. Membangunkan ciri atau menjana peramal baharu daripada set data ialah langkah penting untuknya dan boleh memberi impak besar pada prestasi dan menjadi cara yang diperlukan untuk menangani isu aliran dan kemusim data TS. Selain itu, sesetengah model mempunyai masalah tentang sejauh mana ia sesuai dengan data, dan jika tidak, mereka mungkin terlepas arah aliran utama.

Pendekatan siri masa dan pembelajaran mesin tidak seharusnya wujud secara berasingan antara satu sama lain. Mereka boleh digabungkan bersama untuk memberi faedah setiap pendekatan. Kaedah ramalan dan analisis siri masa bagus untuk menguraikan data kepada aliran dan data bermusim.elemen. Analisis ini kemudiannya boleh digunakan sebagai input kepada model ML yang mempunyai maklumat arah aliran dan bermusim dalam algoritmanya, memberikan yang terbaik daripada kedua-dua dunia.

Memahami pernyataan masalah

Sebagai contoh, pertimbangkan TS berkaitan dengan ramalan bilangan penumpang pada perkhidmatan kereta api berkelajuan tinggi baharu. Sebagai contoh, anda mempunyai 2 tahun data (Ogos 2016 - September 2018) dan dengan data ini anda perlu meramalkan bilangan penumpang untuk 7 bulan akan datang, mempunyai 2 tahun data (2016-2018) pada tahap setiap jam dengan bilangan penumpang dalam perjalanan, dan adalah perlu untuk menganggarkan bilangan mereka pada masa hadapan.

Subset set data untuk ramalan dengan siri masa:

  1. Membuat kereta api dan fail ujian untuk simulasi.
  2. 14 bulan pertama (Ogos 2016 - Okt 2017) digunakan sebagai data latihan dan 2 bulan berikutnya (Nov 2017 - Dis 2017) ialah data ujian.
  3. Agregat set data setiap hari.
Pengagregatan set data
Pengagregatan set data

Lakukan visualisasi data untuk melihat cara ia berubah sepanjang tempoh masa.

Visualisasi data
Visualisasi data

Kaedah pembinaan Pendekatan Naif

Pustaka yang digunakan dalam kes ini untuk ramalan TS ialah model statistik. Ia mesti dipasang sebelum mana-mana pendekatan ini boleh digunakan. Mungkin statsmodels sudah dipasang dalam persekitaran Python, tetapi ia tidak menyokong kaedahramalan, jadi anda perlu mengklonkannya daripada repositori dan memasangnya daripada sumber.

Urutan
Urutan

Untuk contoh ini, ini bermakna harga perjalanan syiling adalah stabil dari awal dan sepanjang tempoh masa. Kaedah ini mengandaikan bahawa titik jangkaan seterusnya adalah sama dengan titik diperhatikan terakhir dan dipanggil Pendekatan Naif.

Kaedah Naif
Kaedah Naif

Sekarang hitung sisihan piawai untuk menguji ketepatan model pada set data ujian. Daripada nilai RMSE dan graf di atas, kita boleh membuat kesimpulan bahawa Naif tidak sesuai untuk pilihan turun naik yang tinggi, tetapi digunakan untuk pilihan yang stabil.

Gaya sederhana ringkas

Untuk menunjukkan kaedah, carta dilukis, dengan mengandaikan bahawa paksi Y mewakili harga dan paksi X mewakili masa (hari).

Gaya Sederhana Mudah
Gaya Sederhana Mudah

Daripada itu kita boleh membuat kesimpulan bahawa harga meningkat dan menurun secara rawak dengan margin yang kecil, supaya nilai purata kekal malar. Dalam kes ini, anda boleh meramalkan harga tempoh seterusnya, serupa dengan purata untuk semua hari lalu.

Kaedah peramalan dengan purata jangkaan mata yang diperhatikan sebelum ini dipanggil kaedah purata mudah.

Dalam kes ini, nilai yang diketahui sebelum ini diambil, purata dikira dan diambil sebagai nilai seterusnya. Sudah tentu, ini tidak tepat, tetapi ia agak hampir, dan terdapat situasi di mana kaedah ini berfungsi paling baik.

Sederhana Mudahkaedah
Sederhana Mudahkaedah

Berdasarkan hasil yang dipaparkan pada graf, kaedah ini berfungsi paling baik apabila nilai purata bagi setiap tempoh masa kekal malar. Walaupun kaedah naif lebih baik daripada purata, tetapi bukan untuk semua set data. Adalah disyorkan untuk mencuba setiap model langkah demi langkah dan lihat sama ada ia meningkatkan hasil atau tidak.

Moving Purata Model

Model purata bergerak
Model purata bergerak

Berdasarkan carta ini, kita boleh membuat kesimpulan bahawa harga telah meningkat beberapa kali pada masa lalu dengan margin yang luas, tetapi kini stabil. Untuk menggunakan kaedah purata sebelumnya, anda perlu mengambil purata semua data sebelumnya. Harga bagi tempoh awal akan sangat mempengaruhi ramalan bagi tempoh seterusnya. Oleh itu, sebagai peningkatan berbanding purata mudah, ambil purata harga hanya untuk beberapa tempoh masa yang lalu.

Teknik ramalan ini dipanggil teknik purata bergerak, kadangkala dirujuk sebagai "tetingkap bergerak" saiz "n". Menggunakan model mudah, nilai seterusnya dalam TS diramalkan untuk menyemak ketepatan kaedah. Jelas Naive mengatasi kedua-dua Purata dan Purata Bergerak untuk set data ini.

Terdapat varian ramalan melalui kaedah pelicinan eksponen mudah. Dalam kaedah purata bergerak, pemerhatian "n" yang lalu adalah sama wajaran. Dalam kes ini, anda mungkin menghadapi situasi di mana setiap 'n' lalu mempengaruhi ramalan dengan caranya sendiri. Variasi ini, yang menimbang pemerhatian lalu secara berbeza, dipanggil kaedahpurata bergerak wajaran.

Ekstrapolasi corak

Salah satu sifat paling penting yang diperlukan untuk mempertimbangkan algoritma ramalan siri masa ialah keupayaan untuk mengekstrapolasi corak di luar domain data latihan. Banyak algoritma ML tidak mempunyai keupayaan ini kerana ia cenderung terhad kepada rantau yang ditakrifkan oleh data latihan. Oleh itu, ia tidak sesuai untuk TS, yang tujuannya adalah untuk menayangkan hasilnya pada masa hadapan.

Satu lagi sifat penting algoritma TS ialah kemungkinan mendapatkan selang keyakinan. Walaupun ini adalah sifat lalai untuk model TS, kebanyakan model ML tidak mempunyai keupayaan ini kerana ia tidak semuanya berdasarkan pengedaran statistik.

Jangan fikir hanya kaedah statistik mudah digunakan untuk meramal TS. Ia tidak seperti itu sama sekali. Terdapat banyak pendekatan kompleks yang boleh menjadi sangat berguna dalam kes-kes khas. Generalized Autoregressive Conditional Heteroskedasticity (GARCH), Bayesian dan VAR hanyalah sebahagian daripadanya.

Terdapat juga model rangkaian saraf yang boleh digunakan pada siri masa yang menggunakan peramal ketinggalan dan boleh mengendalikan ciri seperti autoregresi rangkaian saraf (NNAR). Malah terdapat model siri masa yang dipinjam daripada pembelajaran yang kompleks, terutamanya dalam keluarga rangkaian saraf berulang, seperti rangkaian LSTM dan GRU.

Metrik Anggaran dan Diagnostik Baki

Metrik ramalan yang paling biasa ialahmaksud rms, yang digunakan ramai orang semasa menyelesaikan masalah regresi:

  • MAPE kerana ia tidak berskala dan mewakili nisbah ralat kepada nilai sebenar sebagai peratusan;
  • MASE, yang menunjukkan prestasi ramalan berbanding ramalan purata naif.

Setelah kaedah peramalan telah disesuaikan, adalah penting untuk menilai sejauh mana kaedah tersebut mampu menangkap model. Walaupun metrik penilaian membantu menentukan sejauh mana nilai adalah hampir dengan nilai sebenar, mereka tidak menilai sama ada model itu sesuai dengan TS. Sisa makanan adalah cara yang baik untuk menilai ini. Memandangkan pengaturcara cuba menggunakan corak TS, dia boleh menjangkakan ralat akan berkelakuan seperti "bunyi putih" kerana ia mewakili sesuatu yang tidak dapat ditangkap oleh model.

"Bunyi putih" mesti mempunyai sifat berikut:

  1. Baki tidak berkorelasi (Acf=0)
  2. Baki mengikut taburan normal dengan min sifar (tidak berat sebelah) dan varians malar.
  3. Jika salah satu daripada dua sifat itu tiada, terdapat ruang untuk penambahbaikan dalam model.
  4. Harta min sifar boleh diuji dengan mudah menggunakan ujian-T.
  5. Sifat kenormalan dan varians malar dikawal secara visual menggunakan histogram baki atau ujian kenormalan univariat yang sesuai.

Model ARIMA

ARIMA - Model Purata Pergerakan Bersepadu AutoRegresif, ialah salah satu kaedah paling popular digunakan dalam peramalan TS, terutamanyamelalui autokorelasi data untuk mencipta model berkualiti tinggi.

Apabila menilai pekali ARIMA, andaian utama ialah data adalah pegun. Ini bermakna aliran dan kemusim tidak boleh menjejaskan varians. Kualiti model boleh dinilai dengan membandingkan plot masa nilai sebenar dengan nilai yang diramalkan. Jika kedua-dua lengkung hampir, maka boleh diandaikan bahawa model itu sesuai dengan kes yang dianalisis. Ia harus mendedahkan sebarang aliran dan kemusim, jika ada.

Analisis sisa hendaklah menunjukkan jika model sesuai: baki rawak bermakna ia adalah tepat. Memasang ARIMA dengan parameter (0, 1, 1) akan memberikan hasil yang sama seperti pelicinan eksponen dan menggunakan parameter (0, 2, 2) akan memberikan hasil pelicinan eksponen berganda.

Algoritma Siri Masa dalam Pelayan SQL
Algoritma Siri Masa dalam Pelayan SQL

Anda boleh mengakses tetapan ARIMA dalam Excel:

  1. Mulakan Excel.
  2. Cari XL MINER pada bar alat.
  3. Pada reben, pilih ARIMA daripada menu lungsur.

Ringkasan Keupayaan Model ARIMA:

  1. ARIMA - Purata Pergerakan Bersepadu Autoregresif.
  2. Model ramalan yang digunakan dalam analisis siri masa.
  3. Sintaks parameter ARIMA: ARIMA (p, d, q) dengan p=bilangan sebutan autoregresif, d=bilangan perbezaan musim dan q=bilangan sebutan purata bergerak.

Algoritma dalam Pelayan SQL

Melaksanakan ramalan silang adalah salah satu perkara yang pentingciri siri masa dalam meramalkan tugas kewangan. Jika dua siri berkaitan digunakan, model yang terhasil boleh digunakan untuk meramalkan keputusan satu siri berdasarkan gelagat siri yang lain.

SQL Server 2008 mempunyai ciri siri masa baharu yang berkuasa untuk dipelajari dan digunakan. Alat ini mempunyai data TS yang mudah diakses, antara muka yang mudah digunakan untuk mensimulasikan dan menghasilkan semula fungsi algoritma, dan tetingkap penjelasan dengan pautan ke pertanyaan DMX sebelah pelayan supaya anda boleh memahami perkara yang berlaku di dalam.

Siri masa pasaran ialah bidang yang luas yang boleh digunakan model pembelajaran mendalam dan algoritma. Bank, broker dan dana kini bereksperimen dengan penggunaan analisis dan ramalan mereka untuk indeks, kadar pertukaran, niaga hadapan, harga mata wang kripto, saham kerajaan dan banyak lagi.

Dalam ramalan siri masa, rangkaian saraf mencari corak yang boleh diramal dengan mengkaji struktur dan arah aliran pasaran serta memberi nasihat kepada pedagang. Rangkaian ini juga boleh membantu mengesan anomali seperti puncak yang tidak dijangka, kejatuhan, perubahan arah aliran dan peralihan tahap. Banyak model kecerdasan buatan digunakan untuk ramalan kewangan.

Disyorkan: