Automatizálja idősor-előrejelzését a Snowflake szolgáltatásban az Amazon Forecast PlatoBlockchain Data Intelligence segítségével. Függőleges keresés. Ai.

Automatizálja idősor-előrejelzését a Snowflake szolgáltatásban az Amazon Forecast segítségével

Ez a bejegyzés Andries Engelbrecht és James Sun, a Snowflake, Inc. közös együttműködése.

A számítási felhő forradalma lehetővé tette a vállalkozások számára, hogy kapacitástervezés vagy adatmegőrzési korlátok nélkül rögzítsék és őrizzék meg a vállalati és szervezeti adatokat. Manapság, a longitudinális adatok változatos és hatalmas tartalékaival a vállalatok egyre inkább képesek új és hatásos módokat találni digitális eszközeik felhasználására, hogy jobb és megalapozott döntéseket hozzanak a rövid és hosszú távú tervezési döntések meghozatalakor. Az idősoros előrejelzés egy egyedülálló és alapvető tudomány, amely lehetővé teszi a vállalatok számára, hogy sebészeti tervezési döntéseket hozzanak az ügyfélszolgálati szint és az optimális jövedelmezőség gyakran versengő céljai közötti egyensúly megteremtése érdekében.

Az AWS-nél néha olyan ügyfelekkel dolgozunk, akik technológiai partnerünket választották Hópehely felhő adatplatform-élményt nyújtani. Hatékony egy olyan platform, amely képes felidézni évek és évek történeti adatait – de hogyan használhatja ezeket az adatokat arra, hogy előre tekintsen, és hogyan használja a tegnapi bizonyítékokat a holnap megtervezéséhez? Képzelje el, hogy nemcsak a történtek állnak rendelkezésre a Snowflake-ben – az igazság egyetlen változata –, hanem egy szomszédos, nem összegyűjtött adathalmaz is, amely valószínűségi előrejelzést kínál napokra, hetekre vagy hónapokra a jövőre nézve.

Az együttműködésen alapuló ellátási láncban a partnerek közötti információmegosztás javíthatja a teljesítményt, növelheti a versenyképességet és csökkentheti az elpazarolt erőforrásokat. A jövőbeli előrejelzések megosztása megkönnyíthető Hópehely adatmegosztás, amely lehetővé teszi, hogy zökkenőmentesen működjön együtt üzleti partnereivel, és azonosítsa az üzleti betekintést. Ha sok partner osztja meg előrejelzéseit, az segíthet a kapcsolódó ellátási láncban a bullwhip hatás szabályozásában. Hatékonyan használhatod Hópehely piactér a prediktív elemzéseiből bevételt szerezni a ben előállított adatkészletekből Amazon előrejelzés.

Ebben a bejegyzésben megvitatjuk, hogyan lehet megvalósítani egy automatizált idősoros előrejelzési megoldást a Snowflake és Forecast segítségével.

Alapvető AWS-szolgáltatások, amelyek lehetővé teszik ezt a megoldást

A Forecast számos korszerű idősor-algoritmust biztosít, és felügyeli az elégséges elosztott számítási kapacitás lefoglalását, hogy szinte bármilyen munkaterhelés esetén megfeleljen. Az előrejelzéssel nem kap egy modellt; sok olyan modell erejét kapja meg, amelyeket a készlet minden egyes idősorához egyedileg súlyozott modellré optimalizáltak. Röviden: a szolgáltatás az összes tudományt, adatkezelést és erőforrás-kezelést egy egyszerű API-hívásban biztosítja.

AWS lépésfunkciók folyamatirányítási mechanizmust biztosít, amely kezeli a teljes munkafolyamatot. A szolgáltatás magába foglalja az API-hívásokat Amazon Athéné, AWS Lambda, és a Forecast egy olyan automatizált megoldás létrehozásához, amely adatokat gyűjt a Snowflake-ből, az Előrejelzést használja az előzményadatok jövőbeli előrejelzésekké alakítására, majd létrehozza az adatokat a Snowflake-en belül.

Az Athena összevont lekérdezések számos vállalati adatforráshoz kapcsolódhatnak, beleértve Amazon DynamoDB, Amazon RedShift, Amazon OpenSearch szolgáltatás, MySQL, PostgreSQL, Redis és más népszerű harmadik féltől származó adattárak, például a Snowflake. Az adatösszekötők Lambda-függvényként futnak – ezt a forráskódot használhatja a program elindításához Amazon Athena Lambda hópehely csatlakozó és csatlakozzon AWS PrivateLink vagy NAT-átjárón keresztül.

Megoldás áttekintése

Az egyik dolog, amit az AWS-nél gyakran végzünk, az az, hogy segítsünk ügyfeleinknek elérni céljaikat, miközben eltávolítjuk a differenciálatlan nehézemelés terhét. Ezt szem előtt tartva a következőket javasoljuk megoldások hogy segítse az AWS és a Snowflake ügyfeleit a következő lépések végrehajtásában:

  1. Adatok exportálása a Snowflake szolgáltatásból. Rugalmas metaadatok segítségével törölheti a szükséges előzményadatokat, amelyeket egy használatra kész munkafolyamat vezérel.
  2. Adatok importálása az előrejelzésbe. A felhasználási esettől, iparágtól vagy mérettől függetlenül az előkészített adatbevitelek importálása egyszerű és automatizált.
  3. Tanuljon meg egy korszerű idősor-modellt. Automatizálhatja az idősoros előrejelzést a mögöttes adattudomány vagy hardverkiépítés kezelése nélkül.
  4. Következtetések létrehozása a betanított modell alapján. Az előrejelzés szerint előállított kimenetek bármilyen célra könnyen felhasználhatók. Egyszerű CSV vagy Parquet fájlokként állnak rendelkezésre Amazon egyszerű tárolási szolgáltatás (Amazon S3).
  5. Használja egymás mellett a történelmet és a jövőbeli előrejelzéseket közvetlenül a Snowflake alkalmazásban.

A következő diagram bemutatja, hogyan valósíthat meg egy automatizált munkafolyamatot, amely lehetővé teszi a Snowflake ügyfelei számára, hogy részesüljenek a Forecast, az AWS által felügyelt szolgáltatás által támogatott rendkívül pontos idősor-előrejelzésekből. A használati eseteken és az iparágon túllépve az itt kínált design először a Snowflake történeti adatait vonja ki. Ezután a munkafolyamat elküldi az előkészített adatokat az idősorok kiszámításához. Végül a jövőbeli időszak előrejelzései natívan elérhetők a Snowflake-ben, zökkenőmentes felhasználói élményt biztosítva a közös AWS- és Snowflake-ügyfelek számára.

Bár ez az architektúra csak a legfontosabb műszaki részleteket emeli ki, a megoldás egyszerűen összeállítható, esetenként 1-2 munkanapon belül. Működőképes mintakóddal segítünk megszabadulni a megoldás egyedül és előnyök nélkül történő létrehozásával járó differenciálatlan nehéz terhekről. Miután felfedezte, hogyan lehet megvalósítani ezt a mintát egy munkaterhelésnél, megismételheti az előrejelzési folyamatot a Snowflake-ben tárolt bármely adatra. A következő szakaszokban felvázoljuk azokat a legfontosabb lépéseket, amelyek lehetővé teszik egy automatizált folyamat létrehozását.

Előzményadatok kinyerése a Snowflake-ből

Ebben az első lépésben az SQL segítségével határozza meg, milyen adatokat szeretne előre jelezni, és hagyja, hogy egy Athena Federated Query csatlakozzon a Snowflake-hez, futtassa a testreszabott SQL-t, és megőrizze az eredményül kapott rekordkészletet az Amazon S3-on. Az előrejelzés megköveteli, hogy a korábbi képzési adatok elérhetők legyenek az Amazon S3-on a feldolgozás előtt; ezért az Amazon S3 köztes tárolási pufferként szolgál a Snowflake és a Forecast között. Ebben a kialakításban az Athénát használjuk, hogy lehetővé tegyük a Snowflake-et és más heterogén adatforrásokat. Ha úgy tetszik, egy másik megközelítés a Snowflake COPY parancs és a tárolási integráció használata a lekérdezési eredmények Amazon S3-ba írásához.

A használt szállítási mechanizmustól függetlenül most felvázoljuk, hogy milyen típusú adatokra van szüksége az előrejelzésnek, és hogyan történik az adatok meghatározása, előkészítése és kinyerése. A következő részben leírjuk, hogyan importálhat adatokat az előrejelzésbe.

A következő képernyőkép azt mutatja be, hogyan nézhet ki egy adatkészlet a natív hópehely sémájában.

Automatizálja idősor-előrejelzését a Snowflake szolgáltatásban az Amazon Forecast PlatoBlockchain Data Intelligence segítségével. Függőleges keresés. Ai.

Bár ez a képernyőkép azt mutatja, hogyan néznek ki az adatok természetes állapotukban, az előrejelzéshez három különböző adathalmazba kell alakítani az adatokat:

  • Cél idősor – Ez egy kötelező adatkészlet, amely tartalmazza a célváltozót, és egy jövőbeli érték betanítására és előrejelzésére szolgál. Egyedül ez az adatkészlet egyváltozós idősor-modellként szolgál.
  • Kapcsolódó idősorok – Ez egy opcionális adatkészlet, amely időbeli változókat tartalmaz, amelyeknek kapcsolatban kell lenniük a célváltozóval. Ilyenek például a változó árazás, a promóciós erőfeszítések, a hiperlokális eseményforgalom, a gazdasági kilátások adatai – bármi, amit úgy érzi, segíthet megmagyarázni a cél idősorok eltéréseit, és jobb előrejelzést készíthet. A kapcsolódó idősor-adatkészlet az egyváltozós modellt többváltozóssá alakítja a pontosság javítása érdekében.
  • Tétel metaadatai – Ez egy opcionális adatkészlet, amely kategorikus adatokat tartalmaz az előrejelzett elemről. A cikk metaadatai gyakran segítenek az újonnan bevezetett termékek teljesítményének növelésében, amelyeket a hideg indítás.

Az egyes előrejelzési adatkészletek hatókörének definiálásával olyan lekérdezéseket írhat a Snowflake-be, amelyek a megfelelő adatmezőket a szükséges forrástáblázatokból és a megfelelő szűrőkből származtatják az adatok kívánt részhalmazának eléréséhez. A következőkben három példakénti SQL-lekérdezést mutatunk be, amelyek az előrejelzésnek egy adott élelmiszer-kereslet tervezési forgatókönyvéhez szükséges adatkészletek generálására szolgálnak.

Kezdjük a cél idősor lekérdezésével:

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

Az opcionális kapcsolódó idősor-lekérdezés olyan kovariánsokat von le, mint az ár és a promóció:

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

Az elem metaadat-lekérdezése különálló kategóriaértékeket kér le, amelyek segítenek dimenziót adni, és tovább definiálni az előre jelzett elemet:

select DISTINCT ITEM_ID, FOOD_CATEGORY, FOOD_CUISINE
from DEMO.FOOD_DEMAND

A definiált forráslekérdezések esetén egy Athena Federated Query-n keresztül kapcsolódhatunk a Snowflake-hez, hogy elküldjük a lekérdezéseket, és megőrizzük az eredményül kapott adatkészleteket előrejelzési használatra. További információkért lásd: Kérdezze le a Snowflake-et az Athena Federated Query segítségével, és csatlakozzon az Amazon S3 Data Lake-ben lévő adatokhoz.

A Athena Snowflake Connector GitHub repo segít a Snowflake csatlakozó telepítésében. Az MLOps GitHub repo előrejelzése segít megszervezni az ebben a bejegyzésben meghatározott összes makrólépést, és kódírás nélkül is megismételhetővé teszi őket.

Adatok importálása az előrejelzésbe

Miután befejeztük az előző lépést, egy cél idősor adatkészlet az Amazon S3-ban, és készen áll az előrejelzésbe történő importálásra. Ezenkívül az opcionális kapcsolódó idősorok és elemek metaadat-adatkészletei is előkészíthetők és feldolgozásra készen állnak. A biztosítottal MLOps megoldás előrejelzése, itt mindössze annyit kell tennie, hogy elindítja az adatok importálásáért felelős Step Functions állapotgépet – nincs szükség kódra. Az előrejelzés minden megadott adatkészlethez elindít egy fürtöt, és készen teszi az adatokat a szolgáltatás számára az ML-modell-építéshez és a modellkövetkeztetéshez.

Hozzon létre egy idősoros ML modellt pontossági statisztikákkal

Az adatok importálása után rendkívül pontos idősor-modellek jönnek létre egyszerűen egy API meghívásával. Ez a lépés egy Step Functions állapotgépbe van beépítve, amely elindítja a Forecast API-t a modell betanításának elindításához. Az előrejelző modell betanítása után az állapotgép exportálja a modell statisztikáit és előrejelzéseit a visszatesztelési ablak során az Amazon S3-ba. A visszateszt exportálást a Snowflake külső szakaszként lekérdezheti, amint az a következő képernyőképen látható. Ha szeretné, az adatokat belső szakaszban is tárolhatja. A lényeg az, hogy a visszatesztelési mutatókat használja a megadott adatkészletben lévő idősorok teljesítményeloszlásának értékelésére.

Automatizálja idősor-előrejelzését a Snowflake szolgáltatásban az Amazon Forecast PlatoBlockchain Data Intelligence segítségével. Függőleges keresés. Ai.

Készítsen jövőbeli előrejelzéseket

Az előző lépésben betanított modellben egy erre a célra felépített Step Functions állapotgép meghívja a Forecast API-t, hogy jövőbeli előrejelzéseket hozzon létre. Az előrejelzés létrehoz egy fürtöt a következtetés végrehajtásához, és lekéri az importált célidősorokat, a kapcsolódó idősorokat és a cikk metaadat-adatkészleteit az előző lépésben létrehozott, elnevezett előrejelző modellen keresztül. Az előrejelzések generálása után az állapotgép kiírja őket az Amazon S3-ba, ahol ismét lekérdezhetők a helyükön Snowflake külső színpadként, vagy áthelyezhetők a Snowflake-be, mint belső színpadra.

A jövőre vonatkozó előrejelzési adatokat közvetlenül a Snowflake alkalmazásban használja

Az AWS nem készített teljesen automatizált megoldást ehhez a lépéshez; azonban az ebben a bejegyzésben található megoldással az előző két lépésben már az előrejelzés is előállított adatokat. A kimeneteket végrehajtható eseményekként kezelheti, vagy üzleti intelligencia irányítópultokat építhet az adatokra. Az adatokat felhasználhatja jövőbeli gyártási tervek és beszerzési rendelések létrehozására, jövőbeli bevételek becslésére, munkaerő-erőforrás tervek készítésére stb. Minden felhasználási eset más, de ennek a lépésnek az a lényege, hogy az előrejelzéseket eljuttassuk a megfelelő fogyasztói rendszerekhez a szervezetben vagy azon kívül.

A következő kódrészlet bemutatja, hogyan lehet lekérdezni az Amazon S3 adatokat közvetlenül a Snowflake-ből:

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

Az engedélyek beállításával kapcsolatos további információkért lásd: 1. lehetőség: Snowflake Storage Integration konfigurálása az Amazon S3 eléréséhez. Ezenkívül használhatja a AWS szolgáltatáskatalógus az Amazon S3 tárolási integráció konfigurálásához; további információ elérhető a GitHub repo.

Ütemezés- vagy eseményalapú munkafolyamat kezdeményezése

Miután telepített egy megoldást az adott munkaterheléshez, az utolsó lépés az, hogy automatizálja a folyamatot olyan ütemezés szerint, amely megfelel az egyedi követelményeinek, például napi vagy heti rendszerességgel. A legfontosabb dolog az, hogy eldöntsük, hogyan kezdjük el a folyamatot. Az egyik módszer a Snowflake használata a Step Functions állapotgép meghívására, majd a lépések soros összehangolása. Egy másik megközelítés az állapotgépek összeláncolása és a teljes futtatás elindítása egy Amazon EventBridge szabályt, amelyet úgy konfigurálhat, hogy egy eseményből vagy ütemezett feladatból futjon – például minden vasárnap este 9:00-kor GMT-8.

Következtetés

A legtöbb tapasztalattal; a legmegbízhatóbb, skálázható és biztonságos felhő; és a szolgáltatások és megoldások legátfogóbb készlete, az AWS a legjobb hely arra, hogy értéket szabadítson fel adataiból, és betekintést nyerjen belőle. Ebben a bejegyzésben megmutattuk, hogyan hozhat létre automatizált idősoros előrejelzési munkafolyamatot. A jobb előrejelzés magasabb ügyfélszolgálati eredményeket, kevesebb hulladékot, kevesebb tétlen készletet és több készpénzt eredményezhet a mérlegben.

Ha készen áll az előrejelzések automatizálására és javítására, akkor itt vagyunk, hogy segítsünk Önnek az utazás során. Lépjen kapcsolatba az AWS- vagy Snowflake-fiókcsapattal, hogy kezdje meg még ma, és kérjen egy előrejelzési műhelyt, hogy megtudja, milyen értéket szabadíthat fel adataiból.


A szerzőkről

Automatizálja idősor-előrejelzését a Snowflake szolgáltatásban az Amazon Forecast PlatoBlockchain Data Intelligence segítségével. Függőleges keresés. Ai.Bosco Albuquerque az AWS Sr. Partner Solutions Architect, és több mint 20 éves tapasztalattal rendelkezik a vállalati adatbázis-szállítók és felhőszolgáltatók adatbázis- és elemzési termékeivel kapcsolatban. Segített technológiai cégeknek adatelemzési megoldások és termékek tervezésében és bevezetésében.

Automatizálja idősor-előrejelzését a Snowflake szolgáltatásban az Amazon Forecast PlatoBlockchain Data Intelligence segítségével. Függőleges keresés. Ai.Frank Dallezotte az AWS Sr. Solutions Architect-je, és szenvedélyesen dolgozik független szoftvergyártókkal, hogy méretezhető alkalmazásokat tervezzen és készítsen az AWS-en. Tapasztalattal rendelkezik szoftverek létrehozásában, build-folyamatok megvalósításában és ezen megoldások felhőben történő telepítésében.

Automatizálja idősor-előrejelzését a Snowflake szolgáltatásban az Amazon Forecast PlatoBlockchain Data Intelligence segítségével. Függőleges keresés. Ai.Andries Engelbrecht a Snowflake vezető partner megoldások építésze, és stratégiai partnerekkel dolgozik. Aktívan együttműködik olyan stratégiai partnerekkel, mint az AWS, és támogatja a termék- és szolgáltatásintegrációkat, valamint a partnerekkel közös megoldások kidolgozását. Andries több mint 20 éves tapasztalattal rendelkezik az adatok és az elemzések területén.

Automatizálja idősor-előrejelzését a Snowflake szolgáltatásban az Amazon Forecast PlatoBlockchain Data Intelligence segítségével. Függőleges keresés. Ai.Charles Laughlin AI/ML Specialist Solutions Architect, és az AWS Time Series ML csapatában dolgozik. Segít az Amazon Forecast szolgáltatás ütemtervének kialakításában, és naponta együttműködik különféle AWS-ügyfelekkel, hogy a legkorszerűbb AWS-technológiák és gondolati vezetés segítségével segítse vállalkozásukat átalakítani. Charles a Supply Chain Management szakon szerzett diplomát, és az elmúlt évtizedet a fogyasztói csomagolt áruk iparágában töltötte.

Automatizálja idősor-előrejelzését a Snowflake szolgáltatásban az Amazon Forecast PlatoBlockchain Data Intelligence segítségével. Függőleges keresés. Ai.James Sun Senior Partner Solutions Architect a Snowflake-nél. James több mint 20 éves tapasztalattal rendelkezik a tárolás és az adatelemzés területén. A Snowflake előtt számos vezető műszaki pozíciót töltött be az AWS-nél és a MapR-nél. James a Stanford Egyetemen szerzett PhD fokozatot.

Időbélyeg:

Még több AWS gépi tanulás