Automatisoi aikasarjan ennustaminen Snowflakessa Amazon Forecast PlatoBlockchain Data Intelligencen avulla. Pystysuuntainen haku. Ai.

Automatisoi aikasarjan ennustaminen Snowflakessa Amazon Forecastin avulla

Tämä postaus on tehty yhteistyössä Andries Engelbrechtin ja James Sunin kanssa Snowflake, Inc:stä.

Pilvitekniikan vallankumous on antanut yrityksille mahdollisuuden kerätä ja säilyttää yritys- ja organisaatiotietoja ilman kapasiteetin suunnittelua tai tietojen säilyttämisrajoituksia. Nyt, kun pitkittäistietovarat ovat monipuoliset, yritykset pystyvät yhä useammin löytämään uusia ja vaikuttavia tapoja käyttää digitaalisia resurssejaan parempien ja tietoon perustuvien päätösten tekemiseen lyhyen ja pitkän aikavälin suunnittelupäätöksissä. Aikasarjaennuste on ainutlaatuinen ja olennainen tiede, jonka avulla yritykset voivat tehdä kirurgisia suunnittelupäätöksiä, jotka auttavat tasapainottamaan asiakaspalvelun tasoa ja usein kilpailevia optimaalisen kannattavuuden tavoitteita.

AWS:llä teemme joskus yhteistyötä asiakkaiden kanssa, jotka ovat valinneet teknologiakumppanimme Lumihiutale pilvitietoalustakokemuksen tarjoamiseksi. Alusta, joka voi muistaa vuosia ja vuosia historiallisia tietoja, on tehokasta – mutta kuinka voit käyttää näitä tietoja katsoaksesi eteenpäin ja käyttääksesi eilisen todisteita huomisen suunnitteluun? Kuvittele, että Lumihiutaleessa tapahtuneet tapahtumat ovat saatavilla vain yksittäinen versiosi totuudesta, vaan myös viereinen joukko ei-siilotettuja tietoja, jotka tarjoavat todennäköisyysennusteen päiville, viikoille tai kuukausille tulevaisuuteen.

Yhteistyössä toimivassa toimitusketjussa tiedon jakaminen kumppanien välillä voi parantaa suorituskykyä, lisätä kilpailukykyä ja vähentää hukattuja resursseja. Tulevaisuuden ennusteiden jakaminen voidaan helpottaa Lumihiutaletietojen jakaminen, jonka avulla voit tehdä saumattomasti yhteistyötä liikekumppaneiden kanssa turvallisesti ja tunnistaa liiketoimintatietoja. Jos monet kumppanit jakavat ennusteensa, se voi auttaa hallitsemaan bullwhip-vaikutusta yhdistetyssä toimitusketjussa. Voit käyttää tehokkaasti Lumihiutale markkinapaikka kaupallistaaksesi ennakoivan analytiikan vuonna tuotetuista tietojoukoista Amazonin sääennuste.

Tässä viestissä käsittelemme automaattisen aikasarjaennustusratkaisun toteuttamista käyttämällä Snowflakea ja Forecastia.

Olennaiset AWS-palvelut, jotka mahdollistavat tämän ratkaisun

Forecast tarjoaa useita huippuluokan aikasarjaalgoritmeja ja hallitsee riittävän hajautetun laskentakapasiteetin varaamista vastaamaan lähes minkä tahansa työmäärän tarpeita. Ennusteen avulla et saa yhtä mallia; saat vahvuuden monista malleista, jotka on edelleen optimoitu yksilöllisesti painotetuksi malliksi jokaiselle sarjan aikasarjalle. Lyhyesti sanottuna palvelu toimittaa kaiken tieteen, tiedonkäsittelyn ja resurssienhallinnan yksinkertaiseen API-kutsuun.

AWS-vaihetoiminnot tarjoaa prosessin organisointimekanismin, joka hallitsee yleistä työnkulkua. Palvelu kapseloi API-kutsut Amazon Athena, AWS Lambdaja Forecast luodakseen automaattisen ratkaisun, joka kerää tietoja Snowflakesta, käyttää Forecastia historiatietojen muuntamiseen tulevaisuuden ennusteiksi ja luo tiedot Snowflaken sisällä.

Athenen hajautetut kyselyt voivat muodostaa yhteyden useisiin yritystietolähteisiin, mukaan lukien Amazon DynamoDB, Amazonin punainen siirto, Amazon OpenSearch-palvelu, MySQL, PostgreSQL, Redis ja muut suositut kolmannen osapuolen tietovarastot, kuten Snowflake. Dataliittimet toimivat Lambda-toimintoina - voit käyttää tätä lähdekoodia käynnistääksesi sen Amazon Athena Lambda lumihiutaleliitin ja muodosta yhteys AWS PrivateLink tai NAT-yhdyskäytävän kautta.

Ratkaisun yleiskatsaus

Yksi AWS:n usein tekemästämme työstä on auttaa asiakkaita saavuttamaan tavoitteensa ja samalla poistaa erottelemattoman raskaan noston taakka. Tätä silmällä pitäen ehdotamme seuraavaa ratkaisu auttaakseen AWS- ja Snowflake-asiakkaita suorittamaan seuraavat vaiheet:

  1. Vie tiedot Snowflakesta. Voit käyttää joustavia metatietoja purkaaksesi tarvittavat historialliset tiedot, jotka perustuvat käyttövalmiin työnkulkuun.
  2. Tuo tiedot Forecastiin. Riippumatta käyttötapauksesta, toimialasta tai mittakaavasta, valmisteltujen tietojen tuonti on helppoa ja automatisoitua.
  3. Harjoittele uusinta aikasarjamallia. Voit automatisoida aikasarjan ennustamisen ilman taustalla olevan datatieteen tai laitteiston hallintaa.
  4. Luo johtopäätös koulutettua mallia vastaan. Ennustetuotetut tuotokset on helppo kuluttaa mihin tahansa tarkoitukseen. Ne ovat saatavilla yksinkertaisina CSV- tai parkettitiedostoina Amazonin yksinkertainen tallennuspalvelu (Amazon S3).
  5. Käytä historiaa ja tulevaisuuden ennusteita rinnakkain suoraan Snowflakessa.

Seuraava kaavio havainnollistaa, kuinka voit ottaa käyttöön automatisoidun työnkulun, jonka avulla Snowflake-asiakkaat voivat hyötyä erittäin tarkoista aikasarjaennusteista, joita tukee Forecast, AWS-hallittu palvelu. Tässä tarjottu muotoilu ylittää käyttötapaukset ja teollisuuden, ja se poimii ensin historialliset tiedot Snowflakesta. Seuraavaksi työnkulku lähettää valmistetut tiedot aikasarjalaskentaa varten. Lopuksi tulevan ajanjakson ennusteet ovat saatavilla natiivina Snowflakessa, mikä luo saumattoman käyttökokemuksen AWS:n ja Snowflaken yhteisille asiakkaille.

Vaikka tämä arkkitehtuuri korostaa vain tärkeimmät tekniset yksityiskohdat, ratkaisu on helppo koota, joskus 1–2 arkipäivässä. Tarjoamme sinulle toimivan mallikoodin, joka auttaa poistamaan erottumattoman raskaan työn, joka syntyy ratkaisun luomisesta yksin ja ilman etumatkaa. Kun olet selvittänyt, kuinka tämä malli voidaan ottaa käyttöön yhdelle työkuormitukselle, voit toistaa ennustusprosessin kaikille Snowflakessa tallennetuille tiedoille. Seuraavissa osioissa hahmotellaan tärkeimmät vaiheet, joiden avulla voit rakentaa automatisoidun putkilinjan.

Poimi historialliset tiedot Snowflakesta

Tässä ensimmäisessä vaiheessa määrität SQL:n avulla, mitä tietoja haluat ennustaa, ja annat Athena Federated Queryn muodostaa yhteyden Snowflakeen, suorittaa mukautetun SQL:n ja säilyttää tuloksena olevan tietuejoukon Amazon S3:ssa. Ennuste edellyttää, että historialliset harjoitustiedot ovat saatavilla Amazon S3:ssa ennen käyttöä; Siksi Amazon S3 toimii välitallennuspuskurina Snowflaken ja Forecastin välillä. Käytämme Athenaa tässä suunnittelussa mahdollistaaksemme Snowflaken ja muiden heterogeenisten tietolähteiden käytön. Jos haluat, toinen lähestymistapa on käyttää Snowflake COPY -komentoa ja tallennusintegraatiota kyselytulosten kirjoittamiseen Amazon S3:een.

Riippumatta käytetystä siirtomekanismista, kerromme nyt, millaisia ​​tietoja ennuste tarvitsee ja kuinka tiedot määritellään, valmistetaan ja poimitaan. Seuraavassa osiossa kuvataan, kuinka tietoja tuodaan Forecastiin.

Seuraava kuvakaappaus kuvaa, miltä tietojoukko voi näyttää alkuperäisessä Snowflake-skeemassa.

Automatisoi aikasarjan ennustaminen Snowflakessa Amazon Forecast PlatoBlockchain Data Intelligencen avulla. Pystysuuntainen haku. Ai.

Vaikka tämä kuvakaappaus näyttää, miltä tiedot näyttävät luonnollisessa tilassaan, ennuste edellyttää tietojen muokkaamista kolmeen eri tietojoukkoon:

  • Tavoiteaikasarja – Tämä on pakollinen tietojoukko, joka sisältää kohdemuuttujan, ja sitä käytetään tulevan arvon kouluttamiseen ja ennustamiseen. Yksin tämä tietojoukko toimii yksimuuttujaisena aikasarjamallina.
  • Liittyvät aikasarjat – Tämä on valinnainen tietojoukko, joka sisältää ajallisia muuttujia, joilla pitäisi olla suhde kohdemuuttujaan. Esimerkkejä ovat muuttuvat hinnoittelut, myynninedistämistoimet, hyperpaikallinen tapahtumaliikenne, talousnäkymien tiedot – kaikki mitä tunnet voi auttaa selittämään tavoiteaikasarjan vaihtelua ja tuottamaan paremman ennusteen. Asiaan liittyvä aikasarjatietojoukko muuttaa yksimuuttujamallisi monimuuttujaksi tarkkuuden parantamiseksi.
  • Tuotteen metatiedot – Tämä on valinnainen tietojoukko, joka sisältää kategorisia tietoja ennustetusta tuotteesta. Tuotteen metatiedot auttavat usein parantamaan äskettäin lanseerattujen tuotteiden suorituskykyä, joita kutsumme a kylmäkäynnistys.

Kun kunkin ennustetietojoukon laajuus on määritetty, voit kirjoittaa Snowflakeen kyselyjä, jotka lähtevät oikeat tietokentät tarvittavista lähdetaulukoista oikeilla suodattimilla saadaksesi halutun osajoukon tietoja. Seuraavassa on kolme esimerkkiä SQL-kyselyistä, joita käytetään luomaan jokainen tietojoukko, jota Forecast tarvitsee tietyssä elintarvikekysynnän suunnitteluskenaariossa.

Aloitamme tavoiteaikasarjakyselyllä:

select LOCATION_ID, ITEM_ID, 
DATE_DEMAND as TIMESTAMP, QTY_DEMAND as TARGET_VALUE 
from DEMO.FOOD_DEMAND

Valinnainen aiheeseen liittyvä aikasarjakysely hakee kovariaatteja, kuten hinta ja kampanja:

select LOCATION_ID,ITEM_ID, DATE_DEMAND as TIMESTAMP,
CHECKOUT_PRICE, BASE_PRICE,
EMAILER_FOR_PROMOTION, HOMEPAGE_FEATURED
from DEMO.FOOD_DEMAND

Nimikkeen metatietokysely hakee erilliset kategoriset arvot, jotka auttavat antamaan ulottuvuuden ja määrittämään ennustetun kohteen tarkemmin:

select DISTINCT ITEM_ID, FOOD_CATEGORY, FOOD_CUISINE
from DEMO.FOOD_DEMAND

Kun lähdekyselyt on määritetty, voimme muodostaa yhteyden Snowflakeen Athena Federated Queryn kautta lähettääksemme kyselyt ja säilyttääksemme tuloksena olevat tietojoukot ennustekäyttöä varten. Lisätietoja on kohdassa Tee kysely lumihiutaleesta Athena Federated Queryn avulla ja liity Amazon S3 -tietojärvesi tietoihin.

- Athena Snowflake Connector GitHub -repo auttaa asentamaan Snowflake-liittimen. The Ennuste MLOps GitHubin repo auttaa järjestämään kaikki tässä viestissä määritellyt makrovaiheet ja tekee niistä toistettavia ilman koodin kirjoittamista.

Tuo tiedot Forecastiin

Kun olemme suorittaneet edellisen vaiheen, tavoiteaikasarjatietojoukko on Amazon S3:ssa ja valmis tuotavaksi Forecastiin. Lisäksi valinnaiset liittyvät aikasarjat ja nimikkeiden metatietotietojoukot voidaan myös valmistella ja olla valmiita syötettäväksi. Mukana Ennusta MLOps-ratkaisu, sinun tarvitsee vain käynnistää tietojen tuonnista vastaava Step Functions -tilakone – koodia ei tarvita. Ennuste käynnistää klusterin jokaiselle toimittamillesi tietojoukoille ja valmistaa tiedot palvelun käytettäväksi ML-mallin rakentamiseen ja mallin päättelyyn.

Luo aikasarjan ML-malli tarkkuustilastoilla

Kun tiedot on tuotu, erittäin tarkat aikasarjamallit luodaan yksinkertaisesti kutsumalla API. Tämä vaihe on kapseloitu Step Functions -tilakoneeseen, joka käynnistää Forecast API:n mallin harjoittelun aloittamiseksi. Kun ennustajamalli on koulutettu, tilakone vie mallitilastot ja ennusteet backtest-ikkunan aikana Amazon S3:een. Backtest-vientit ovat kyselyn kohteena Snowflakella ulkoisena vaiheena, kuten seuraavassa kuvakaappauksessa näkyy. Halutessasi voit tallentaa tiedot sisäisessä vaiheessa. Tarkoituksena on käyttää backtest-mittareita arvioidaksesi aikasarjojen tehokkuutta toimitetussa tietojoukossa.

Automatisoi aikasarjan ennustaminen Snowflakessa Amazon Forecast PlatoBlockchain Data Intelligencen avulla. Pystysuuntainen haku. Ai.

Luo tulevaisuuden ennusteita

Kun malli on koulutettu edellisestä vaiheesta, tarkoitukseen rakennettu Step Functions -tilakone kutsuu Forecast API:ta luodakseen tulevaisuuteen päivättyjä ennusteita. Ennuste varaa klusterin suorittamaan päättelyn ja vetää tuodut kohdeaikasarjat, niihin liittyvät aikasarjat ja alkion metatietotietojoukot edellisessä vaiheessa luodun nimetyn ennustajamallin kautta. Kun ennusteet on luotu, tilakone kirjoittaa ne Amazon S3:een, jossa ne voidaan jälleen kerran kysellä paikallaan Snowflake-ulkovaiheena tai siirtää Snowflakeen sisäisenä vaiheena.

Käytä tulevaisuuteen päivättyjä ennustetietoja suoraan Snowflakessa

AWS ei ole rakentanut täysin automatisoitua ratkaisua tälle vaiheelle; kuitenkin tämän viestin ratkaisulla Forecast tuotti tiedot jo kahdessa edellisessä vaiheessa. Voit käsitellä tuloksia toiminnallisina tapahtumina tai rakentaa dataan liiketoimintatiedon hallintapaneeleja. Voit myös käyttää tietoja tulevien tuotantosuunnitelmien ja ostotilausten luomiseen, tulevien tulojen arvioimiseen, henkilöstöresurssisuunnitelmien laatimiseen ja paljon muuta. Jokainen käyttötapaus on erilainen, mutta tämän vaiheen tarkoitus on toimittaa ennusteet oikeisiin kuluttaviin järjestelmiin organisaatiossasi tai sen ulkopuolella.

Seuraava koodinpätkä näyttää, kuinka voit kysyä Amazon S3 -tietoja suoraan Snowflakesta:

CREATE or REPLACE FILE FORMAT mycsvformat
type = 'CSV'
field_delimiter = ','
empty_field_as_null = TRUE
ESCAPE_UNENCLOSED_FIELD = None
skip_header = 1;

CREATE or REPLACE STORAGE INTEGRATION amazon_forecast_integration
TYPE = EXTERNAL_STAGE
STORAGE_PROVIDER = S3
STORAGE_AWS_ROLE_ARN = 'arn:aws:iam::nnnnnnnnnn:role/snowflake-forecast-poc-role'
ENABLED = true
STORAGE_ALLOWED_LOCATIONS = (
's3://bucket/folder/forecast',
's3://bucket/folder/backtest-export/accuracy-metrics-values',
's3://bucket/folder/backtest-export/forecasted-values';

CREATE or REPLACE STAGE backtest_accuracy_metrics
storage_integration = amazon_forecast_integration
url = 's3://bucket/folder/backtest-export/accuracy-metrics-values'
file_format = mycsvformat;

CREATE or REPLACE EXTERNAL TABLE FOOD_DEMAND_BACKTEST_ACCURACY_METRICS (
ITEM_ID varchar AS (value:c1::varchar),
LOCATION_ID varchar AS (value:c2::varchar),
backtest_window varchar AS (value:c3::varchar),
backtestwindow_start_time varchar AS (value:c4::varchar),
backtestwindow_end_time varchar AS (value:c5::varchar),
wQL_10 varchar AS (value:c6::varchar),
wQL_30 varchar AS (value:c7::varchar),
wQL_50 varchar AS (value:c8::varchar),
wQL_70 varchar AS (value:c9::varchar),
wQL_90 varchar AS (value:c10::varchar),
AVG_wQL varchar AS (value:c11::varchar),
RMSE varchar AS (value:c12::varchar),
WAPE varchar AS (value:c13::varchar),
MAPE varchar AS (value:c14::varchar),
MASE varchar AS (value:c15::varchar)
)
with location = @backtest_accuracy_metrics
FILE_FORMAT = (TYPE = CSV FIELD_DELIMITER = ',' SKIP_HEADER = 1);

Lisätietoja käyttöoikeuksien määrittämisestä on kohdassa Vaihtoehto 1: Snowflake Storage Integrationin määrittäminen Amazon S3:n käyttämiseksi. Lisäksi voit käyttää AWS-palveluluettelo Amazon S3 -tallennusintegraation määrittäminen; lisätietoja on saatavilla osoitteessa GitHub repo.

Aloita aikataulu- tai tapahtumapohjainen työnkulku

Kun olet asentanut ratkaisun omaan työmäärääsi varten, viimeinen vaiheesi on automatisoida prosessi aikataulussa, joka sopii yksilöllisiin tarpeisiisi, kuten päivittäin tai viikoittain. Tärkeintä on päättää, miten prosessi aloitetaan. Yksi tapa on käyttää Snowflakea Step Functions -tilakoneen käynnistämiseen ja sitten vaiheiden järjestämiseen sarjassa. Toinen lähestymistapa on ketjuttaa tilakoneet yhteen ja aloittaa kokonaisajo an Amazon EventBridge sääntö, jonka voit määrittää suorittamaan tapahtumasta tai ajoitetusta tehtävästä – esimerkiksi klo 9 GMT-00 joka sunnuntai-ilta.

Yhteenveto

Eniten kokemusta; luotettavin, skaalautuvin ja turvallisin pilvi; ja kattavin palvelu- ja ratkaisuvalikoima, AWS on paras paikka avata arvoa tiedoistasi ja muuttaa ne tiedoksi. Tässä viestissä näytimme sinulle, kuinka voit luoda automaattisen aikasarjaennusteen työnkulun. Parempi ennustaminen voi johtaa korkeampiin asiakaspalvelutuloksiin, vähemmän jätettä, vähemmän käyttämättömänä olevaa varastoa ja enemmän kassaa taseessa.

Jos olet valmis automatisoimaan ja parantamaan ennustamista, autamme sinua matkallasi. Ota yhteyttä AWS- tai Snowflake-tilitiimiisi aloittaaksesi tänään ja pyydä ennustetyöpajaa nähdäksesi, millaista arvoa voit saada tiedoistasi.


Tietoja Tekijät

Automatisoi aikasarjan ennustaminen Snowflakessa Amazon Forecast PlatoBlockchain Data Intelligencen avulla. Pystysuuntainen haku. Ai.Bosco Albuquerque on AWS:n vanhempi kumppaniratkaisuarkkitehti ja hänellä on yli 20 vuoden kokemus tietokanta- ja analytiikkatuotteiden parissa työskentelystä yritystietokantatoimittajilta ja pilvipalveluntarjoajilta. Hän on auttanut teknologiayrityksiä suunnittelemaan ja toteuttamaan data-analytiikkaratkaisuja ja -tuotteita.

Automatisoi aikasarjan ennustaminen Snowflakessa Amazon Forecast PlatoBlockchain Data Intelligencen avulla. Pystysuuntainen haku. Ai.Frank Dallezotte on AWS:n vanhempi ratkaisuarkkitehti ja on intohimoinen yhteistyö riippumattomien ohjelmistotoimittajien kanssa suunnitella ja rakentaa skaalautuvia sovelluksia AWS:ssä. Hänellä on kokemusta ohjelmistojen luomisesta, rakentamisputkien toteuttamisesta ja näiden ratkaisujen käyttöönotosta pilvessä.

Automatisoi aikasarjan ennustaminen Snowflakessa Amazon Forecast PlatoBlockchain Data Intelligencen avulla. Pystysuuntainen haku. Ai.Andries Engelbrecht on pääkumppaniratkaisujen arkkitehti Snowflakessa ja työskentelee strategisten kumppaneiden kanssa. Hän on aktiivisesti tekemisissä strategisten kumppaneiden, kuten AWS:n, kanssa tukemassa tuote- ja palveluintegraatioita sekä yhteisten ratkaisujen kehittämistä kumppaneiden kanssa. Andriesilla on yli 20 vuoden kokemus datan ja analytiikan alalta.

Automatisoi aikasarjan ennustaminen Snowflakessa Amazon Forecast PlatoBlockchain Data Intelligencen avulla. Pystysuuntainen haku. Ai.Charles Laughlin on AI/ML Specialist Solutions -arkkitehti ja työskentelee AWS:n Time Series ML -tiimissä. Hän auttaa muokkaamaan Amazon Forecast -palvelun tiekarttaa ja tekee päivittäin yhteistyötä erilaisten AWS-asiakkaiden kanssa auttaakseen heidän liiketoimintaansa muuttamaan käyttämällä huippuluokan AWS-teknologioita ja ajattelun johtajuutta. Charlesilla on MS-tutkinto Supply Chain Managementista ja hän on työskennellyt viimeisen vuosikymmenen kuluttajapakkausten teollisuudessa.

Automatisoi aikasarjan ennustaminen Snowflakessa Amazon Forecast PlatoBlockchain Data Intelligencen avulla. Pystysuuntainen haku. Ai.James Sun on Senior Partner Solutions -arkkitehti Snowflakessa. Jamesilla on yli 20 vuoden kokemus tallennus- ja dataanalytiikasta. Ennen Snowflakea hän toimi useissa johtavissa teknisissä tehtävissä AWS:ssä ja MapR:ssä. James on valmistunut tohtoriksi Stanfordin yliopistosta.

Aikaleima:

Lisää aiheesta AWS-koneoppiminen