Enkel og nøyaktig prognoser med AutoGluon-TimeSeries PlatoBlockchain Data Intelligence. Vertikalt søk. Ai.

Enkel og nøyaktig prognoser med AutoGluon-TimeSeries

AutoGluon-TimeSeries er det siste tillegget til AutoGluon, som hjelper deg enkelt å bygge kraftige tidsserieprognosemodeller med så lite som tre linjer med kode.

Tidsserieprognoser er en vanlig oppgave i et bredt spekter av bransjer så vel som vitenskapelige domener. Å ha tilgang til pålitelige prognoser for tilbud, etterspørsel eller kapasitet er avgjørende for planlegging for bedrifter. Imidlertid er tidsserieprognoser et vanskelig problem, spesielt når tusenvis av potensielt relaterte tidsserier er tilgjengelige, for eksempel salg i en stor katalog innen e-handel, eller kapasitet på hundrevis av driftssteder.

Enkle statistiske eller vurderingsbaserte prognosemetoder er ofte allerede sterke grunnlinjer som er vanskelige å forbedre med nye maskinlæringsmetoder (ML). Dessuten er anvendelser av nyere fremskritt i ML til prognoser varierte, med få metoder som f.eks DeepAR [1] eller Temporal Fusion Transformers [2] dukker opp som populære valg. Disse metodene er imidlertid vanskelige å trene, justere og distribuere i produksjon, og krever ekspertkunnskap om ML og tidsserieanalyse.

AutoML er et raskt voksende emne innen ML, med fokus på automatisering av vanlige oppgaver i ML-pipelines, inkludert funksjonsforbehandling, modellvalg, modellinnstilling, ensembling og distribusjon. AutoGluon-TimeSeries er det siste tilskuddet til AutoGluon, en av de ledende åpen kildekode AutoML-løsningene, og bygger på AutoGluons kraftige rammeverk for AutoML i prognoseoppgaver. AutoGluon-TimeSeries ble designet for å bygge kraftige prognosesystemer med så lite som tre linjer med kode, noe som lindrer utfordringene med funksjonsforbehandling, modellvalg, modellinnstilling og enkel distribusjon.

Med et enkelt anrop til AutoGluon-TimeSeries TimeSeriesPredictorAutoGluon følger en intuitiv prioriteringsrekkefølge i tilpasningsmodeller: starter fra enkle naive grunnlinjer og går over til kraftige globale nevrale nettverk og forsterkede trebaserte metoder, alt innenfor tidsbudsjettet spesifisert av brukeren. Når relaterte tidsserier (tidsvarierende kovariater eller eksogene variabler) eller elementmetadata (statiske funksjoner) er tilgjengelige, tar AutoGluon-TimeSeries dem inn i prognosen. Biblioteket benytter seg også av Bayesiansk optimalisering for hyperparameterinnstilling, og kommer til den beste modellkonfigurasjonen ved å stille inn komplekse modeller. Til slutt kombinerer AutoGluon-TimeSeries det beste fra statistiske og ML-baserte metoder til et modellensemble som er optimalisert for det aktuelle problemet.

I dette innlegget viser vi frem AutoGluon-TimeSeries sin brukervennlighet for raskt å bygge en kraftig prognosemaskin.

Kom i gang med AutoGluon-TimeSeries

For å starte må du installere AutoGluon, som enkelt gjøres med pip på et UNIX-skall:

pip install "autogluon>=0.6"

AutoGluon-TimeSeries introduserer TimeSeriesDataFrame klasse for å arbeide med datasett som inkluderer flere relaterte tidsserier (noen ganger kalt et paneldatasett). Disse datarammene kan lages fra såkalte langformatdatarammer, som har tidsserie-IDer og tidsstempler ordnet i rader. Følgende er et slikt dataeksempel, hentet fra M4-konkurransen [3]. Her, den item_id kolonnen spesifiserer den unike identifikatoren for en enkelt tidsserie, for eksempel produkt-ID-en for daglige salgsdata for flere produkter. De target kolonnen er verdien av interesse som AutoGluon-TimeSeries vil lære å forutsi. weekend er en ekstra tidsvarierende kovariat vi produserte for å markere om observasjonen var i helgen eller ikke.

Vi kan enkelt produsere en ny TimeSeriesDataFrame fra dette datasettet ved hjelp av from_data_frame konstruktør. Se følgende Python-kode:

df = TimeSeriesDataFrame.from_data_frame(raw_data_frame)

Noen tidsseriedata har ikke-tidsvarierende funksjoner (statiske funksjoner eller elementmetadata) som kan brukes til å trene en prognosemodell. For eksempel har M4-datasettet en kategorivariabel for hver tidsserie. Disse kan legges til TimeSeriesDataFrame ved å stille inn static_features variabel med en ny dataramme.

Enkel og nøyaktig prognoser med AutoGluon-TimeSeries PlatoBlockchain Data Intelligence. Vertikalt søk. Ai.

Bruk følgende kode:

df.static_features = raw_static_features

Tren en TimeSeriesPredictor

Endelig kan vi ringe TimeSeriesPredictor å passe et bredt utvalg av prognosemodeller for å bygge et nøyaktig prognosesystem. Se følgende kode:

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

Her spesifiserer vi at TimeSeriesPredictor bør produsere modeller for å forutsi de neste syv tidsperiodene og bedømme de beste modellene ved å bruke gjennomsnittlig absolutt skalert feil (MASE). Dessuten indikerer vi at den tidsvarierende kovarianten weekend er tilgjengelig i datasettet. Vi kan nå tilpasse prediktorobjektet på TimeSeriesDataFrame produsert tidligere:

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

Bortsett fra å gi treningsdataene, ber vi prediktoren bruke “medium_quality” forhåndsinnstillinger. AutoGluon-TimeSeries kommer med flere forhåndsinnstillinger for å velge undersett av modeller å vurdere og hvor mye tid du skal bruke på å tune dem, for å håndtere avveiningen mellom treningshastighet og nøyaktighet. Bortsett fra forhåndsinnstillinger kan mer erfarne brukere bruke en hyperparameters argument for å spesifisere komponentmodeller nøyaktig og hvilke hyperparametre som skal settes på dem. Vi angir også en tidsbegrensning på 1,800 sekunder, hvoretter prediktoren slutter å trene.

Under panseret trener AutoGluon-TimeSeries så mange modeller den kan innenfor den angitte tidsrammen, og starter fra naive, men kraftige grunnlinjer og jobber mot mer komplekse prognosemakere basert på boostede trær og nevrale nettverksmodeller. Ved å ringe predictor.leaderboard(), kan vi se en liste over alle modellene den har trent og nøyaktighetspoeng og treningstider for hver. Legg merke til at hver AutoGluon-TimeSeries-modell rapporterer sine feil i et "høyere er bedre"-format, noe som betyr at de fleste prognosefeilmålene multipliseres 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

Værvarsel med en TimeSeriesPredictor

Til slutt kan vi bruke prediktoren til å forutsi alle tidsserier i en TimeSeriesDataFrame, 7 dager inn i fremtiden. Merk at fordi vi brukte tidsvarierende kovariater som antas å være kjent i fremtiden, bør disse også spesifiseres på prediksjonstidspunktet. Se følgende kode:

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

Som standard gir AutoGluon-TimeSeries både punktprognoser og sannsynlige (kvantile) prognoser for målverdien. Sannsynlighetsprognoser er essensielle i mange planleggingsoppgaver, og de kan brukes til fleksibelt å beregne intervaller, noe som muliggjør nedstrømsoppgaver som inventar og kapasitetsplanlegging.

Enkel og nøyaktig prognoser med AutoGluon-TimeSeries PlatoBlockchain Data Intelligence. Vertikalt søk. Ai.

Følgende er et eksempel på prognoseplott som viser punktprognoser og prediksjonsintervaller.

Enkel og nøyaktig prognoser med AutoGluon-TimeSeries PlatoBlockchain Data Intelligence. Vertikalt søk. Ai.

konklusjonen

AutoGluon-TimeSeries gir prognosemakere og dataforskere en rask og enkel måte å bygge kraftige prognosemodeller på. I tillegg til noen av bibliotekets ofte brukte funksjoner som vises i dette innlegget, har AutoGluon-TimeSeries et sett med måter å konfigurere prognoser for avanserte brukere. Prediktorer er også enkle å trene, distribuere og betjene i skala med Amazon SageMaker, ved hjelp av AutoGluon dyplæring containere.

For mer informasjon om bruk av AutoGluon, eksempler, veiledninger, samt andre oppgaver AutoGluon takler, for eksempel læring på tabell- eller multimodale data, besøk AutoGluon. For å komme i gang med å bruke AutoGluon-TimeSeries, sjekk ut vår hurtigstartveiledning eller vår dyptgående opplæring for en dypere titt på alle funksjonene biblioteket tilbyr. Følg AutoGluon på Twitter, og stjerne oss på GitHub for å bli informert om de siste oppdateringene.

For prognoser i stor skala med dedikerte databehandlings- og arbeidsflyter, støtte på bedriftsnivå, prognoseforklaring og mer, sjekk også ut Amazon Prognose.

Referanser

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

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

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


Om forfatterne

Enkel og nøyaktig prognoser med AutoGluon-TimeSeries PlatoBlockchain Data Intelligence. Vertikalt søk. Ai.Caner Turkmen er en Applied Scientist ved Amazon Web Services, hvor han jobber med problemer i skjæringspunktet mellom maskinlæring og prognoser, i tillegg til å utvikle AutoGluon-TimeSeries. Før han begynte i AWS, jobbet han i ledelseskonsulentbransjen som dataforsker, og tjente finans- og telekommunikasjonsindustrien på prosjekter over hele verden. Caners personlige forskningsinteresser spenner over en rekke emner, inkludert prognoser, årsaksinferens og AutoML.

Enkel og nøyaktig prognoser med AutoGluon-TimeSeries PlatoBlockchain Data Intelligence. Vertikalt søk. Ai.Oleksandr Shchur er en Applied Scientist ved Amazon Web Services, hvor han jobber med tidsserieprognoser i AutoGluon-TimeSeries. Før han begynte i AWS, fullførte han en doktorgrad i maskinlæring ved det tekniske universitetet i München, Tyskland, og forsket på sannsynlighetsmodeller for hendelsesdata. Hans forskningsinteresser inkluderer maskinlæring for tidsdata og generativ modellering.

Enkel og nøyaktig prognoser med AutoGluon-TimeSeries PlatoBlockchain Data Intelligence. Vertikalt søk. Ai.Nick Erickson er Senior Applied Scientist hos Amazon Web Services. Han oppnådde sin mastergrad i informatikk og ingeniørfag fra University of Minnesota Twin Cities. Han er medforfatter og hovedutvikler av AutoML-rammeverket AutoGluon med åpen kildekode. Startet som en personlig konkurranse ML-verktøykasse i 2018, utvidet Nick kontinuerlig funksjonene til AutoGluon og begynte i Amazon AI i 2019 for å åpne kildekode for prosjektet og jobbe heltid med å fremme det nyeste innen AutoML.

Tidstempel:

Mer fra AWS maskinlæring