؟ الأخبار العاجلة : أصدرنا Chronos ، وهي مجموعة من النماذج المسبقة للتنبؤ بسلسلة زمنية صفرية. يمكن أن يولد Chronos تنبؤات احتمالية دقيقة لسلسلة زمنية جديدة لم تشاهد أثناء التدريب. تحقق من ذلك هنا!
Gluonts هي حزمة Python لنمذجة السلاسل الزمنية الاحتمالية ، مع التركيز على النماذج القائمة على التعلم العميق ، استنادًا إلى Pytorch و MXNet.
يتطلب Gluonts Python 3.7 أو الأحدث ، وأسهل طريقة لتثبيتها هي عبر pip :
# install with support for torch models
pip install " gluonts[torch] "
# install with support for mxnet models
pip install " gluonts[mxnet] "راجع الوثائق لمزيد من المعلومات حول كيفية تثبيت Gluonts.
لتوضيح كيفية استخدام Gluonts ، نقوم بتدريب نموذج Deepar ونعمل تنبؤات باستخدام مجموعة بيانات AirPassEngers. تتكون مجموعة البيانات من سلسلة زمنية واحدة من أرقام الركاب الشهرية بين عامي 1949 و 1960. نقوم بتدريب النموذج في السنوات التسع الأولى ونجعل التنبؤات للسنوات الثلاث المتبقية.
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 ()ملاحظة ، يتم عرض التوقعات من حيث توزيع الاحتمالات وتمثل المناطق المظللة فترات التنبؤ بنسبة 50 ٪ و 90 ٪.
إذا كنت ترغب في المساهمة في المشروع ، فيرجى الرجوع إلى إرشادات المساهمة الخاصة بنا.
إذا كنت تستخدم gluonts في منشور علمي ، فنحن نشجعك على إضافة المراجع التالية إلى الأوراق ذات الصلة ، بالإضافة إلى أي مراجع خاصة بالنموذج وذات صلة بعملك:
@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 }
}