Enten du allokerer ressurser mer effektivt for nettrafikk, prognoser pasientbehov for bemanningsbehov, eller forutser salg av et selskaps produkter, er prognoser et viktig verktøy på tvers av mange virksomheter. En spesiell brukstilfelle, kjent som kaldstartsvarsel, bygger prognoser for en tidsserie som har lite eller ingen eksisterende historiske data, for eksempel et nytt produkt som nettopp har kommet på markedet i detaljhandelen. Tradisjonelle tidsserieprognosemetoder som autoregressivt integrert glidende gjennomsnitt (ARIMA) eller eksponentiell utjevning (ES) er sterkt avhengig av historiske tidsserier for hvert enkelt produkt, og er derfor ikke effektive for kaldstartsprognoser.
I dette innlegget viser vi hvordan du bygger en kaldstartsprognosemotor ved hjelp av AutoGluon AutoML for tidsserieprognoser, en åpen kildekode Python-pakke for å automatisere maskinlæring (ML) på bilde-, tekst-, tabell- og tidsseriedata. AutoGluon tilbyr en ende-til-ende automatisert maskinlæring (AutoML) pipeline for nybegynnere til erfarne ML-utviklere, noe som gjør den til den mest nøyaktige og brukervennlige helautomatiserte løsningen. Vi bruker gratis Amazon SageMaker Studio Lab tjeneste for denne demonstrasjonen.
Introduksjon til AutoGluon tidsserier
AutoGluon er et ledende åpen kildekode-bibliotek for AutoML for tekst-, bilde- og tabelldata, som lar deg produsere svært nøyaktige modeller fra rådata med bare én kodelinje. Nylig har teamet jobbet med å utvide disse mulighetene til tidsseriedata, og har utviklet en automatisert prognosemodul som er offentlig tilgjengelig på GitHub. De autogluon.forecasting
Modulen behandler automatisk rå tidsseriedata til riktig format, og trener og tuner deretter ulike toppmoderne dyplæringsmodeller for å produsere nøyaktige prognoser. I dette innlegget viser vi hvordan du bruker autogluon.forecasting
og bruk den på kaldstartsprognoseoppgaver.
Løsningsoversikt
Fordi AutoGluon er en åpen kildekode Python-pakke, kan du implementere denne løsningen lokalt på den bærbare datamaskinen eller på Amazon SageMaker Studio Lab. Vi går gjennom følgende trinn:
- Sett opp AutoGluon for Amazon SageMaker Studio Lab.
- Forbered datasettet.
- Definer treningsparametere ved hjelp av AutoGluon.
- Tren en kaldstartsvarslingsmotor for tidsserieprognoser.
- Visualiser spådommer for kaldstartsprognoser.
Nøkkelantakelsen for kaldstartsprognoser er at elementer med lignende egenskaper bør ha lignende tidsseriebaner, som er det som gjør at kaldstartsprognoser kan gi spådommer på elementer uten historiske data, som illustrert i følgende figur.
I vår gjennomgang bruker vi et syntetisk datasett basert på strømforbruk, som består av timeserien for 370 varer, hver med en item_id
fra 0–369. Innenfor dette syntetiske datasettet, hver item_id
er også assosiert med en statisk funksjon (en funksjon som ikke endres over tid). Vi trener a DeepAR modell ved å bruke AutoGluon for å lære den typiske oppførselen til lignende gjenstander, og overføre slik oppførsel for å lage spådommer om nye gjenstander (item_id
370–373) som ikke har historiske tidsseriedata. Selv om vi demonstrerer tilnærmingen til kaldstartvarsling med bare én statisk funksjon, er det i praksis nøkkelen til en god kaldstartvarsling å ha informative og høykvalitets statiske funksjoner.
Følgende diagram gir en oversikt på høyt nivå over løsningen vår. Den åpne kildekoden er tilgjengelig på GitHub repo.
Forutsetninger
For dette gjennomgangen bør du ha følgende forutsetninger:
- An Amazon SageMaker Studio Lab-konto
- GitHub kontotilgang
Logg på din Amazon SageMaker Studio Lab-konto og sett opp miljøet ved hjelp av terminalen:
Disse instruksjonene bør også fungere fra den bærbare datamaskinen hvis du ikke har tilgang til Amazon SageMaker Studio Lab (vi anbefaler å installere Anaconda på den bærbare datamaskinen først).
Når du har det virtuelle miljøet ferdig konfigurert, starter du den bærbare datamaskinen AutoGluon-cold-start-demo.ipynb
og velg det tilpassede miljøet .conda-autogluon:Python
kjernen.
Forbered måltidsserien og elementmetadatasettet
Last ned følgende datasett til din bærbare forekomst hvis de ikke er inkludert, og lagre dem under katalogen data/
. Du finner disse datasettene på vår GitHub repo:
- Test.csv.gz
- coldStartTargetData.csv
- itemMetaData.csv
Kjør følgende kodebit for å laste måltidsseriedatasettet inn i kjernen:
AutoGluon-tidsserier krever at statiske funksjoner representeres i numerisk format. Dette kan oppnås ved å søke LabelEncoder()
på vår statiske funksjon type
, hvor vi koder for A=0, B=1, C=2, D=3 (se følgende kode). Som standard antar AutoGluon at den statiske funksjonen er enten ordinær eller kategorisk. Du kan også overskrive dette ved å konvertere den statiske egenskapskolonnen til å være objekt-/strengdatatypen for kategoriske funksjoner, eller heltalls/flytende datatype for ordenstrekk.
Sett opp og start AutoGluon modellopplæring
Vi må spesifisere save_path = ‘autogluon-coldstart-demo’
som modellartefaktmappenavnet (se følgende kode). Vi setter også vår eval_metric
as gjennomsnittlig absolutt prosentvis feileller ‘MAPE’
for kort, hvor vi definerte prediction_length
som 24 timer. Hvis ikke spesifisert, produserer AutoGluon som standard sannsynlige prognoser og scorer dem via vektet kvantiltap. Vi ser kun på DeepAR-modell i demoen vår, fordi vi vet at DeepAR-algoritmen tillater kaldstartsprognoser etter design. Vi setter en av DeepAR-hyperparameterne vilkårlig og sender den hyperparameteren til ForecastingPredictor().fit()
anrop. Dette gjør at AutoGluon kun kan se på den angitte modellen. For en fullstendig liste over justerbare hyperparametre, se gluonts.model.deepar-pakken.
Treningen tar 30–45 minutter. Du kan få modellsammendraget ved å ringe følgende funksjon:
Værvarsel på kaldstart-elementet
Nå er vi klare til å generere prognoser for kaldstart-elementet. Vi anbefaler å ha minst fem rader for hver item_id
. Derfor, for item_id
som har færre enn fem observasjoner, fyller vi ut med NaNs. I vår demo, begge deler item_id
370 og 372 har null observasjon, et rent kaldstartproblem, mens de to andre har fem målverdier.
Last inn kaldstartsmåltidsseriedatasettet med følgende kode:
Vi mater kaldstartmåltidsserien inn i AutoGluon-modellen vår, sammen med elementmetadatasettet for kaldstarten item_id
:
Visualiser spådommene
Vi kan lage en plottefunksjon for å generere en visualisering av kaldstart-varslingen, som vist i følgende graf.
Rydd opp
For å optimalisere ressursbruken bør du vurdere å stoppe kjøretiden på Amazon SageMaker Studio Lab etter at du har utforsket den bærbare datamaskinen fullstendig.
konklusjonen
I dette innlegget viste vi hvordan man bygger en kaldstartsprognosemotor ved å bruke AutoGluon AutoML for tidsseriedata på Amazon SageMaker Studio Lab. For de av dere som lurer på forskjellen mellom Amazon Prognose og AutoGluon (tidsserier), Amazon Forecast er en fullstendig administrert og støttet tjeneste som bruker maskinlæring (ML) for å generere svært nøyaktige prognoser uten å kreve noen tidligere ML-erfaring. Mens AutoGluon er et åpen kildekode-prosjekt som er fellesskapsstøttet med de siste forskningsbidragene. Vi gikk gjennom et ende-til-ende-eksempel for å demonstrere hva AutoGluon for tidsserier er i stand til, og ga et datasett og brukstilfelle.
AutoGluon for tidsseriedata er en åpen kildekode Python-pakke, og vi håper at dette innlegget, sammen med kodeeksemplet vårt, gir deg en enkel løsning for å takle utfordrende kaldstartsprognoseproblemer. Du kan få tilgang til hele eksemplet på vår GitHub repo. Prøv det, og fortell oss hva du synes!
Om forfatterne
Ivan Cui er en dataforsker med AWS Professional Services, hvor han hjelper kunder med å bygge og distribuere løsninger ved hjelp av maskinlæring på AWS. Han har jobbet med kunder på tvers av ulike bransjer, inkludert programvare, finans, farmasøytisk og helsevesen. På fritiden liker han å lese, tilbringe tid med familien og maksimere aksjeporteføljen.
Jonas Mueller er Senior Applied Scientist i AI Research and Education-gruppen ved AWS, hvor han utvikler nye algoritmer for å forbedre dyp læring og utvikle automatisert maskinlæring. Før han begynte i AWS for å demokratisere ML, fullførte han sin doktorgrad ved MIT Computer Science and Artificial Intelligence Lab. På fritiden liker han å utforske fjell og friluftsliv.
Wenming Ye er en forskningsproduktsjef hos AWS AI. Han brenner for å hjelpe forskere og bedriftskunder med å raskt skalere innovasjonene sine gjennom åpen kildekode og toppmoderne maskinlæringsteknologi. Wenming har mangfoldig FoU-erfaring fra Microsoft Research, SQL-ingeniørteamet og vellykkede startups.
- Myntsmart. Europas beste Bitcoin og Crypto Exchange.
- Platoblokkkjede. Web3 Metaverse Intelligence. Kunnskap forsterket. FRI TILGANG.
- CryptoHawk. Altcoin Radar. Gratis prøveperiode.
- Kilde: https://aws.amazon.com/blogs/machine-learning/build-a-cold-start-time-series-forecasting-engine-using-autogluon/
- "
- 100
- 9
- Om oss
- Absolute
- adgang
- Logg inn
- nøyaktig
- oppnådd
- tvers
- AI
- ai forskning
- algoritme
- algoritmer
- tillate
- Selv
- Amazon
- påføring
- tilnærming
- kunstig
- kunstig intelligens
- Automatisert
- tilgjengelig
- gjennomsnittlig
- AWS
- bygge
- bygger
- bedrifter
- ring
- Kan få
- evner
- CD
- endring
- Sjekk ut
- kode
- Kolonne
- samfunnet
- Selskapets
- informatikk
- forbruk
- Kunder
- dato
- dataforsker
- Etterspørsel
- utplassere
- utforming
- utvikle
- utviklet
- utviklere
- ikke
- Kunnskap
- Effektiv
- elektrisitet
- Ingeniørarbeid
- kom inn
- Enterprise
- Miljø
- avgjørende
- eksempel
- erfaring
- erfaren
- utvide
- familie
- Trekk
- Egenskaper
- Figur
- finansiere
- Først
- etter
- format
- Gratis
- fullt
- funksjon
- framtid
- generere
- gå
- god
- Gruppe
- å ha
- helsetjenester
- hjelper
- svært
- historisk
- Hvordan
- Hvordan
- HTTPS
- bilde
- iverksette
- forbedre
- inkludert
- Inkludert
- individuelt
- bransjer
- industri
- integrert
- Intelligens
- IT
- nøkkel
- kjent
- laptop
- siste
- lansere
- ledende
- LÆRE
- læring
- Bibliotek
- linje
- Liste
- lite
- laste
- maskin
- maskinlæring
- Making
- leder
- marked
- Meta
- Microsoft
- MIT
- ML
- modell
- modeller
- mest
- flytting
- nytt produkt
- bærbare
- åpen kildekode
- Annen
- utendørs
- prosent
- Pharmaceutical
- portefølje
- Spådommer
- Problem
- problemer
- Prosesser
- produsere
- Produkt
- Produkter
- profesjonell
- prosjekt
- gir
- FoU
- Raw
- Lesning
- anbefaler
- forskning
- ressurs
- Ressurser
- detaljhandel
- salg
- Skala
- skalering
- Vitenskap
- Forsker
- Serien
- tjeneste
- Tjenester
- sett
- Kort
- lignende
- Software
- Solutions
- utgifter
- Begynn
- startups
- lager
- studio
- vellykket
- Støttes
- Target
- oppgaver
- lag
- Teknologi
- terminal
- Gjennom
- tid
- sammen
- tradisjonelle
- trafikk
- Kurs
- Togene
- us
- bruke
- virtuelle
- visualisering
- web
- Hva
- HVEM
- innenfor
- uten
- Arbeid
- arbeidet
- arbeid
- null