5.14.1
Prophet
Meta (Facebook) telah merilis perpustakaan OSS untuk prediksi deret waktu. Cara instalasi di Python dapat dilihat pada Installation in Python. Pada dasarnya, Anda hanya perlu menjalankan pip install prophet untuk menginstalnya.
Taylor, Sean J., and Benjamin Letham. “Forecasting at scale.” The American Statistician 72.1 (2018): 37-45.
| |
Data yang Digunakan untuk Eksperimen #
Data selama satu tahun akan disiapkan. Pada bulan-bulan genap, terdapat kecenderungan penurunan nilai. Selain itu, data menunjukkan pola periodik setiap minggu. Periode data yang digunakan adalah dari 2020/1/1 hingga 2020/12/31.
| |

Elemen yang Membentuk Data Deret Waktu #
Istilah “data deret waktu” mencakup berbagai jenis data. Di sini, kita akan menangani data dengan karakteristik sebagai berikut:
- Data hanya terdiri dari cap waktu (timestamp) dan angka.
- Cap waktu tidak memiliki nilai yang hilang dan tersusun dalam interval yang sama (evenly spaced).
| |

Memprediksi Januari hingga Maret 2021 dengan Prophet #
Menggunakan data dari 2020/1/1 hingga 2020/12/31, kita akan mencoba memprediksi tiga bulan ke depan. Karena data hanya mencakup satu tahun, kita menetapkan yearly_seasonality=False. Namun, karena terdapat pola periodik mingguan, kita menetapkan daily_seasonality=True.
| |
| |
Initial log joint probability = -32.1541
Iter log prob ||dx|| ||grad|| alpha alpha0 # evals Notes
99 772.276 5.98161e-05 56.7832 1 1 135
Iter log prob ||dx|| ||grad|| alpha alpha0 # evals Notes
131 772.59 0.00128893 157.592 1.465e-05 0.001 217 LS failed, Hessian reset
181 772.678 3.78737e-05 49.0389 6.852e-07 0.001 326 LS failed, Hessian reset
199 772.681 1.42622e-06 43.2231 0.6929 0.6929 350
Iter log prob ||dx|| ||grad|| alpha alpha0 # evals Notes
230 772.681 6.80165e-06 56.0478 7.185e-08 0.001 432 LS failed, Hessian reset
245 772.681 4.06967e-08 48.5475 0.1802 0.8285 454
Optimization terminated normally:
Convergence detected: relative gradient magnitude is below tolerance

Pengaruh Penetapan Periodisitas #
Pada contoh berikut, musiman tahunan sengaja ditetapkan (yearly_seasonality=True). Akibat pengaruh komponen untuk menangkap pola tahunan, prediksi untuk tahun 2022 menunjukkan peningkatan yang agak tidak wajar.
| |
Initial log joint probability = -32.1541
Iter log prob ||dx|| ||grad|| alpha alpha0 # evals Notes
99 1076.54 0.000445309 68.8033 1 1 133
Iter log prob ||dx|| ||grad|| alpha alpha0 # evals Notes
199 1078.13 0.000151685 92.7241 1 1 256
Iter log prob ||dx|| ||grad|| alpha alpha0 # evals Notes
246 1078.14 1.78997e-06 84.0649 1.52e-08 0.001 353 LS failed, Hessian reset
261 1078.14 3.82403e-08 101.692 0.2973 1 372
Optimization terminated normally:
Convergence detected: relative gradient magnitude is below tolerance
