Nem og præcis prognose med AutoGluon-TimeSeries PlatoBlockchain Data Intelligence. Lodret søgning. Ai.

Nem og præcis prognose med AutoGluon-TimeSeries

AutoGluon-TimeSeries er den seneste tilføjelse til AutoGluon, som hjælper dig med nemt at bygge kraftfulde tidsserieprognosemodeller med så lidt som tre linjer kode.

Tidsserieprognoser er en almindelig opgave inden for en bred vifte af industrier såvel som videnskabelige domæner. At have adgang til pålidelige prognoser for udbud, efterspørgsel eller kapacitet er afgørende for planlægning for virksomheder. Imidlertid er tidsserieprognoser et vanskeligt problem, især når tusindvis af potentielt relaterede tidsserier er tilgængelige, såsom salg i et stort katalog inden for e-handel eller kapacitet på hundredvis af operationelle steder.

Simple statistiske eller vurderingsbaserede prognosemetoder er ofte allerede stærke baselines, som er svære at forbedre med nye maskinlæringsmetoder (ML). Desuden er anvendelser af de seneste fremskridt i ML til prognoser varierede, med få metoder som f.eks DeepAR [1] eller Temporal Fusion Transformers [2] dukker op som populære valg. Disse metoder er imidlertid svære at træne, tune og implementere i produktionen, hvilket kræver ekspertviden om ML og tidsserieanalyse.

AutoML er et hurtigt voksende emne inden for ML, der fokuserer på automatisering af almindelige opgaver i ML-pipelines, herunder funktionsforbehandling, modelvalg, modeljustering, ensembling og implementering. AutoGluon-TimeSeries er den seneste tilføjelse til AutoGluon, en af ​​de førende open source AutoML-løsninger, og bygger på AutoGluons kraftfulde ramme for AutoML i prognoseopgaver. AutoGluon-TimeSeries er designet til at bygge kraftfulde prognosesystemer med så lidt som tre linjer kode, hvilket afhjælper udfordringerne med forbehandling af funktioner, modelvalg, modeljustering og nem implementering.

Med et simpelt opkald til AutoGluon-TimeSeries TimeSeriesPredictor, AutoGluon følger en intuitiv prioritetsrækkefølge i tilpasningsmodeller: starter fra simple naive basislinjer og går over til kraftfulde globale neurale netværk og boostede træbaserede metoder, alt sammen inden for det tidsbudget, brugeren har angivet. Når relaterede tidsserier (tidsvarierende kovariater eller eksogene variable) eller elementmetadata (statiske funktioner) er tilgængelige, indregner AutoGluon-TimeSeries dem i prognosen. Biblioteket benytter sig også af Bayesiansk optimering til justering af hyperparameter, og når frem til den bedste modelkonfiguration ved at tune komplekse modeller. Endelig kombinerer AutoGluon-TimeSeries det bedste fra statistiske og ML-baserede metoder til et modelensemble, der er optimeret til det aktuelle problem.

I dette indlæg viser vi AutoGluon-TimeSeries' brugervenlighed ved hurtigt at bygge en kraftfuld prognosemaskine.

Kom godt i gang med AutoGluon-TimeSeries

For at starte skal du installere AutoGluon, hvilket nemt gøres med pip på en UNIX-skal:

pip install "autogluon>=0.6"

AutoGluon-TimeSeries introducerer TimeSeriesDataFrame klasse til at arbejde med datasæt, der inkluderer flere relaterede tidsserier (nogle gange kaldet et paneldatasæt). Disse datarammer kan skabes ud fra såkaldte langformatdatarammer, som har tidsserie-ID'er og tidsstempler arrangeret i rækker. Det følgende er et sådant dataeksempel, taget fra M4-konkurrencen [3]. Her, den item_id kolonne angiver det unikke id for en enkelt tidsserie, såsom produkt-id'et for daglige salgsdata for flere produkter. Det target kolonne er værdien af ​​interesse, som AutoGluon-TimeSeries vil lære at forudsige. weekend er en ekstra tidsvarierende kovariat, vi producerede for at markere, om observationen var i weekenden eller ej.

Vi kan sagtens producere en ny TimeSeriesDataFrame fra dette datasæt ved hjælp af from_data_frame konstruktør. Se følgende Python-kode:

df = TimeSeriesDataFrame.from_data_frame(raw_data_frame)

Nogle tidsseriedata har ikke-tidsvarierende funktioner (statiske funktioner eller elementmetadata), som kan bruges til at træne en prognosemodel. For eksempel indeholder M4-datasættet en kategorivariabel for hver tidsserie. Disse kan føjes til TimeSeriesDataFrame ved at indstille static_features variabel med en ny dataramme.

Nem og præcis prognose med AutoGluon-TimeSeries PlatoBlockchain Data Intelligence. Lodret søgning. Ai.

Brug følgende kode:

df.static_features = raw_static_features

Træn en TimeSeriesPredictor

Endelig kan vi ringe til TimeSeriesPredictor at passe til en bred vifte af prognosemodeller for at opbygge et nøjagtigt prognosesystem. Se følgende kode:

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

Her specificerer vi, at TimeSeriesPredictor skal producere modeller til at forudsige de næste syv tidsperioder og bedømme de bedste modeller ved at bruge middel absolut skaleret fejl (MASE). Desuden indikerer vi, at den tidsvarierende kovariat weekend er tilgængelig i datasættet. Vi kan nu tilpasse prædiktorobjektet på TimeSeriesDataFrame produceret tidligere:

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

Udover at levere træningsdataene, beder vi prædiktoren om at bruge “medium_quality” forudindstillinger. AutoGluon-TimeSeries kommer med flere forudindstillinger til at vælge undersæt af modeller, der skal overvejes, og hvor meget tid der skal bruges på at tune dem, for at håndtere afvejningen mellem træningshastighed og nøjagtighed. Bortset fra forudindstillinger kan mere erfarne brugere bruge en hyperparameters argument for præcist at specificere komponentmodeller og hvilke hyperparametre der skal indstilles på dem. Vi angiver også en tidsgrænse på 1,800 sekunder, hvorefter prædiktoren stopper træningen.

Under motorhjelmen træner AutoGluon-TimeSeries så mange modeller som muligt inden for den angivne tidsramme, startende fra naive, men kraftfulde baselines og arbejder hen imod mere komplekse prognosere baseret på boostede træer og neurale netværksmodeller. Ved at ringe predictor.leaderboard(), kan vi se en liste over alle modeller, den har trænet, og nøjagtighedsresultaterne og træningstiderne for hver. Bemærk, at hver AutoGluon-TimeSeries-model rapporterer sine fejl i et "højere er bedre"-format, hvilket betyder, at de fleste prognosefejlmålinger ganges med -1, når de rapporteres. Se følgende eksempel:

              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

Prognose med en TimeSeries Predictor

Endelig kan vi bruge prædiktoren til at forudsige alle tidsserier i en TimeSeriesDataFrame7 dage ud i fremtiden. Bemærk, at fordi vi brugte tidsvarierende kovariater, der antages at være kendt i fremtiden, bør disse også specificeres på forudsigelsestidspunktet. Se følgende kode:

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

Som standard giver AutoGluon-TimeSeries både punktprognoser og probabilistiske (kvantile) prognoser for målværdien. Probabilistiske prognoser er essentielle i mange planlægningsopgaver, og de kan bruges til fleksibelt at beregne intervaller, hvilket muliggør downstream-opgaver såsom lager- og kapacitetsplanlægning.

Nem og præcis prognose med AutoGluon-TimeSeries PlatoBlockchain Data Intelligence. Lodret søgning. Ai.

Det følgende er et eksempel på et prognoseplot, der demonstrerer punktprognoser og forudsigelsesintervaller.

Nem og præcis prognose med AutoGluon-TimeSeries PlatoBlockchain Data Intelligence. Lodret søgning. Ai.

Konklusion

AutoGluon-TimeSeries giver prognosemagere og dataforskere en hurtig og nem måde at bygge kraftfulde prognosemodeller på. Ud over nogle af bibliotekets almindeligt anvendte funktioner, der vises i dette indlæg, har AutoGluon-TimeSeries et sæt måder at konfigurere prognoser for avancerede brugere. Prediktorer er også nemme at træne, implementere og betjene i skala med Amazon SageMaker, ved hjælp af AutoGluon deep learning beholdere.

For flere detaljer om brug af AutoGluon, eksempler, tutorials samt andre opgaver, som AutoGluon tackler, såsom læring i tabelform eller multimodal data, besøg AutoGluon. For at komme i gang med at bruge AutoGluon-TimeSeries, tjek vores hurtigstart tutorial eller vores dybdegående tutorial for et dybere kig på alle funktioner, som biblioteket tilbyder. Følg AutoGluon på Twitter, og stjerne os på GitHub for at blive informeret om de seneste opdateringer.

For prognoser i skala med dedikeret beregning og arbejdsgange, support på virksomhedsniveau, prognoseforklarlighed og mere, tjek også ud Amazon prognose.

Referencer

[1] Salinas, David, Valentin Flunkert, Jan Gasthaus og Tim Januschowski. "DeepAR: Probabilistisk prognose med autoregressive tilbagevendende netværk." International Journal of Forecasting 36. 3 (2020): 1181-1191.

[2] Lim, Bryan, Sercan O Arik, Nicolas Loeff og Tomas Pfister. "Temporal Fusion Transformers til fortolkelig multi-horisont tidsserieprognose." International Journal of Forecasting 37.4 (2021): 1748-1764.

[3] Makridakis, Spyros, Evangelos Spiliotis og Vassilios Assimakopoulos. "M4-konkurrencen: 100,000 tidsserier og 61 prognosemetoder." International Journal of Forecasting 36.1 (2020): 54-74.


Om forfatterne

Nem og præcis prognose med AutoGluon-TimeSeries PlatoBlockchain Data Intelligence. Lodret søgning. Ai.Caner Turkmen er en Applied Scientist hos Amazon Web Services, hvor han arbejder med problemer i krydsfeltet mellem maskinlæring og prognoser, foruden at udvikle AutoGluon-TimeSeries. Før han kom til AWS, arbejdede han i ledelseskonsulentbranchen som dataforsker, hvor han betjente den finansielle service- og telekommunikationsindustri på projekter over hele kloden. Caners personlige forskningsinteresser spænder over en række emner, herunder prognoser, kausal inferens og AutoML.

Nem og præcis prognose med AutoGluon-TimeSeries PlatoBlockchain Data Intelligence. Lodret søgning. Ai.Oleksandr Shchur er en Applied Scientist hos Amazon Web Services, hvor han arbejder med tidsserieprognoser i AutoGluon-TimeSeries. Før han kom til AWS, afsluttede han en ph.d. i maskinlæring ved det tekniske universitet i München, Tyskland, hvor han forskede i probabilistiske modeller for hændelsesdata. Hans forskningsinteresser omfatter maskinlæring til tidsdata og generativ modellering.

Nem og præcis prognose med AutoGluon-TimeSeries PlatoBlockchain Data Intelligence. Lodret søgning. Ai.Nick Erickson er Senior Applied Scientist hos Amazon Web Services. Han opnåede sin kandidatgrad i Computer Science and Engineering fra University of Minnesota Twin Cities. Han er medforfatter og hovedudvikler af open source AutoML-rammeværket AutoGluon. Startende som et personligt konkurrence-ML-værktøjssæt i 2018, udvidede Nick løbende mulighederne i AutoGluon og sluttede sig til Amazon AI i 2019 for at open-source projektet og arbejde fuld tid på at fremme det avancerede inden for AutoML.

Tidsstempel:

Mere fra AWS maskinindlæring