Avtomatizirajte svoje napovedovanje časovnih vrst v Snowflake z uporabo Amazon Forecast PlatoBlockchain Data Intelligence. Navpično iskanje. Ai.

Avtomatizirajte svoje napovedovanje časovnih vrst v Snowflake z uporabo Amazon Forecast

Ta objava je rezultat skupnega sodelovanja z Andriesom Engelbrechtom in Jamesom Sunom iz Snowflake, Inc.

Revolucija računalništva v oblaku je podjetjem omogočila zajemanje in hrambo korporativnih in organizacijskih podatkov brez načrtovanja zmogljivosti ali omejitev hrambe podatkov. Zdaj, z raznolikimi in obsežnimi rezervami longitudinalnih podatkov, lahko podjetja vse bolj najdejo nove in učinkovite načine za uporabo svojih digitalnih sredstev za sprejemanje boljših in premišljenih odločitev pri sprejemanju kratkoročnih in dolgoročnih odločitev o načrtovanju. Napovedovanje časovnih vrst je edinstvena in bistvena znanost, ki podjetjem omogoča sprejemanje odločitev o kirurškem načrtovanju, da pomagajo uravnotežiti ravni storitev za stranke in pogosto konkurenčne cilje optimalne dobičkonosnosti.

Pri AWS včasih sodelujemo s strankami, ki so izbrale našega tehnološkega partnerja Snowflake za zagotavljanje izkušnje podatkovne platforme v oblaku. Imeti platformo, ki si lahko prikliče leta in leta zgodovinskih podatkov, je močno – toda kako lahko te podatke uporabite za pogled naprej in uporabite včerajšnje dokaze za načrtovanje za jutri? Predstavljajte si, da imate v Snowflakeu – vaši edini različici resnice – na voljo ne le to, kar se je zgodilo, temveč tudi sosednji nabor nerazpršenih podatkov, ki ponuja verjetnostno napoved za dneve, tedne ali mesece v prihodnosti.

V sodelujoči dobavni verigi lahko izmenjava informacij med partnerji izboljša učinkovitost, poveča konkurenčnost in zmanjša zapravljene vire. Deljenje vaših prihodnjih napovedi je lahko olajšano z Skupna raba podatkov Snowflake, ki vam omogoča brezhibno varno sodelovanje s poslovnimi partnerji in prepoznavanje poslovnih vpogledov. Če veliko partnerjev deli svoje napovedi, lahko pomaga nadzorovati učinek bika v povezani dobavni verigi. Lahko učinkovito uporabite Snowflake Marketplace za monetizacijo vaše napovedne analitike iz naborov podatkov, proizvedenih v Amazonska napoved.

V tej objavi razpravljamo o tem, kako implementirati rešitev za samodejno napovedovanje časovnih vrst z uporabo Snowflake in Forecast.

Bistvene storitve AWS, ki omogočajo to rešitev

Forecast ponuja več najsodobnejših algoritmov časovnih vrst in upravlja dodeljevanje dovolj porazdeljene računalniške zmogljivosti, da zadosti potrebam skoraj vseh delovnih obremenitev. Z napovedjo ne dobite enega modela; dobite moč številnih modelov, ki so dodatno optimizirani v edinstveno utežen model za vsako časovno serijo v nizu. Skratka, storitev zagotavlja vso znanost, obdelavo podatkov in upravljanje virov v preprost klic API-ja.

Korak funkcije AWS zagotavlja mehanizem orkestracije procesa, ki upravlja celoten potek dela. Storitev enkapsulira klice API z Amazonska Atena, AWS Lambdain Forecast za ustvarjanje avtomatizirane rešitve, ki zbira podatke iz Snowflake, uporablja Forecast za pretvorbo zgodovinskih podatkov v prihodnje napovedi in nato ustvari podatke znotraj Snowflake.

Zvezne poizvedbe Athena se lahko povežejo z več viri podatkov podjetja, vključno z Amazon DynamoDB, Amazon RedShift, Storitev Amazon OpenSearch, MySQL, PostgreSQL, Redis in drugih priljubljenih shramb podatkov tretjih oseb, kot je Snowflake. Podatkovni konektorji delujejo kot funkcije Lambda – to izvorno kodo lahko uporabite za pomoč pri zagonu Konektor Amazon Athena Lambda Snowflake in se povežite z AWS PrivateLink ali prek prehoda NAT.

Pregled rešitev

Ena od stvari, ki jih pogosto počnemo pri AWS, je pomoč strankam pri uresničitvi njihovih ciljev, hkrati pa odstranimo breme nediferenciranega dvigovanja težkih stvari. S tem v mislih predlagamo naslednje Rešitev za pomoč strankam AWS in Snowflake pri izvedbi naslednjih korakov:

  1. Izvoz podatkov iz Snowflake. Uporabite lahko prilagodljive metapodatke, da razložite potrebne zgodovinske podatke, ki jih poganja potek dela, pripravljen za uporabo.
  2. Uvozite podatke v Forecast. Ne glede na primer uporabe, panogo ali obseg je uvoz pripravljenih vnosov podatkov enostaven in avtomatiziran.
  3. Usposobite najsodobnejši model časovne vrste. Napovedovanje časovnih vrst lahko avtomatizirate, ne da bi upravljali osnovno znanost o podatkih ali zagotavljanje strojne opreme.
  4. Ustvarite sklepanje glede na usposobljeni model. Izhode, ustvarjene z napovedjo, je enostavno porabiti za kateri koli namen. Na voljo so kot preproste datoteke CSV ali Parquet na Preprosta storitev shranjevanja Amazon (Amazon S3).
  5. Uporabite zgodovino in prihodnje napovedi eno ob drugi neposredno v Snowflake.

Naslednji diagram prikazuje, kako implementirati avtomatiziran potek dela, ki strankam Snowflake omogoča, da izkoristijo zelo natančne napovedi časovnih vrst, ki jih podpira Forecast, storitev, ki jo upravlja AWS. Tukaj ponujena zasnova, ki presega primere uporabe in industrijo, najprej izvleče zgodovinske podatke iz Snowflake. Nato potek dela predloži pripravljene podatke za izračun časovne vrste. Nazadnje so napovedi za prihodnje obdobje na voljo izvorno v Snowflake, kar ustvarja brezhibno uporabniško izkušnjo za skupne stranke AWS in Snowflake.

Čeprav ta arhitektura poudarja le ključne tehnične podrobnosti, je rešitev preprosto sestaviti, včasih v 1–2 delovnih dneh. Zagotavljamo vam delujočo vzorčno kodo, ki vam bo pomagala odpraviti nediferencirano težko delo pri ustvarjanju rešitve samo in brez prednosti. Ko odkrijete, kako implementirati ta vzorec za eno delovno obremenitev, lahko ponovite postopek napovedovanja za vse podatke, ki jih hrani Snowflake. V naslednjih razdelkih predstavljamo ključne korake, ki vam omogočajo izgradnjo avtomatiziranega cevovoda.

Izvleček zgodovinskih podatkov iz Snowflake

V tem prvem koraku uporabite SQL, da določite, katere podatke želite napovedati, in pustite, da se zvezna poizvedba Athena poveže s Snowflake, zažene vaš prilagojeni SQL in obdrži nastali niz zapisov na Amazon S3. Napoved zahteva, da so zgodovinski podatki o usposabljanju na voljo na Amazon S3 pred zaužitjem; zato Amazon S3 služi kot vmesni medpomnilnik med Snowflake in Forecast. V tej zasnovi predstavljamo Atheno, da omogočimo Snowflake in druge heterogene vire podatkov. Če želite, je drug pristop uporaba ukaza Snowflake COPY in integracije pomnilnika za pisanje rezultatov poizvedbe v Amazon S3.

Ne glede na uporabljen transportni mehanizem, zdaj opisujemo vrsto podatkov, ki jih potrebuje Forecast, in kako so podatki definirani, pripravljeni in ekstrahirani. V razdelku, ki sledi, opisujemo, kako uvoziti podatke v Forecast.

Naslednji posnetek zaslona prikazuje, kako bi lahko izgledal nabor podatkov v izvorni shemi Snowflake.

Avtomatizirajte svoje napovedovanje časovnih vrst v Snowflake z uporabo Amazon Forecast PlatoBlockchain Data Intelligence. Navpično iskanje. Ai.

Čeprav ta posnetek zaslona prikazuje, kako so podatki videti v naravnem stanju, Forecast zahteva, da se podatki oblikujejo v tri različne nize podatkov:

  • Ciljna časovna vrsta – To je zahtevan nabor podatkov, ki vsebuje ciljno spremenljivko in se uporablja za usposabljanje in napovedovanje prihodnje vrednosti. Samo ta niz podatkov služi kot univariatni model časovne vrste.
  • Povezane časovne vrste – To je izbirni nabor podatkov, ki vsebuje časovne spremenljivke, ki bi morale biti povezane s ciljno spremenljivko. Primeri vključujejo spremenljive cene, promocijska prizadevanja, hiperlokalni promet dogodkov, podatke o gospodarskih obetih – vse, kar menite, bi lahko pomagalo razložiti odstopanje v ciljni časovni vrsti in ustvariti boljšo napoved. Povezan nabor podatkov o časovni vrsti spremeni vaš univariatni model v multivariatni, da pomaga izboljšati natančnost.
  • Metapodatki artikla – To je izbirni nabor podatkov, ki vsebuje kategorične podatke o predvideni postavki. Metapodatki o predmetih pogosto pomagajo povečati učinkovitost na novo predstavljenih izdelkov, ki jih imenujemo a hladen začetek.

Z definiranim obsegom vsakega od naborov podatkov Forecast lahko pišete poizvedbe v Snowflake, ki izvirajo iz pravilnih podatkovnih polj iz potrebnih izvornih tabel z ustreznimi filtri, da dobite želeno podnabor podatkov. Sledijo trije primeri poizvedb SQL, ki se uporabljajo za ustvarjanje vsakega nabora podatkov, ki jih Forecast potrebuje za določen scenarij načrtovanja povpraševanja po hrani.

Začnemo s poizvedbo ciljne časovne vrste:

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

Izbirna sorodna poizvedba o časovni vrsti potegne sospremenljivke, kot sta cena in promocija:

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

Poizvedba po metapodatkih elementa pridobi različne kategorične vrednosti, ki pomagajo podati razsežnost in dodatno opredeliti napovedan element:

select DISTINCT ITEM_ID, FOOD_CATEGORY, FOOD_CUISINE
from DEMO.FOOD_DEMAND

Z definiranimi izvornimi poizvedbami se lahko povežemo s Snowflake prek zvezne poizvedbe Athena, da pošljemo poizvedbe in obdržimo dobljene nize podatkov za uporabo pri napovedovanju. Za več informacij glejte Izvedite poizvedbo Snowflake z uporabo Athena Federated Query in se pridružite s podatki v svojem podatkovnem jezeru Amazon S3.

O Athena Snowflake Connector GitHub repo pomaga pri namestitvi priključka Snowflake. The Napoved MLOps GitHub repo pomaga pri orkestriranju vseh korakov makra, definiranih v tej objavi, in jih naredi ponovljive brez pisanja kode.

Uvozite podatke v Forecast

Ko zaključimo prejšnji korak, je nabor podatkov o ciljni časovni vrsti v Amazonu S3 in pripravljen za uvoz v Forecast. Poleg tega se lahko pripravijo in pripravijo izbirne povezane časovne serije in podatkovni nizi metapodatkov elementov. S priloženim Rešitev napovedi MLOps, vse kar morate storiti tukaj je, da zaženete stanje stroja stopenjskih funkcij, ki je odgovoren za uvoz podatkov – koda ni potrebna. Napoved zažene gručo za vsak nabor podatkov, ki ste ga posredovali, in pripravi podatke za uporabo storitve za gradnjo modela ML in sklepanje o modelu.

Ustvarite model časovne serije ML s statistiko natančnosti

Ko so podatki uvoženi, se preprosto s klicem API-ja ustvarijo zelo natančni modeli časovnih vrst. Ta korak je enkapsuliran znotraj stroja stanja Step Functions, ki sproži Forecast API za začetek usposabljanja modela. Ko je napovedovalni model usposobljen, stanje stroj izvozi statistične podatke modela in napovedi med oknom za testiranje nazaj v Amazon S3. Snowflake kot zunanja stopnja lahko izvede poizvedbe po izvozih testov za nazaj, kot je prikazano na naslednjem posnetku zaslona. Če želite, lahko podatke shranite v notranji fazi. Bistvo je, da uporabite meritve za preizkušnjo za ovrednotenje razpršitve uspešnosti časovnih vrst v vašem naboru podatkov.

Avtomatizirajte svoje napovedovanje časovnih vrst v Snowflake z uporabo Amazon Forecast PlatoBlockchain Data Intelligence. Navpično iskanje. Ai.

Ustvarite prihodnje napovedi

Z modelom, ki je naučen iz prejšnjega koraka, namensko zgrajen stroj stanja Step Functions pokliče Forecast API za ustvarjanje napovedi z datumom v prihodnosti. Napoved zagotovi gručo za izvajanje sklepanja in potegne uvožene ciljne časovne vrste, povezane časovne serije in nabore podatkov metapodatkov elementov prek imenovanega modela napovedovalca, ustvarjenega v prejšnjem koraku. Ko so napovedi ustvarjene, jih stanje stroj zapiše v Amazon S3, kjer jih je mogoče še enkrat poizvedovati na mestu kot zunanjo stopnjo Snowflake ali premakniti v Snowflake kot notranjo stopnjo.

Uporabite predvidene podatke za prihodnost neposredno v Snowflake

AWS ni zgradil popolnoma avtomatizirane rešitve za ta korak; vendar je z rešitvijo v tej objavi podatke proizvedel že Forecast v prejšnjih dveh korakih. Rezultate lahko obravnavate kot dogodke, na podlagi katerih lahko ukrepate, ali na podlagi podatkov sestavite nadzorne plošče poslovne inteligence. Podatke lahko uporabite tudi za ustvarjanje prihodnjih proizvodnih načrtov in naročilnic, oceno prihodnjih prihodkov, izdelavo načrtov za kadrovske vire in drugo. Vsak primer uporabe je drugačen, vendar je smisel tega koraka dostaviti napovedi pravilnim porabniškim sistemom v vaši organizaciji ali zunaj nje.

Naslednji delček kode prikazuje, kako poizvedovati po podatkih Amazon S3 neposredno iz Snowflake:

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);

Za več informacij o nastavitvi dovoljenj glejte Možnost 1: Konfiguracija integracije shrambe Snowflake za dostop do Amazon S3. Poleg tega lahko uporabite Katalog storitev AWS za konfiguracijo integracije pomnilnika Amazon S3; več informacij je na voljo na GitHub repo.

Začnite potek dela, ki temelji na urniku ali na dogodkih

Ko namestite rešitev za svojo posebno delovno obremenitev, je vaš zadnji korak avtomatizacija procesa po urniku, ki je smiseln za vaše edinstvene zahteve, na primer dnevno ali tedensko. Glavna stvar je, da se odločite, kako začeti postopek. Ena metoda je uporaba Snowflake za priklic stroja stanj Step Functions in nato zaporedno orkestriranje korakov. Drug pristop je povezovanje stanovskih strojev skupaj in začetek celotnega izvajanja skozi an Amazon EventBridge pravilo, ki ga lahko konfigurirate za zagon iz dogodka ali načrtovanega opravila – na primer ob 9:00 GMT-8 vsako nedeljo zvečer.

zaključek

Z največ izkušnjami; najbolj zanesljiv, razširljiv in varen oblak; in najobsežnejši nabor storitev in rešitev je AWS najboljše mesto za odklepanje vrednosti vaših podatkov in njihovo spreminjanje v vpogled. V tej objavi smo vam pokazali, kako ustvariti potek dela za avtomatizirano napovedovanje časovnih vrst. Boljše napovedovanje lahko vodi do boljših rezultatov storitev za stranke, manj odpadkov, manj neuporabnih zalog in več denarja v bilanci stanja.

Če ste pripravljeni avtomatizirati in izboljšati napovedovanje, smo tukaj, da vam pomagamo na vaši poti. Obrnite se na skupino za račun AWS ali Snowflake, da začnete danes, in zaprosite za delavnico napovedovanja, da vidite, kakšno vrednost lahko odklenete iz svojih podatkov.


O avtorjih

Avtomatizirajte svoje napovedovanje časovnih vrst v Snowflake z uporabo Amazon Forecast PlatoBlockchain Data Intelligence. Navpično iskanje. Ai.Bosco Albuquerque je starejši arhitekt partnerskih rešitev pri AWS in ima več kot 20 let izkušenj pri delu z bazami podatkov in analitičnimi izdelki ponudnikov poslovnih baz podatkov in ponudnikov oblakov. Tehnološkim podjetjem je pomagal oblikovati in uvesti rešitve in izdelke za analizo podatkov.

Avtomatizirajte svoje napovedovanje časovnih vrst v Snowflake z uporabo Amazon Forecast PlatoBlockchain Data Intelligence. Navpično iskanje. Ai.Frank Dallezotte je starejši arhitekt rešitev pri AWS in navdušen nad sodelovanjem z neodvisnimi ponudniki programske opreme pri načrtovanju in gradnji razširljivih aplikacij na AWS. Ima izkušnje z ustvarjanjem programske opreme, implementacijo gradbenih cevovodov in uvajanjem teh rešitev v oblaku.

Avtomatizirajte svoje napovedovanje časovnih vrst v Snowflake z uporabo Amazon Forecast PlatoBlockchain Data Intelligence. Navpično iskanje. Ai.Andries Engelbrecht je glavni partner rešitev arhitekt pri Snowflake in sodeluje s strateškimi partnerji. Aktivno sodeluje s strateškimi partnerji, kot je AWS, ki podpirajo integracije izdelkov in storitev ter razvoj skupnih rešitev s partnerji. Andries ima več kot 20 let izkušenj na področju podatkov in analitike.

Avtomatizirajte svoje napovedovanje časovnih vrst v Snowflake z uporabo Amazon Forecast PlatoBlockchain Data Intelligence. Navpično iskanje. Ai.Charles Laughlin je glavni arhitekt za rešitve AI/ML in dela v ekipi Time Series ML pri AWS. Pomaga oblikovati časovni načrt storitve Amazon Forecast in dnevno sodeluje z različnimi strankami AWS, da bi pomagal preoblikovati njihova podjetja z uporabo vrhunskih tehnologij AWS in miselnega vodstva. Charles ima magisterij iz upravljanja dobavne verige in je zadnje desetletje delal v industriji potrošniškega pakiranega blaga.

Avtomatizirajte svoje napovedovanje časovnih vrst v Snowflake z uporabo Amazon Forecast PlatoBlockchain Data Intelligence. Navpično iskanje. Ai.James Sun je višji partnerski arhitekt za rešitve pri Snowflake. James ima več kot 20 let izkušenj s shranjevanjem in analizo podatkov. Pred Snowflake je bil na več višjih tehničnih položajih pri AWS in MapR. James je doktoriral na univerzi Stanford.

Časovni žig:

Več od Strojno učenje AWS