Of u nu middelen efficiënter toewijst voor webverkeer, de vraag van patiënten naar personeelsbehoeften voorspelt of anticipeert op de verkoop van de producten van een bedrijf, prognoses zijn een essentieel hulpmiddel voor veel bedrijven. Een specifieke use-case, bekend als koude start voorspelling, maakt voorspellingen voor een tijdreeks die weinig of geen bestaande historische gegevens heeft, zoals een nieuw product dat net op de markt is gekomen in de detailhandel. Traditionele voorspellingsmethoden voor tijdreeksen, zoals autoregressief geïntegreerd voortschrijdend gemiddelde (ARIMA) of exponentiële afvlakking (ES) zijn sterk afhankelijk van historische tijdreeksen van elk afzonderlijk product en zijn daarom niet effectief voor voorspellingen bij koude start.
In dit bericht laten we zien hoe u een voorspellingsmotor voor koude start kunt bouwen met behulp van AutoGluon AutoML voor het voorspellen van tijdreeksen, een open-source Python-pakket om machine learning (ML) op afbeeldings-, tekst-, tabel- en tijdreeksgegevens te automatiseren. AutoGluon biedt een end-to-end geautomatiseerde machine learning (AutoML)-pijplijn voor beginners tot ervaren ML-ontwikkelaars, waardoor het de meest nauwkeurige en gebruiksvriendelijke volledig geautomatiseerde oplossing is. We gebruiken de gratis Amazon SageMaker Studiolab dienst voor deze demonstratie.
Inleiding tot AutoGluon-tijdreeksen
AutoGluon is een toonaangevende open-sourcebibliotheek voor AutoML voor tekst-, afbeeldings- en tabelgegevens, waarmee u met slechts één regel code zeer nauwkeurige modellen kunt maken van onbewerkte gegevens. Onlangs heeft het team gewerkt aan het uitbreiden van deze mogelijkheden naar tijdreeksgegevens en heeft het een geautomatiseerde prognosemodule ontwikkeld die openbaar beschikbaar is op GitHub. De autogluon.forecasting
module verwerkt automatisch onbewerkte tijdreeksgegevens in het juiste formaat en traint en stemt vervolgens verschillende geavanceerde deep learning-modellen af om nauwkeurige voorspellingen te produceren. In dit bericht laten we zien hoe te gebruiken autogluon.forecasting
en pas het toe op koudestartvoorspellingstaken.
Overzicht oplossingen
Omdat AutoGluon een open-source Python-pakket is, kunt u deze oplossing implementeren plaatselijk op uw laptop of op Amazon SageMaker Studio Lab. We doorlopen de volgende stappen:
- Stel AutoGluon in voor Amazon SageMaker Studio Lab.
- Bereid de gegevensset voor.
- Definieer trainingsparameters met behulp van AutoGluon.
- Train een voorspellingsengine voor koude start voor het voorspellen van tijdreeksen.
- Visualiseer voorspellingen voor koude start.
De belangrijkste aanname van koudestartvoorspelling is dat items met vergelijkbare kenmerken vergelijkbare tijdreekstrajecten moeten hebben, waardoor koudestartvoorspellingen voorspellingen kunnen doen op items zonder historische gegevens, zoals geïllustreerd in de volgende afbeelding.
In onze walkthrough gebruiken we een synthetische dataset op basis van elektriciteitsverbruik, die bestaat uit de uurreeksen voor 370 items, elk met een item_id
van 0-369. Binnen deze synthetische dataset, elk item_id
wordt ook geassocieerd met een statische functie (een functie die in de loop van de tijd niet verandert). wij trainen een DiepAR model met behulp van AutoGluon om het typische gedrag van vergelijkbare items te leren en dergelijk gedrag over te dragen om voorspellingen te doen over nieuwe items (item_id
370–373) die geen historische tijdreeksgegevens hebben. Hoewel we de koudestart-voorspellingsaanpak demonstreren met slechts één statische functie, is het hebben van informatieve en hoogwaardige statische functies in de praktijk de sleutel voor een goede koude start-voorspelling.
Het volgende diagram geeft een algemeen overzicht van onze oplossing. De open-sourcecode is beschikbaar op de GitHub repo.
Voorwaarden
Voor deze walkthrough moet u aan de volgende vereisten voldoen:
- An Amazon SageMaker Studio Lab-account
- GitHub accounttoegang
Log in op uw Amazon SageMaker Studio Lab-account en stel de omgeving in met behulp van de terminal:
Deze instructies zouden ook moeten werken vanaf je laptop als je geen toegang hebt tot Amazon SageMaker Studio Lab (we raden aan om Anaconda eerst op je laptop te installeren).
Wanneer u de virtuele omgeving volledig hebt ingesteld, start u de notebook AutoGluon-cold-start-demo.ipynb
en selecteer de aangepaste omgeving .conda-autogluon:Python
kernel.
Bereid de doeltijdreeksen en item-metadataset voor
Download de volgende datasets naar uw notebook-instantie als ze niet zijn opgenomen, en sla ze op onder de directory data/
. U vindt deze datasets op onze GitHub repo:
- Test.csv.gz
- coldStartTargetData.csv
- itemMetaData.csv
Voer het volgende fragment uit om de doeltijdreeksgegevensset in de kernel te laden:
AutoGluon-tijdreeksen vereisen dat statische kenmerken in numeriek formaat worden weergegeven. Dit kan worden bereikt door te solliciteren LabelEncoder()
op onze statische functie type
, waar we A=0, B=1, C=2, D=3 coderen (zie de volgende code). Standaard leidt AutoGluon af dat het statische kenmerk ordinaal of categorisch is. U kunt dit ook overschrijven door de statische feature-kolom te converteren naar het object/string datatype voor categorische features, of integer/float datatype voor ordinale features.
AutoGluon-modeltraining instellen en starten
We moeten specificeren: save_path = ‘autogluon-coldstart-demo’
als de naam van de modelartefactmap (zie de volgende code). We zetten ook onze eval_metric
as gemiddelde absolute procentuele foutof ‘MAPE’
in het kort, waar we hebben gedefinieerd prediction_length
als 24 uur. Indien niet gespecificeerd, produceert AutoGluon standaard probabilistische voorspellingen en scoort deze via de gewogen kwantielverlies. We kijken alleen naar de DeepAR-model in onze demo, omdat we weten dat het DeepAR-algoritme een koude start-voorspelling per ontwerp mogelijk maakt. We stellen willekeurig een van de DeepAR-hyperparameters in en geven die hyperparameter door aan de ForecastingPredictor().fit()
telefoongesprek. Hierdoor kan AutoGluon alleen in het gespecificeerde model kijken. Voor een volledige lijst van afstembare hyperparameters, zie: gluonts.model.deepar pakket.
De training duurt 30-45 minuten. U kunt het modeloverzicht krijgen door de volgende functie aan te roepen:
Voorspelling op het koude start item
Nu zijn we klaar om prognoses te genereren voor het item koude start. We raden aan om voor elk minstens vijf rijen te hebben item_id
. Daarom, voor de item_id
die minder dan vijf waarnemingen heeft, vullen we aan met NaNs. In onze demo, beide item_id
370 en 372 hebben nulwaarneming, een puur koudstartprobleem, terwijl de andere twee vijf streefwaarden hebben.
Laad de dataset voor de tijdreeks van de koude start met de volgende code:
We voeren de doeltijdreeksen voor koude start in ons AutoGluon-model in, samen met de item-metadataset voor de koude start item_id
:
Visualiseer de voorspellingen
We kunnen een plotfunctie maken om een visualisatie te genereren van de koudestartvoorspelling, zoals weergegeven in de volgende grafiek.
Opruimen
Om het gebruik van bronnen te optimaliseren, kunt u overwegen de runtime op Amazon SageMaker Studio Lab te stoppen nadat u de notebook volledig hebt verkend.
Conclusie
In dit bericht hebben we laten zien hoe u een voorspellingsengine voor koude start kunt bouwen met behulp van AutoGluon AutoML voor tijdreeksgegevens op Amazon SageMaker Studio Lab. Voor degenen onder u die zich afvragen wat het verschil is tussen Amazon voorspelling en AutoGluon (time series), is Amazon Forecast een volledig beheerde en ondersteunde service die gebruikmaakt van machine learning (ML) om zeer nauwkeurige voorspellingen te genereren zonder voorafgaande ervaring met ML. Terwijl AutoGluon een open-sourceproject is dat door de gemeenschap wordt ondersteund met de nieuwste onderzoeksbijdragen. We hebben een end-to-end voorbeeld doorlopen om te demonstreren waartoe AutoGluon voor tijdreeksen in staat is, en hebben een dataset en use case geleverd.
AutoGluon voor tijdreeksgegevens is een open-source Python-pakket en we hopen dat dit bericht, samen met ons codevoorbeeld, u een rechttoe rechtaan oplossing biedt om uitdagende problemen met koude start-prognoses aan te pakken. Je hebt toegang tot het hele voorbeeld op onze GitHub repo. Probeer het uit en laat ons weten wat je ervan vindt!
Over de auteurs
Ivan Cui is een datawetenschapper bij AWS Professional Services, waar hij klanten helpt bij het bouwen en implementeren van oplossingen met behulp van machine learning op AWS. Hij heeft met klanten in diverse sectoren gewerkt, waaronder software, financiën, farmacie en gezondheidszorg. In zijn vrije tijd houdt hij van lezen, tijd doorbrengen met zijn gezin en het maximaliseren van zijn aandelenportefeuille.
Jonas Müller is Senior Applied Scientist in de AI Research and Education-groep bij AWS, waar hij nieuwe algoritmen ontwikkelt om deep learning te verbeteren en geautomatiseerde machine learning te ontwikkelen. Voordat hij bij AWS kwam om ML te democratiseren, voltooide hij zijn doctoraat aan het MIT Computer Science and Artificial Intelligence Lab. In zijn vrije tijd verkent hij graag de bergen en het buitenleven.
Wenming Ye is een Research Product Manager bij AWS AI. Hij heeft een passie voor het helpen van onderzoekers en zakelijke klanten om hun innovaties snel op te schalen door middel van open-source en ultramoderne machine learning-technologie. Wenming heeft diverse R&D-ervaring van Microsoft Research, het SQL-engineeringteam en succesvolle startups.
- Coinsmart. Europa's beste Bitcoin- en crypto-uitwisseling.
- Platoblockchain. Web3 Metaverse Intelligentie. Kennis versterkt. GRATIS TOEGANG.
- CryptoHawk. Altcoin-radar. Gratis proefversie.
- Bron: https://aws.amazon.com/blogs/machine-learning/build-a-cold-start-time-series-forecasting-engine-using-autogluon/
- "
- 100
- 9
- Over
- absoluut
- toegang
- Account
- accuraat
- bereikt
- over
- AI
- ai onderzoek
- algoritme
- algoritmen
- Het toestaan
- Hoewel
- Amazone
- Het toepassen van
- nadering
- kunstmatig
- kunstmatige intelligentie
- geautomatiseerde
- Beschikbaar
- gemiddelde
- AWS
- bouw
- bouwt
- ondernemingen
- Bellen
- Kan krijgen
- mogelijkheden
- CD
- verandering
- Afrekenen
- code
- Kolom
- gemeenschap
- Bedrijf
- Computer Science
- consumptie
- Klanten
- gegevens
- data scientist
- Vraag
- implementeren
- Design
- ontwikkelen
- ontwikkelde
- ontwikkelaars
- Nee
- Onderwijs
- effectief
- elektriciteit
- Engineering
- ingevoerd
- Enterprise
- Milieu
- essentieel
- voorbeeld
- ervaring
- ervaren
- verlengen
- familie
- Kenmerk
- Voordelen
- Figuur
- financiën
- Voornaam*
- volgend
- formaat
- Gratis
- vol
- functie
- toekomst
- voortbrengen
- Git
- goed
- Groep
- met
- gezondheidszorg
- helpt
- zeer
- historisch
- Hoe
- How To
- HTTPS
- beeld
- uitvoeren
- verbeteren
- inclusief
- Inclusief
- individueel
- industrieën
- -industrie
- geïntegreerde
- Intelligentie
- IT
- sleutel
- bekend
- laptop
- laatste
- lancering
- leidend
- LEARN
- leren
- Bibliotheek
- Lijn
- Lijst
- Elke kleine stap levert grote resultaten op!
- laden
- machine
- machine learning
- maken
- manager
- Markt
- meta
- Microsoft
- MIT
- ML
- model
- modellen
- meest
- bewegend
- nieuw product
- notitieboekje
- open-sourcecode
- Overige
- buiten
- percentage
- Farmaceutisch
- portfolio
- Voorspellingen
- probleem
- problemen
- processen
- produceren
- Product
- Producten
- professioneel
- project
- biedt
- R & D
- Rauw
- lezing
- adviseren
- onderzoek
- hulpbron
- Resources
- <HR>Retail
- verkoop
- Scale
- scaling
- Wetenschap
- Wetenschapper
- -Series
- service
- Diensten
- reeks
- Bermuda's
- gelijk
- Software
- Oplossingen
- Uitgaven
- begin
- Startups
- voorraad
- studio
- geslaagd
- ondersteunde
- doelwit
- taken
- team
- Technologie
- terminal
- Door
- niet de tijd of
- samen
- traditioneel
- verkeer
- Trainingen
- treinen
- us
- .
- Virtueel
- visualisatie
- web
- Wat
- WIE
- binnen
- zonder
- Mijn werk
- werkte
- werkzaam
- nul