? Breaking News : Kami merilis Chronos , serangkaian model pretrained untuk peramalan seri waktu zero-shot. Chronos dapat menghasilkan prediksi probabilistik yang akurat untuk seri waktu baru yang tidak terlihat selama pelatihan. Lihat di sini!
Gluonts adalah paket Python untuk pemodelan seri waktu probabilistik, dengan fokus pada model berbasis pembelajaran yang mendalam, berdasarkan Pytorch dan MXNet.
Gluonts membutuhkan Python 3.7 atau yang lebih baru, dan cara termudah untuk menginstalnya adalah melalui pip :
# install with support for torch models
pip install " gluonts[torch] "
# install with support for mxnet models
pip install " gluonts[mxnet] "Lihat dokumentasi untuk info lebih lanjut tentang bagaimana Gluonts dapat diinstal.
Untuk mengilustrasikan cara menggunakan Gluonts, kami melatih model deepar dan membuat prediksi menggunakan dataset AirPassengers. Dataset ini terdiri dari serangkaian waktu tunggal jumlah penumpang bulanan antara tahun 1949 dan 1960. Kami melatih model pada sembilan tahun pertama dan membuat prediksi selama tiga tahun sisanya.
import pandas as pd
import matplotlib . pyplot as plt
from gluonts . dataset . pandas import PandasDataset
from gluonts . dataset . split import split
from gluonts . torch import DeepAREstimator
# Load data from a CSV file into a PandasDataset
df = pd . read_csv (
"https://raw.githubusercontent.com/AileenNielsen/"
"TimeSeriesAnalysisWithPython/master/data/AirPassengers.csv" ,
index_col = 0 ,
parse_dates = True ,
)
dataset = PandasDataset ( df , target = "#Passengers" )
# Split the data for training and testing
training_data , test_gen = split ( dataset , offset = - 36 )
test_data = test_gen . generate_instances ( prediction_length = 12 , windows = 3 )
# Train the model and make predictions
model = DeepAREstimator (
prediction_length = 12 , freq = "M" , trainer_kwargs = { "max_epochs" : 5 }
). train ( training_data )
forecasts = list ( model . predict ( test_data . input ))
# Plot predictions
plt . plot ( df [ "1954" :], color = "black" )
for forecast in forecasts :
forecast . plot ()
plt . legend ([ "True values" ], loc = "upper left" , fontsize = "xx-large" )
plt . show ()Catatan, ramalan ditampilkan dalam hal distribusi probabilitas dan area yang diarsir mewakili interval prediksi 50% dan 90%.
Jika Anda ingin berkontribusi pada proyek, silakan merujuk ke pedoman kontribusi kami.
Jika Anda menggunakan Gluont dalam publikasi ilmiah, kami mendorong Anda untuk menambahkan referensi berikut ke makalah terkait, di samping referensi model khusus yang relevan untuk pekerjaan Anda:
@article { gluonts_jmlr ,
author = { Alexander Alexandrov and Konstantinos Benidis and Michael Bohlke-Schneider
and Valentin Flunkert and Jan Gasthaus and Tim Januschowski and Danielle C. Maddix
and Syama Rangapuram and David Salinas and Jasper Schulz and Lorenzo Stella and
Ali Caner Türkmen and Yuyang Wang } ,
title = { {GluonTS: Probabilistic and Neural Time Series Modeling in Python} } ,
journal = { Journal of Machine Learning Research } ,
year = { 2020 } ,
volume = { 21 } ,
number = { 116 } ,
pages = { 1-6 } ,
url = { http://jmlr.org/papers/v21/19-820.html }
} @article { gluonts_arxiv ,
author = { Alexandrov, A. and Benidis, K. and Bohlke-Schneider, M. and
Flunkert, V. and Gasthaus, J. and Januschowski, T. and Maddix, D. C.
and Rangapuram, S. and Salinas, D. and Schulz, J. and Stella, L. and
Türkmen, A. C. and Wang, Y. } ,
title = { {GluonTS: Probabilistic Time Series Modeling in Python} } ,
journal = { arXiv preprint arXiv:1906.05264 } ,
year = { 2019 }
}