Indiferent dacă alocați resurse mai eficient pentru traficul web, anticipați cererea pacienților pentru nevoile de personal sau anticipați vânzările de produse ale unei companii, prognoza este un instrument esențial pentru multe afaceri. Un caz particular de utilizare, cunoscut sub numele prognoza pornire la rece, construiește prognoze pentru o serie cronologică care are puține sau deloc date istorice existente, cum ar fi un produs nou care tocmai a intrat pe piață în industria de retail. Metodele tradiționale de prognoză a seriilor de timp, cum ar fi media mobilă integrată autoregresivă (ARIMA) sau netezirea exponențială (ES) se bazează în mare măsură pe seriile cronologice istorice ale fiecărui produs în parte și, prin urmare, nu sunt eficiente pentru prognoza pornirii la rece.
În această postare, demonstrăm cum să construim un motor de prognoză a pornirii la rece folosind AutoGluon AutoML pentru prognoza serii temporale, un pachet Python cu sursă deschisă pentru automatizarea învățării automate (ML) pe imagini, text, tabelare și date din seria temporală. AutoGluon oferă o conductă de învățare automată automată (AutoML) end-to-end pentru începători până la dezvoltatorii ML cu experiență, ceea ce o face cea mai precisă și mai ușor de utilizat soluție complet automatizată. Noi folosim gratuit Amazon SageMaker Studio Lab serviciu pentru această demonstrație.
Introducere în seria de timp AutoGluon
AutoGluon este o bibliotecă open-source de top pentru AutoML pentru text, imagini și date tabulare, permițându-vă să produceți modele extrem de precise din date brute cu o singură linie de cod. Recent, echipa a lucrat pentru a extinde aceste capabilități la datele serii cronologice și a dezvoltat un modul automat de prognoză care este disponibil public pe GitHub. autogluon.forecasting
Modulul procesează automat datele brute ale seriei temporale în formatul adecvat, apoi antrenează și reglează diverse modele de învățare profundă de ultimă generație pentru a produce prognoze precise. În această postare, demonstrăm cum se utilizează autogluon.forecasting
și aplicați-l la sarcinile de prognoză a pornirii la rece.
Prezentare generală a soluțiilor
Deoarece AutoGluon este un pachet Python open-source, puteți implementa această soluție la nivel local pe laptop sau pe Amazon SageMaker Studio Lab. Parcurgem următorii pași:
- Configurați AutoGluon pentru Amazon SageMaker Studio Lab.
- Pregătiți setul de date.
- Definiți parametrii de antrenament folosind AutoGluon.
- Antrenați un motor de prognoză pentru pornire la rece pentru prognoza serii de timp.
- Vizualizați previziunile de prognoză a pornirii la rece.
Ipoteza cheie a prognozei pornirii la rece este că articolele cu caracteristici similare ar trebui să aibă traiectorii de serie cronologică similare, ceea ce permite prognozării pornirii la rece să facă predicții asupra articolelor fără date istorice, așa cum este ilustrat în figura următoare.
În prezentarea noastră, folosim un set de date sintetice bazat pe consumul de energie electrică, care constă din seria temporală orară pentru 370 de articole, fiecare cu un item_id
de la 0–369. În cadrul acestui set de date sintetice, fiecare item_id
este, de asemenea, asociat cu o caracteristică statică (o caracteristică care nu se schimbă în timp). Antrenăm a DeepAR modelați folosind AutoGluon pentru a învăța comportamentul tipic al articolelor similare și transferați un astfel de comportament pentru a face predicții asupra articolelor noi (item_id
370–373) care nu au date istorice de serie cronologică. Deși demonstrăm abordarea de prognoză a pornirii la rece cu o singură caracteristică statică, în practică, a avea caracteristici statice informative și de înaltă calitate este cheia pentru o bună prognoză a pornirii la rece.
Următoarea diagramă oferă o imagine de ansamblu la nivel înalt a soluției noastre. Codul open-source este disponibil pe GitHub repo.
Cerințe preliminare
Pentru această prezentare generală, ar trebui să aveți următoarele condiții prealabile:
- An Cont Amazon SageMaker Studio Lab
- GitHub acces la cont
Conectați-vă la contul dvs. Amazon SageMaker Studio Lab și configurați mediul folosind terminalul:
Aceste instrucțiuni ar trebui să funcționeze și de pe laptop dacă nu aveți acces la Amazon SageMaker Studio Lab (vă recomandăm să instalați mai întâi Anaconda pe laptop).
Când ați configurat complet mediul virtual, lansați notebook-ul AutoGluon-cold-start-demo.ipynb
și selectați mediul personalizat .conda-autogluon:Python
nucleu.
Pregătiți seria temporală țintă și setul de metadate ale articolului
Descărcați următoarele seturi de date în instanța dvs. de notebook dacă nu sunt incluse și salvați-le în director data/
. Puteți găsi aceste seturi de date pe site-ul nostru GitHub repo:
- Test.csv.gz
- coldStartTargetData.csv
- itemMetaData.csv
Rulați următorul fragment pentru a încărca setul de date țintă din seria temporală în nucleu:
Seria temporală AutoGluon necesită ca caracteristicile statice să fie reprezentate în format numeric. Acest lucru se poate realiza prin aplicare LabelEncoder()
pe caracteristica noastră statică type
, unde codificăm A=0, B=1, C=2, D=3 (vezi următorul cod). În mod implicit, AutoGluon deduce că caracteristica statică este fie ordinală, fie categorială. De asemenea, puteți suprascrie acest lucru prin conversia coloanei de caracteristică statică în tipul de date obiect/șir pentru caracteristicile categoriale sau tipul de date întreg/float pentru caracteristicile ordinale.
Configurați și începeți antrenamentul cu modelul AutoGluon
Trebuie să precizăm save_path = ‘autogluon-coldstart-demo’
ca numele folderului de artefact model (vezi codul următor). De asemenea, ne-am setat eval_metric
as eroare procentuală absolută medie, Sau ‘MAPE’
pe scurt, unde am definit prediction_length
ca 24 de ore. Dacă nu este specificat, AutoGluon produce în mod implicit previziuni probabilistice și le punctează prin intermediul pierdere cuantilă ponderată. Ne uităm doar la Modelul DeepAR în demonstrația noastră, pentru că știm că algoritmul DeepAR permite prognozarea pornirii la rece prin proiectare. Setăm unul dintre hiperparametrii DeepAR în mod arbitrar și transmitem acel hiperparametru către ForecastingPredictor().fit()
apel. Acest lucru permite AutoGluon să analizeze doar modelul specificat. Pentru o listă completă de hiperparametri reglabili, consultați gluonts.model.deepar pachet.
Antrenamentul durează 30-45 de minute. Puteți obține rezumatul modelului apelând următoarea funcție:
Prognoza pentru elementul de pornire la rece
Acum suntem gata să generăm prognoze pentru elementul de pornire la rece. Vă recomandăm să aveți cel puțin cinci rânduri pentru fiecare item_id
. Prin urmare, pentru item_id
care are mai puțin de cinci observații, completăm cu NaN. În demonstrația noastră, ambele item_id
370 și 372 au observație zero, o problemă pură de pornire la rece, în timp ce celelalte două au cinci valori țintă.
Încărcați setul de date de serie cronologică țintă de pornire la rece cu următorul cod:
Introducem seria temporală țintă de pornire la rece în modelul nostru AutoGluon, împreună cu setul de meta-date ale articolului pentru pornirea la rece item_id
:
Vizualizează previziunile
Putem crea o funcție de plotare pentru a genera o vizualizare a prognozei pornirii la rece, așa cum se arată în graficul următor.
A curăța
Pentru a optimiza utilizarea resurselor, luați în considerare oprirea timpului de execuție pe Amazon SageMaker Studio Lab după ce ați explorat complet blocnotesul.
Concluzie
În această postare, am arătat cum să construim un motor de prognoză a pornirii la rece folosind AutoGluon AutoML pentru datele din seria temporală pe Amazon SageMaker Studio Lab. Pentru aceia dintre voi care vă întrebați diferența dintre Prognoza Amazon și AutoGluon (serie cronologică), Amazon Forecast este un serviciu complet gestionat și acceptat care utilizează învățarea automată (ML) pentru a genera previziuni extrem de precise, fără a necesita nicio experiență anterioară în ML. În timp ce AutoGluon este un proiect open-source care este susținut de comunitate cu cele mai recente contribuții de cercetare. Am parcurs un exemplu de la capăt la capăt pentru a demonstra de ce este capabil AutoGluon pentru serii cronologice și am furnizat un set de date și un caz de utilizare.
AutoGluon pentru datele serii cronologice este un pachet Python open-source și sperăm că această postare, împreună cu exemplul nostru de cod, vă oferă o soluție simplă pentru a aborda problemele provocatoare de prognoză a pornirii la rece. Puteți accesa întregul exemplu pe site-ul nostru GitHub repo. Încercați-l și spuneți-ne ce părere aveți!
Despre Autori
Ivan Cui este Data Scientist cu AWS Professional Services, unde îi ajută pe clienți să construiască și să implementeze soluții folosind învățarea automată pe AWS. El a lucrat cu clienți din diverse industrii, inclusiv software, finanțe, farmaceutice și asistență medicală. În timpul liber, îi place să citească, să petreacă timp cu familia și să își maximizeze portofoliul de acțiuni.
Jonas Mueller este om de știință senior aplicat în grupul de cercetare și educație AI de la AWS, unde dezvoltă noi algoritmi pentru a îmbunătăți învățarea profundă și a dezvolta învățarea automată automată. Înainte de a se alătura AWS pentru a democratiza ML, și-a terminat doctoratul la Laboratorul MIT Computer Science and Artificial Intelligence. În timpul liber, îi place să exploreze munții și în aer liber.
Wenming Ye este manager de produs de cercetare la AWS AI. El este pasionat de a ajuta cercetătorii și clienții întreprinderilor să-și extindă rapid inovațiile prin intermediul tehnologiei de învățare automată open-source și de ultimă generație. Wenming are o experiență diversă în cercetare și dezvoltare de la Microsoft Research, echipa de inginerie SQL și startup-uri de succes.
- Coinsmart. Cel mai bun schimb de Bitcoin și Crypto din Europa.
- Platoblockchain. Web3 Metaverse Intelligence. Cunoștințe amplificate. ACCES LIBER.
- CryptoHawk. Radar Altcoin. Încercare gratuită.
- Sursa: https://aws.amazon.com/blogs/machine-learning/build-a-cold-start-time-series-forecasting-engine-using-autogluon/
- "
- 100
- 9
- Despre Noi
- Absolut
- acces
- Cont
- precis
- realizat
- peste
- AI
- cercetare ai
- Algoritmul
- algoritmi
- Permiterea
- Cu toate ca
- Amazon
- Aplicarea
- abordare
- artificial
- inteligență artificială
- Automata
- disponibil
- in medie
- AWS
- construi
- construiește
- întreprinderi
- apel
- Poate obține
- capacități
- CD
- Schimbare
- Finalizeaza comanda
- cod
- Coloană
- comunitate
- Compania
- Informatică
- consum
- clienţii care
- de date
- om de știință de date
- Cerere
- implementa
- Amenajări
- dezvolta
- dezvoltat
- Dezvoltatorii
- Nu
- Educaţie
- Eficace
- electricitate
- Inginerie
- a intrat
- Afacere
- Mediu inconjurator
- esenţial
- exemplu
- experienţă
- cu experienţă
- extinde
- familie
- Caracteristică
- DESCRIERE
- Figura
- finanţa
- First
- următor
- format
- Gratuit
- Complet
- funcţie
- viitor
- genera
- merge
- bine
- grup
- având în
- de asistență medicală
- ajută
- extrem de
- istoric
- Cum
- Cum Pentru a
- HTTPS
- imagine
- punerea în aplicare a
- îmbunătăţi
- inclus
- Inclusiv
- individ
- industrii
- industrie
- integrate
- Inteligență
- IT
- Cheie
- cunoscut
- laptop
- Ultimele
- lansa
- conducere
- AFLAȚI
- învăţare
- Bibliotecă
- Linie
- Listă
- mic
- încărca
- maşină
- masina de învățare
- Efectuarea
- manager
- Piață
- meta
- Microsoft
- MIT
- ML
- model
- Modele
- cele mai multe
- în mişcare
- produs nou
- caiet
- cod open-source
- Altele
- în aer liber
- procent
- Farmaceutic
- portofoliu
- Predictii
- Problemă
- probleme
- procese
- produce
- Produs
- Produse
- profesional
- proiect
- furnizează
- C&D
- Crud
- Citind
- recomanda
- cercetare
- resursă
- Resurse
- cu amănuntul
- de vânzări
- Scară
- scalare
- Ştiinţă
- Om de stiinta
- serie
- serviciu
- Servicii
- set
- Pantaloni scurți
- asemănător
- Software
- soluţii
- Cheltuire
- Începe
- Startup-urile
- stoc
- studio
- de succes
- Suportat
- Ţintă
- sarcini
- echipă
- Tehnologia
- Terminal
- Prin
- timp
- împreună
- tradiţional
- trafic
- Pregătire
- trenuri
- us
- utilizare
- Virtual
- vizualizare
- web
- Ce
- OMS
- în
- fără
- Apartamente
- a lucrat
- de lucru
- zero