Gemakkelijke en nauwkeurige prognoses met AutoGluon-TimeSeries PlatoBlockchain Data Intelligence. Verticaal zoeken. Ai.

Gemakkelijke en nauwkeurige prognoses met AutoGluon-TimeSeries

AutoGluon-TimeSeries is de nieuwste toevoeging aan AutoGluon, waarmee u eenvoudig krachtige tijdreeksvoorspellingsmodellen kunt bouwen met slechts drie regels code.

Het voorspellen van tijdreeksen is een veel voorkomende taak in een breed scala van industrieรซn en wetenschappelijke domeinen. Toegang hebben tot betrouwbare prognoses voor vraag, aanbod of capaciteit is cruciaal voor planning voor bedrijven. Het voorspellen van tijdreeksen is echter een moeilijk probleem, vooral wanneer er duizenden potentieel gerelateerde tijdreeksen beschikbaar zijn, zoals verkopen in een grote catalogus in e-commerce of capaciteit op honderden operationele sites.

Eenvoudige statistische of op oordeel gebaseerde prognosemethoden zijn vaak al sterke basislijnen die moeilijk te verbeteren zijn met nieuwe machine learning (ML)-methoden. Bovendien zijn de toepassingen van recente ontwikkelingen in ML voor prognoses gevarieerd, met weinig methoden zoals DiepAR [1] of Temporal Fusion Transformers [2] komen op als populaire keuzes. Deze methoden zijn echter moeilijk te trainen, af te stemmen en in te zetten in productie, en vereisen deskundige kennis van ML en tijdreeksanalyse.

AutoML is een snelgroeiend onderwerp binnen ML en richt zich op het automatiseren van veelvoorkomende taken in ML-pijplijnen, waaronder het voorbewerken van functies, modelselectie, modelafstemming, samenstelling en implementatie. AutoGluon-TimeSeries is de nieuwste toevoeging aan AutoGluon, een van de toonaangevende open-source AutoML-oplossingen, en bouwt voort op het krachtige raamwerk van AutoGluon voor AutoML bij prognosetaken. AutoGluon-TimeSeries is ontworpen om krachtige prognosesystemen te bouwen met slechts drie regels code, waardoor de uitdagingen van het voorbewerken van functies, modelselectie, modelafstemming en eenvoudige implementatie worden verlicht.

Met een simpele aanroep naar AutoGluon-TimeSeries's TimeSeriesPredictor, volgt AutoGluon een intuรฏtieve prioriteitsvolgorde bij het aanpassen van modellen: beginnend met eenvoudige naรฏeve basislijnen en overgaand naar een krachtig wereldwijd neuraal netwerk en versterkte boomgebaseerde methoden, allemaal binnen het door de gebruiker opgegeven tijdsbudget. Wanneer gerelateerde tijdreeksen (in de tijd variรซrende covariaten of exogene variabelen) of metadata van items (statische kenmerken) beschikbaar zijn, houdt AutoGluon-TimeSeries daar rekening mee in de prognose. De bibliotheek maakt ook gebruik van Bayesiaanse optimalisatie voor afstemming van hyperparameters, waarbij de beste modelconfiguratie wordt verkregen door complexe modellen af โ€‹โ€‹te stemmen. Ten slotte combineert AutoGluon-TimeSeries het beste van statistische en ML-gebaseerde methoden in een modellenensemble dat is geoptimaliseerd voor het probleem in kwestie.

In dit bericht laten we het gebruiksgemak van AutoGluon-TimeSeries zien bij het snel bouwen van een krachtige voorspeller.

Ga aan de slag met AutoGluon-TimeSeries

Om te beginnen moet u AutoGluon installeren, wat eenvoudig kan worden gedaan met pip op een UNIX-shell:

pip install "autogluon>=0.6"

AutoGluon-TimeSeries introduceert de TimeSeriesDataFrame klasse voor het werken met datasets die meerdere gerelateerde tijdreeksen bevatten (soms een paneldataset genoemd). Deze dataframes kunnen worden gemaakt op basis van zogenaamde long-format dataframes, die tijdreeks-ID's en tijdstempels hebben die in rijen zijn gerangschikt. Het volgende is zo'n gegevensvoorbeeld, ontleend aan de M4-competitie [3]. Hier de item_id kolom specificeert de unieke identificatie van een enkele tijdreeks, zoals de product-ID voor dagelijkse verkoopgegevens van meerdere producten. De target kolom is de interessante waarde die AutoGluon-TimeSeries zal leren voorspellen. weekend is een extra in de tijd variรซrende covariabele die we hebben geproduceerd om aan te geven of de waarneming in het weekend was of niet.

We kunnen gemakkelijk een nieuwe produceren TimeSeriesDataFrame uit deze dataset met behulp van de from_data_frame constructeur. Zie de volgende Python-code:

df = TimeSeriesDataFrame.from_data_frame(raw_data_frame)

Sommige tijdreeksgegevens hebben niet in de tijd variรซrende kenmerken (statische kenmerken of metagegevens van items) die kunnen worden gebruikt bij het trainen van een prognosemodel. De M4-dataset bevat bijvoorbeeld een categorievariabele voor elke tijdreeks. Deze kunnen worden toegevoegd aan de TimeSeriesDataFrame door het instellen van de static_features variabele met een nieuw dataframe.

Gemakkelijke en nauwkeurige prognoses met AutoGluon-TimeSeries PlatoBlockchain Data Intelligence. Verticaal zoeken. Ai.

Gebruik de volgende code:

df.static_features = raw_static_features

Train een TimeSeriesPredictor

Tot slot kunnen we de TimeSeriesPredictor om een โ€‹โ€‹breed scala aan voorspellingsmodellen te passen om een โ€‹โ€‹nauwkeurig voorspellingssysteem te bouwen. Zie de volgende code:

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

Hier specificeren we dat de TimeSeriesPredictor zou modellen moeten produceren om de volgende zeven tijdsperioden te voorspellen en de beste modellen moeten beoordelen met behulp van een gemiddelde absolute geschaalde fout (MAAS). Bovendien geven we aan dat de tijdsvariรซrende covariabele weekend is beschikbaar in de dataset. We kunnen nu het predictorobject op de TimeSeriesDataFrame eerder geproduceerd:

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

Naast het verstrekken van de trainingsgegevens, vragen we de voorspeller te gebruiken โ€œmedium_qualityโ€ voorinstellingen. AutoGluon-TimeSeries wordt geleverd met meerdere presets om subsets van modellen te selecteren om te overwegen en hoeveel tijd te besteden aan het afstemmen ervan, waarbij de afweging tussen trainingssnelheid en nauwkeurigheid wordt beheerd. Afgezien van presets kunnen meer ervaren gebruikers een hyperparameters argument om componentmodellen precies te specificeren en welke hyperparameters erop moeten worden ingesteld. We specificeren ook een tijdslimiet van 1,800 seconden, waarna de voorspeller stopt met trainen.

Onder de motorkap traint AutoGluon-TimeSeries zoveel mogelijk modellen binnen het gespecificeerde tijdsbestek, beginnend met naรฏeve maar krachtige basislijnen en werkend naar complexere voorspellers op basis van versterkte bomen en neurale netwerkmodellen. Door te bellen predictor.leaderboard(), kunnen we een lijst zien van alle modellen die het heeft getraind en de nauwkeurigheidsscores en trainingstijden voor elk. Merk op dat elk AutoGluon-TimeSeries-model zijn fouten rapporteert in een "hoger is beter"-formaat, wat betekent dat de meeste prognosefoutmetingen worden vermenigvuldigd met -1 wanneer ze worden gerapporteerd. Zie het volgende voorbeeld:

              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

Voorspelling met een TimeSeriesPredictor

Ten slotte kunnen we de predictor gebruiken om alle tijdreeksen in a te voorspellen TimeSeriesDataFrame, 7 dagen in de toekomst. Merk op dat omdat we in de tijd variรซrende covariaten gebruikten waarvan wordt aangenomen dat ze in de toekomst bekend zijn, deze ook moeten worden gespecificeerd op het voorspellingstijdstip. Zie de volgende code:

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

AutoGluon-TimeSeries biedt standaard zowel puntvoorspellingen als probabilistische (kwantiel) voorspellingen van de doelwaarde. Probabilistische prognoses zijn essentieel in veel planningstaken en ze kunnen worden gebruikt om flexibel intervallen te berekenen, waardoor downstream-taken zoals inventarisatie en capaciteitsplanning mogelijk worden.

Gemakkelijke en nauwkeurige prognoses met AutoGluon-TimeSeries PlatoBlockchain Data Intelligence. Verticaal zoeken. Ai.

Het volgende is een voorbeeld van een voorspellingsplot die puntvoorspellingen en voorspellingsintervallen laat zien.

Gemakkelijke en nauwkeurige prognoses met AutoGluon-TimeSeries PlatoBlockchain Data Intelligence. Verticaal zoeken. Ai.

Conclusie

AutoGluon-TimeSeries biedt voorspellers en datawetenschappers een snelle en gemakkelijke manier om krachtige voorspellingsmodellen te bouwen. Naast enkele van de veelgebruikte functies van de bibliotheek die in dit bericht worden getoond, biedt AutoGluon-TimeSeries een aantal manieren om prognoses voor geavanceerde gebruikers te configureren. Voorspellers zijn ook eenvoudig te trainen, implementeren en op schaal te bedienen Amazon Sage Maker, met behulp van AutoGluon diep leren containers.

Ga voor meer informatie over het gebruik van AutoGluon, voorbeelden, tutorials en andere taken die AutoGluon aanpakt, zoals leren op tabelgegevens of multimodale gegevens, naar AutoGluon. Om aan de slag te gaan met AutoGluon-TimeSeries, bekijk onze snelstart tutorial of onze diepgaande zelfstudie voor een dieper inzicht in alle functies die de bibliotheek biedt. Volg AutoGluon op Twitter, en geef ons een ster GitHub om op de hoogte te blijven van de laatste updates.

Kijk ook eens voor prognoses op schaal met speciale rekenkracht en workflows, ondersteuning op ondernemingsniveau, uitleg over prognoses en meer Amazon voorspelling.

Referenties

[1] Salinas, David, Valentin Flunkert, Jan Gasthaus en Tim Januschowski. "DeepAR: probabilistische prognoses met autoregressieve terugkerende netwerken." Internationaal tijdschrift voor prognoses 36. 3 (2020): 1181-1191.

[2] Lim, Bryan, Sercan O Arik, Nicolas Loeff en Tomas Pfister. "Tijdelijke fusietransformatoren voor interpreteerbare multi-horizon tijdreeksvoorspellingen." Internationaal tijdschrift voor prognoses 37.4 (2021): 1748-1764.

[3] Makridakis, Spyros, Evangelos Spiliotis en Vassilios Assimakopoulos. "De M4-competitie: 100,000 tijdreeksen en 61 voorspellingsmethoden." Internationaal tijdschrift voor prognoses 36.1 (2020): 54-74.


Over de auteurs

Gemakkelijke en nauwkeurige prognoses met AutoGluon-TimeSeries PlatoBlockchain Data Intelligence. Verticaal zoeken. Ai.Caner Turkmeens is Applied Scientist bij Amazon Web Services, waar hij werkt aan problemen op het snijvlak van machine learning en prognoses, naast het ontwikkelen van AutoGluon-TimeSeries. Voordat hij bij AWS kwam, werkte hij in de managementadviesbranche als datawetenschapper, waarbij hij de financiรซle dienstverleners en telecommunicatie-industrie van dienst was bij projecten over de hele wereld. Caner's persoonlijke onderzoeksinteresses omvatten een reeks onderwerpen, waaronder prognoses, causale gevolgtrekkingen en AutoML.

Gemakkelijke en nauwkeurige prognoses met AutoGluon-TimeSeries PlatoBlockchain Data Intelligence. Verticaal zoeken. Ai.Oleksandr Schur is Applied Scientist bij Amazon Web Services, waar hij werkt aan tijdreeksprognoses in AutoGluon-TimeSeries. Voordat hij bij AWS kwam, voltooide hij een PhD in Machine Learning aan de Technische Universiteit van Mรผnchen, Duitsland, waar hij onderzoek deed naar probabilistische modellen voor gebeurtenisgegevens. Zijn onderzoeksinteresses omvatten machine learning voor temporele data en generatieve modellering.

Gemakkelijke en nauwkeurige prognoses met AutoGluon-TimeSeries PlatoBlockchain Data Intelligence. Verticaal zoeken. Ai.Nick Erikson is Senior Applied Scientist bij Amazon Web Services. Hij behaalde zijn master in Computer Science and Engineering aan de Universiteit van Minnesota Twin Cities. Hij is de co-auteur en hoofdontwikkelaar van het open-source AutoML-framework AutoGluon. Begonnen als een persoonlijke ML-toolkit voor wedstrijden in 2018, breidde Nick voortdurend de mogelijkheden van AutoGluon uit en sloot zich in 2019 aan bij Amazon AI om het project open-source te maken en fulltime te werken aan het bevorderen van de state-of-the-art in AutoML.

Tijdstempel:

Meer van AWS-machine learning