Prognoza ușoară și precisă cu AutoGluon-TimeSeries PlatoBlockchain Data Intelligence. Căutare verticală. Ai.

Prognoza ușoară și precisă cu AutoGluon-TimeSeries

AutoGluon-TimeSeries este cea mai recentă adăugare la AutoGluon, care vă ajută să construiți cu ușurință modele puternice de prognoză în serie de timp, cu doar trei linii de cod.

Prognoza serii temporale este o sarcină comună într-o gamă largă de industrii, precum și în domenii științifice. A avea acces la previziuni fiabile pentru ofertă, cerere sau capacitate este esențial pentru planificarea afacerilor. Cu toate acestea, prognoza serii temporale este o problemă dificilă, mai ales când sunt disponibile mii de serii temporale potențial legate, cum ar fi vânzările într-un catalog mare în comerțul electronic sau capacitatea la sute de site-uri operaționale.

Metodele simple de prognoză statistice sau bazate pe judecată sunt adesea deja linii de bază puternice, care sunt greu de îmbunătățit cu metode noi de învățare automată (ML). Mai mult, aplicațiile recente ale progreselor recente în ML la prognoză sunt variate, cu puține metode precum DeepAR [1] sau Temporal Fusion Transformers [2] apar ca alegeri populare. Cu toate acestea, aceste metode sunt dificil de antrenat, reglat și implementat în producție, necesitând cunoștințe de specialitate despre ML și analiza serii cronologice.

AutoML este un subiect în creștere rapidă în ML, concentrându-se pe automatizarea sarcinilor comune în conductele ML, inclusiv preprocesarea caracteristicilor, selecția modelului, reglarea modelului, asamblarea și implementarea. AutoGluon-TimeSeries este cea mai recentă adăugare la AutoGluon, una dintre principalele soluții AutoML open-source și se bazează pe cadrul puternic AutoGluon pentru AutoML în sarcinile de prognoză. AutoGluon-TimeSeries a fost proiectat pentru a construi sisteme puternice de prognoză cu doar trei linii de cod, atenuând provocările legate de preprocesarea caracteristicilor, selecția modelului, reglarea modelului și ușurința implementării.

Cu un simplu apel la AutoGluon-TimeSeries TimeSeriesPredictor, AutoGluon urmează o ordine intuitivă de prioritate în modelele de potrivire: pornind de la linii de bază simple naive și trecerea la o rețea neuronală globală puternică și metode bazate pe arbore îmbunătățite, toate în bugetul de timp specificat de utilizator. Când sunt disponibile serii temporale (covariabile variabile în timp sau variabile exogene) sau metadatele articolului (caracteristici statice), AutoGluon-TimeSeries le include în prognoză. Biblioteca folosește, de asemenea, optimizarea bayesiană pentru reglarea hiperparametrului, ajungând la cea mai bună configurație de model prin reglarea modelelor complexe. În cele din urmă, AutoGluon-TimeSeries combină cele mai bune metode statistice și bazate pe ML într-un ansamblu de modele optimizat pentru problema în cauză.

În această postare, prezentăm ușurința de utilizare a AutoGluon-TimeSeries în construirea rapidă a unui prognozator puternic.

Începeți cu AutoGluon-TimeSeries

Pentru a începe, trebuie să instalați AutoGluon, care se face ușor cu pip pe un shell UNIX:

pip install "autogluon>=0.6"

AutoGluon-TimeSeries introduce TimeSeriesDataFrame clasă pentru lucrul cu seturi de date care includ mai multe serii temporale asociate (uneori numit set de date panou). Aceste cadre de date pot fi create din așa-numitele cadre de date în format lung, care au ID-uri de serie de timp și marcaje temporale aranjate în rânduri. Următorul este un astfel de exemplu de date, luat din competiția M4 [3]. Aici item_id coloana specifică identificatorul unic al unei singure serii cronologice, cum ar fi ID-ul produsului pentru datele zilnice despre vânzări ale mai multor produse. The target coloana este valoarea de interes pe care AutoGluon-TimeSeries va învăța să o prognozeze. weekend este o covariabilă suplimentară care variază în timp pe care am produs-o pentru a marca dacă observația a avut loc în weekend sau nu.

Putem produce cu ușurință un nou TimeSeriesDataFrame din acest set de date folosind from_data_frame constructor. Vedeți următorul cod Python:

df = TimeSeriesDataFrame.from_data_frame(raw_data_frame)

Unele date din seria cronologică au caracteristici care nu variază în timp (funcții statice sau metadate ale articolului) care pot fi utilizate în formarea unui model de prognoză. De exemplu, setul de date M4 prezintă o variabilă de categorie pentru fiecare serie temporală. Acestea pot fi adăugate la TimeSeriesDataFrame prin setarea static_features variabilă cu un nou cadru de date.

Prognoza ușoară și precisă cu AutoGluon-TimeSeries PlatoBlockchain Data Intelligence. Căutare verticală. Ai.

Utilizați următorul cod:

df.static_features = raw_static_features

Antrenați un TimeSeriesPredictor

În cele din urmă, putem numi TimeSeriesPredictor pentru a se potrivi cu o gamă largă de modele de prognoză pentru a construi un sistem de prognoză precis. Vezi următorul cod:

predictor = TimeSeriesPredictor(
    prediction_length=7,
    eval_metric="MASE",
    known_covariates_names=["weekend"],
)

Aici, precizăm că TimeSeriesPredictor ar trebui să producă modele pentru a prognoza următoarele șapte perioade de timp și să judece cele mai bune modele utilizând eroarea medie absolută la scară (MASE). Mai mult, indicăm că covariata variabilă în timp weekend este disponibil în setul de date. Acum putem potrivi obiectul predictor pe TimeSeriesDataFrame produs anterior:

predictor.fit(df, presets="medium_quality", time_limit=1800)

Pe lângă furnizarea datelor de antrenament, solicităm predictorului să folosească “medium_quality” presetări. AutoGluon-TimeSeries vine cu mai multe presetări pentru a selecta subseturi de modele pe care să le ia în considerare și cât timp trebuie să aloce pentru reglarea acestora, gestionând compromisul între viteza de antrenament și precizie. În afară de presetări, utilizatorii mai experimentați pot folosi a hyperparameters argument pentru a specifica cu precizie modelele de componente și ce hiperparametri să se stabilească asupra lor. De asemenea, precizăm o limită de timp de 1,800 de secunde, după care predictorul oprește antrenamentul.

Sub capotă, AutoGluon-TimeSeries antrenează cât mai multe modele în intervalul de timp specificat, pornind de la linii de bază naive, dar puternice și lucrând către prognoze mai complexe bazate pe arbori îmbunătățiți și modele de rețele neuronale. Sunând predictor.leaderboard(), putem vedea o listă cu toate modelele pe care le-a antrenat și scorurile de precizie și timpii de antrenament pentru fiecare. Rețineți că fiecare model AutoGluon-TimeSeries își raportează erorile într-un format „mai mare este mai bine”, ceea ce înseamnă că majoritatea măsurilor de eroare de prognoză sunt înmulțite cu -1 atunci când sunt raportate. Vezi următorul exemplu:

              model  score_val  pred_time_val  fit_time_marginal  fit_order
0  WeightedEnsemble  -0.612510      15.406334          48.428711          8
1  AutoGluonTabular  -0.654924       1.068694         104.208688          6
2            DeepAR  -0.673366       6.731659        1065.956648          7
3     SeasonalNaive  -1.035286       0.410615           0.000742          2
4               ETS  -1.073640       5.832542           0.000584          3
5             Theta  -1.107362       1.773439           0.000614          4
6             ARIMA  -3.006273       2.483140           0.000625          5
7             Naive  -3.427339      29.532215           0.000577          1

Prognoza cu un TimeSeriesPredictor

În cele din urmă, putem folosi predictorul pentru a prezice toate seriile temporale din a TimeSeriesDataFrame, 7 zile în viitor. Rețineți că, deoarece am folosit covariabile care variază în timp care se presupune că vor fi cunoscute în viitor, acestea ar trebui specificate și la momentul predicției. Vezi următorul cod:

predictions = predictor.predict(
	df,
	known_covariates=future_known_covariates
)

În mod implicit, AutoGluon-TimeSeries oferă atât prognoze punctuale, cât și prognoze probabilistice (cuantile) ale valorii țintă. Prognozele probabilistice sunt esențiale în multe sarcini de planificare și pot fi utilizate pentru a calcula în mod flexibil intervalele, permițând sarcini în aval, cum ar fi planificarea inventarului și a capacității.

Prognoza ușoară și precisă cu AutoGluon-TimeSeries PlatoBlockchain Data Intelligence. Căutare verticală. Ai.

Următorul este un exemplu de diagramă de prognoză care demonstrează prognozele punctuale și intervalele de predicție.

Prognoza ușoară și precisă cu AutoGluon-TimeSeries PlatoBlockchain Data Intelligence. Căutare verticală. Ai.

Concluzie

AutoGluon-TimeSeries oferă prognozatorilor și cercetătorilor de date o modalitate rapidă și ușoară de a construi modele puternice de prognoză. Pe lângă unele dintre caracteristicile utilizate în mod obișnuit ale bibliotecii prezentate în această postare, AutoGluon-TimeSeries oferă un set de moduri de a configura prognozele pentru utilizatorii avansați. Predictorii sunt, de asemenea, ușor de antrenat, implementat și servit la scară Amazon SageMaker, folosind AutoGluon deep learning containere.

Pentru mai multe detalii despre utilizarea AutoGluon, exemple, tutoriale, precum și alte sarcini pe care le abordează AutoGluon, cum ar fi învățarea pe date tabulare sau multimodale, vizitați AutoGluon. Pentru a începe să utilizați AutoGluon-TimeSeries, consultați tutorial de pornire rapidă sau ne tutorial aprofundat pentru o privire mai profundă asupra tuturor funcțiilor oferite de biblioteca. Urmăriți AutoGluon activat Twitter, și să ne vedeți GitHub pentru a fi informat despre cele mai recente actualizări.

Pentru prognoza la scară cu calcul și fluxuri de lucru dedicate, asistență la nivel de întreprindere, explicabilitate a prognozei și multe altele, consultați de asemenea Prognoza Amazon.

Referinte

[1] Salinas, David, Valentin Flunkert, Jan Gasthaus și Tim Januschowski. „DeepAR: Prognoza probabilistică cu rețele recurente autoregresive.” Jurnalul Internațional de Prognoză 36. 3 (2020): 1181-1191.

[2] Lim, Bryan, Sercan O Arik, Nicolas Loeff și Tomas Pfister. „Transformatori de fuziune temporală pentru prognoza interpretabilă a seriilor temporale cu mai multe orizonturi.” Jurnalul Internațional de Prognoză 37.4 (2021): 1748-1764.

[3] Makridakis, Spyros, Evangelos Spiliotis și Vassilios Assimakopoulos. „Competiția M4: 100,000 de serii cronologice și 61 de metode de prognoză.” Jurnalul Internațional de Prognoză 36.1 (2020): 54-74.


Despre autori

Prognoza ușoară și precisă cu AutoGluon-TimeSeries PlatoBlockchain Data Intelligence. Căutare verticală. Ai.Caner Turkmen este un om de știință aplicat la Amazon Web Services, unde lucrează la problemele de la intersecția dintre învățarea automată și prognoza, pe lângă dezvoltarea AutoGluon-TimeSeries. Înainte de a se alătura AWS, a lucrat în industria de consultanță în management ca cercetător de date, deservind industria serviciilor financiare și a telecomunicațiilor în proiecte de pe tot globul. Interesele personale de cercetare ale lui Caner acoperă o gamă largă de subiecte, inclusiv prognoza, inferența cauzală și AutoML.

Prognoza ușoară și precisă cu AutoGluon-TimeSeries PlatoBlockchain Data Intelligence. Căutare verticală. Ai.Oleksandr Shchur este un om de știință aplicat la Amazon Web Services, unde lucrează la prognoza serii temporale în AutoGluon-TimeSeries. Înainte de a se alătura AWS, a absolvit un doctorat în Machine Learning la Universitatea Tehnică din München, Germania, făcând cercetări asupra modelelor probabilistice pentru datele despre evenimente. Interesele sale de cercetare includ învățarea automată pentru date temporale și modelarea generativă.

Prognoza ușoară și precisă cu AutoGluon-TimeSeries PlatoBlockchain Data Intelligence. Căutare verticală. Ai.Nick Erickson este cercetător senior aplicat la Amazon Web Services. Și-a obținut diploma de master în Informatică și Inginerie de la Universitatea din Minnesota Twin Cities. El este coautorul și dezvoltatorul principal al cadrului AutoML cu sursă deschisă AutoGluon. Începând ca un set de instrumente ML pentru competiție personală în 2018, Nick și-a extins continuu capacitățile AutoGluon și s-a alăturat Amazon AI în 2019 pentru a deschide proiectul și a lucra cu normă întreagă la avansarea de ultimă generație în AutoML.

Timestamp-ul:

Mai mult de la Învățare automată AWS