StatsForecast menawarkan kumpulan model peramalan deret waktu univariat yang banyak digunakan, termasuk pemodelan ARIMA
, ETS
, CES
, dan Theta
otomatis yang dioptimalkan untuk kinerja tinggi menggunakan numba
. Ini juga mencakup sejumlah besar model benchmarking.
Anda dapat menginstal StatsForecast
dengan:
pip install statsforecast
atau
conda install - c conda - forge statsforecast
Kunjungi Panduan Instalasi kami untuk instruksi lebih lanjut.
Contoh Minimal
from statsforecast import StatsForecast
from statsforecast . models import AutoARIMA
from statsforecast . utils import AirPassengersDF
df = AirPassengersDF
sf = StatsForecast (
models = [ AutoARIMA ( season_length = 12 )],
freq = 'ME' ,
)
sf . fit ( df )
sf . predict ( h = 12 , level = [ 95 ])
Mulailah dengan panduan singkat ini.
Ikuti panduan menyeluruh ini untuk praktik terbaik.
Alternatif Python saat ini untuk model statistik lambat, tidak akurat, dan tidak dapat diskalakan dengan baik. Jadi kami membuat perpustakaan yang dapat digunakan untuk memperkirakan di lingkungan produksi atau sebagai tolok ukur. StatsForecast
mencakup banyak model yang dapat secara efisien memuat jutaan rangkaian waktu.
AutoARIMA
, AutoETS
, AutoCES
, MSTL
dan Theta
yang tercepat dan akurat dengan Python..fit
dan .predict
. exogenous variables
dan prediction intervals
untuk ARIMA.pmdarima
.R
.Prophet
.statsmodels
.numba
.Kehilangan sesuatu? Silakan buka terbitan atau kirimkan surat kepada kami
Panduan Ujung ke Ujung: Pelatihan model, evaluasi, dan seleksi untuk beberapa rangkaian waktu
? Deteksi Anomali: mendeteksi anomali untuk deret waktu menggunakan interval prediksi dalam sampel.
?? Validasi Silang: evaluasi kinerja model yang kuat.
❄️ Beberapa Musiman: cara memperkirakan data dengan beberapa musiman menggunakan MSTL.
? Memprediksi Puncak Permintaan: perkiraan beban listrik untuk mendeteksi puncak harian dan mengurangi tagihan listrik.
? Permintaan Intermiten: rangkaian perkiraan dengan sangat sedikit observasi bukan nol.
?️ Regresor Eksogen: seperti cuaca atau harga
Alat perkiraan otomatis mencari parameter terbaik dan memilih model terbaik untuk sekelompok deret waktu. Alat-alat ini berguna untuk kumpulan besar rangkaian waktu univariat.
Model | Perkiraan Titik | Prakiraan Probabilistik | Contoh nilai yang dipasang | Nilai yang dipasang secara probabilistik | Ciri-ciri eksogen |
---|---|---|---|---|---|
OtomatisARIMA | ✅ | ✅ | ✅ | ✅ | ✅ |
AutoETS | ✅ | ✅ | ✅ | ✅ | |
AutoCES | ✅ | ✅ | ✅ | ✅ | |
AutoTheta | ✅ | ✅ | ✅ | ✅ | |
MFLES Otomatis | ✅ | ✅ | ✅ | ✅ | ✅ |
TBAT Otomatis | ✅ | ✅ | ✅ | ✅ |
Model-model ini mengeksploitasi autokorelasi yang ada dalam deret waktu.
Model | Perkiraan Titik | Prakiraan Probabilistik | Contoh nilai yang dipasang | Nilai yang dipasang secara probabilistik | Ciri-ciri eksogen |
---|---|---|---|---|---|
ARIMA | ✅ | ✅ | ✅ | ✅ | ✅ |
AutoRegresif | ✅ | ✅ | ✅ | ✅ | ✅ |
Cocokkan dua garis theta ke deret waktu yang tidak musimnya, menggunakan teknik berbeda untuk mendapatkan dan menggabungkan dua garis theta untuk menghasilkan prakiraan akhir.
Model | Perkiraan Titik | Prakiraan Probabilistik | Contoh nilai yang dipasang | Nilai yang dipasang secara probabilistik | Ciri-ciri eksogen |
---|---|---|---|---|---|
Theta | ✅ | ✅ | ✅ | ✅ | |
DioptimalkanTheta | ✅ | ✅ | ✅ | ✅ | |
DinamisTheta | ✅ | ✅ | ✅ | ✅ | |
DinamisDioptimalkanTheta | ✅ | ✅ | ✅ | ✅ |
Cocok untuk sinyal dengan lebih dari satu musim yang jelas. Berguna untuk data frekuensi rendah seperti listrik dan log.
Model | Perkiraan Titik | Prakiraan Probabilistik | Contoh nilai yang dipasang | Nilai yang dipasang secara probabilistik | Ciri-ciri eksogen |
---|---|---|---|---|---|
MSTL | ✅ | ✅ | ✅ | ✅ | Jika peramal tren mendukung |
MFLES | ✅ | ✅ | ✅ | ✅ | ✅ |
TBAT | ✅ | ✅ | ✅ | ✅ |
Cocok untuk memodelkan deret waktu yang menunjukkan volatilitas tidak konstan dari waktu ke waktu. Model ARCH adalah kasus khusus dari GARCH.
Model | Perkiraan Titik | Prakiraan Probabilistik | Contoh nilai yang dipasang | Nilai-nilai yang dipasang secara probabilistik | Ciri-ciri eksogen |
---|---|---|---|---|---|
GARCH | ✅ | ✅ | ✅ | ✅ | |
LENGKUNGAN | ✅ | ✅ | ✅ | ✅ |
Model klasik untuk menetapkan baseline.
Model | Perkiraan Titik | Prakiraan Probabilistik | Contoh nilai yang dipasang | Nilai yang dipasang secara probabilistik | Ciri-ciri eksogen |
---|---|---|---|---|---|
Rata-rata Bersejarah | ✅ | ✅ | ✅ | ✅ | |
Naif | ✅ | ✅ | ✅ | ✅ | |
RandomWalkWithDrift | ✅ | ✅ | ✅ | ✅ | |
Naif Musiman | ✅ | ✅ | ✅ | ✅ | |
Rata-rata Jendela | ✅ | ||||
Rata-rata Jendela Musiman | ✅ |
Menggunakan rata-rata tertimbang dari semua observasi masa lalu yang bobotnya menurun secara eksponensial di masa lalu. Cocok untuk data dengan tren dan/atau musiman yang jelas. Gunakan kelompok SimpleExponential
untuk data tanpa tren atau musiman yang jelas.
Model | Perkiraan Titik | Prakiraan Probabilistik | Contoh nilai yang dipasang | Nilai yang dipasang secara probabilistik | Ciri-ciri eksogen |
---|---|---|---|---|---|
Penghalusan Eksponensial Sederhana | ✅ | ||||
SimpleExponentialSmoothingDioptimalkan | ✅ | ||||
Penghalusan Eksponensial Musiman | ✅ | ||||
Penghalusan Eksponensial Musiman Dioptimalkan | ✅ | ||||
Suaka | ✅ | ✅ | ✅ | ✅ | |
Musim Dingin Holt | ✅ | ✅ | ✅ | ✅ |
Cocok untuk rangkaian dengan sedikit observasi bukan nol
Model | Perkiraan Titik | Prakiraan Probabilistik | Contoh nilai yang dipasang | Nilai yang dipasang secara probabilistik | Ciri-ciri eksogen |
---|---|---|---|---|---|
ADIDA | ✅ | ✅ | ✅ | ||
CrostonKlasik | ✅ | ✅ | ✅ | ||
CrostonDioptimalkan | ✅ | ✅ | ✅ | ||
CrostonSBA | ✅ | ✅ | ✅ | ||
IMAPA | ✅ | ✅ | ✅ | ||
tsb | ✅ | ✅ | ✅ |
Lihat KONTRIBUSI.md.
@misc { garza2022statsforecast ,
author = { Azul Garza, Max Mergenthaler Canseco, Cristian Challú, Kin G. Olivares } ,
title = { {StatsForecast}: Lightning fast forecasting with statistical and econometric models } ,
year = { 2022 } ,
howpublished = { {PyCon} Salt Lake City, Utah, US 2022 } ,
url = { https://github.com/Nixtla/statsforecast }
}
Terima kasih kepada orang-orang hebat ini (kunci emoji):
biru langit ? | José Morales ? | Sugato Ray | Jeff Tackes ? | darinkist ? | Alec Helyar | Dave Hirschfeld |
mergenthaler | Kerabat | Yasslight90 ? | bodoh ? | Philip Gillißen | Sebastian Hagn ? | Han Wang |
Ben Jeffrey ? | Beliavsky | Mariana Menchero Garcia | Nikhil Gupta ? | JD ? | Josh Attenberg | JeroenPeterBos |
Jeroen Van Der Donckt | Roymprog | Nelson Cárdenas Bolaño | Kyle Schmaus | Akmal Soliev | Nick Untuk | Kevin Kho |
Yiben Huang | Andrew Kotor | taniishkaaa | Manuel Calzolari |
Proyek ini mengikuti spesifikasi semua kontributor. Kontribusi apa pun diterima!