Det här inlägget är ett gemensamt samarbete med Andries Engelbrecht och James Sun från Snowflake, Inc.
Cloud computing-revolutionen har gjort det möjligt för företag att fånga och behålla företags- och organisationsdata utan kapacitetsplanering eller datalagringsbegränsningar. Nu, med olika och stora reserver av longitudinell data, kan företag i allt högre grad hitta nya och effektfulla sätt att använda sina digitala tillgångar för att fatta bättre och informerade beslut när de fattar kortsiktiga och långsiktiga planeringsbeslut. Tidsserieprognoser är en unik och viktig vetenskap som gör det möjligt för företag att fatta kirurgiska planeringsbeslut för att balansera kundservicenivåer mot ofta konkurrerande mål om optimal lönsamhet.
På AWS arbetar vi ibland med kunder som valt vår teknikpartner Snöflinga att leverera en molndataplattformsupplevelse. Att ha en plattform som kan återkalla år och år av historisk data är kraftfullt – men hur kan du använda dessa data för att se framåt och använda gårdagens bevis för att planera för morgondagen? Föreställ dig att inte bara ha det som har hänt tillgängligt i Snowflake – din enda version av sanningen – utan också en intilliggande uppsättning icke-siloförsedda data som erbjuder en probabilistisk prognos för dagar, veckor eller månader in i framtiden.
I en samarbetsförsörjningskedja kan informationsdelning mellan partners förbättra prestanda, öka konkurrenskraften och minska slöseri med resurser. Att dela dina framtida prognoser kan underlättas med Snöflinga datadelning, vilket gör det möjligt för dig att sömlöst samarbeta med dina affärspartners på ett säkert sätt och identifiera affärsinsikter. Om många partners delar med sig av sina prognoser kan det hjälpa till att kontrollera bullwhip-effekten i den uppkopplade leveranskedjan. Du kan effektivt använda Snowflake Marketplace för att tjäna pengar på din prediktiva analys från datauppsättningar som produceras i Amazon Prognos.
I det här inlägget diskuterar vi hur man implementerar en automatiserad tidsserieprognoslösning med Snowflake och Forecast.
Viktiga AWS-tjänster som möjliggör denna lösning
Forecast tillhandahåller flera toppmoderna tidsseriealgoritmer och hanterar allokeringen av tillräckligt med distribuerad datorkapacitet för att möta behoven hos nästan vilken arbetsbelastning som helst. Med Forecast får du inte en modell; du får styrkan hos många modeller som är ytterligare optimerade till en unikt viktad modell för varje tidsserie i setet. Kort sagt, tjänsten levererar all vetenskap, datahantering och resurshantering i ett enkelt API-anrop.
AWS stegfunktioner tillhandahåller en processorkestreringsmekanism som hanterar det övergripande arbetsflödet. Tjänsten kapslar in API-anrop med Amazonas Athena, AWS Lambda, och Forecast för att skapa en automatiserad lösning som samlar in data från Snowflake, använder Forecast för att konvertera historisk data till framtida förutsägelser och sedan skapar data inuti Snowflake.
Athena federerade frågor kan ansluta till flera företagsdatakällor, inklusive Amazon DynamoDB, Amazon RedShift, Amazon OpenSearch Service, MySQL, PostgreSQL, Redis och andra populära databutiker från tredje part, som Snowflake. Dataanslutningar körs som Lambda-funktioner – du kan använda den här källkoden för att starta Amazon Athena Lambda Snowflake Connector och anslut med AWS PrivateLink eller genom en NAT Gateway.
Lösningsöversikt
En av de saker vi ofta gör på AWS är att arbeta för att hjälpa kunder att förverkliga sina mål samtidigt som de tar bort bördan av de odifferentierade tunga lyften. Med detta i åtanke föreslår vi följande lösning för att hjälpa AWS- och Snowflake-kunder att utföra följande steg:
- Exportera data från Snowflake. Du kan använda flexibel metadata för att ladda ner nödvändig historisk data som drivs av ett färdigt arbetsflöde.
- Importera data till Forecast. Oavsett användningsfall, bransch eller skala är det enkelt och automatiserat att importera förberedda datainmatningar.
- Träna en toppmodern tidsseriemodell. Du kan automatisera tidsserieprognoser utan att hantera den underliggande datavetenskapen eller maskinvaruförsörjningen.
- Generera slutsatser mot den tränade modellen. Prognosproducerade utdata är lätta att konsumera för alla ändamål. De är tillgängliga som enkla CSV- eller Parkettfiler på Amazon enkel lagringstjänst (Amazon S3).
- Använd historik och framtida förutsägelser sida vid sida direkt i Snowflake.
Följande diagram illustrerar hur man implementerar ett automatiserat arbetsflöde som gör att Snowflake-kunder kan dra nytta av mycket exakta tidsserieförutsägelser som stöds av Forecast, en AWS-hanterad tjänst. Designen som erbjuds här överskrider användningsfall och bransch, och extraherar först historiska data från Snowflake. Därefter skickar arbetsflödet de förberedda data för tidsserieberäkning. Slutligen är framtida periodförutsägelser tillgängliga i Snowflake, vilket skapar en sömlös användarupplevelse för gemensamma AWS- och Snowflake-kunder.
Även om denna arkitektur bara lyfter fram de viktigaste tekniska detaljerna är lösningen enkel att sätta ihop, ibland inom 1–2 arbetsdagar. Vi förser dig med fungerande exempelkod för att ta bort de odifferentierade tunga lyften av att skapa lösningen ensam och utan försprång. När du har upptäckt hur du implementerar det här mönstret för en arbetsbelastning kan du upprepa prognostiseringsprocessen för all data som finns i Snowflake. I avsnitten som följer beskriver vi de viktigaste stegen som gör att du kan bygga en automatiserad pipeline.
Extrahera historiska data från Snowflake
I det här första steget använder du SQL för att definiera vilken data du vill ha prognostiserat och låter en Athena Federated Query ansluta till Snowflake, köra din anpassade SQL och bevara den resulterande posten på Amazon S3. Prognos kräver att historisk träningsdata är tillgänglig på Amazon S3 före intag; därför fungerar Amazon S3 som en mellanlagringsbuffert mellan Snowflake och Forecast. Vi har Athena i denna design för att möjliggöra Snowflake och andra heterogena datakällor. Om du föredrar, är ett annat tillvägagångssätt att använda kommandot Snowflake COPY och lagringsintegration för att skriva frågeresultat till Amazon S3.
Oavsett vilken transportmekanism som används, beskriver vi nu vilken typ av data som prognosen behöver och hur data definieras, förbereds och extraheras. I avsnittet som följer beskriver vi hur du importerar data till Forecast.
Följande skärmdump visar hur en uppsättning data kan se ut i dess ursprungliga Snowflake-schema.
Även om den här skärmdumpen visar hur data ser ut i sitt naturliga tillstånd, kräver Forecast att data formas till tre olika datamängder:
- Måltidsserie – Detta är en obligatorisk datauppsättning som innehåller målvariabeln och används för att träna och förutsäga ett framtida värde. Ensam fungerar denna datauppsättning som en univariat tidsseriemodell.
- Relaterad tidsserie – Detta är en valfri datauppsättning som innehåller tidsvariabler som bör ha en relation till målvariabeln. Exempel inkluderar rörlig prissättning, marknadsföringsinsatser, hyperlokal händelsetrafik, ekonomiska utsikter – allt du känner kan hjälpa till att förklara variansen i måltidsserien och producera en bättre prognos. Den relaterade tidsserieuppsättningen förvandlar din univariata modell till en multivariat för att förbättra noggrannheten.
- Objektmetadata – Detta är en valfri datauppsättning som innehåller kategorisk data om det prognostiserade objektet. Artikelmetadata hjälper ofta till att öka prestandan för nylanserade produkter, som vi kallar en kall start.
Med omfattningen av var och en av prognosdatauppsättningarna definierade kan du skriva frågor i Snowflake som hämtar de korrekta datafälten från de nödvändiga källtabellerna med rätt filter för att få önskad delmängd av data. Följande är tre exempel på SQL-frågor som används för att generera varje datauppsättning som Forecast behöver för ett specifikt scenario för planering av matefterfrågan.
Vi börjar med måltidsseriefrågan:
Den valfria relaterade tidsseriefrågan drar kovariater som pris och kampanj:
Objektmetadatafrågan hämtar distinkta kategorivärden som hjälper till att ge dimension och ytterligare definiera det prognostiserade objektet:
Med källfrågorna definierade kan vi ansluta till Snowflake genom en Athena Federated Query för att skicka frågorna och bevara de resulterande datamängderna för användning i prognoser. För mer information, se Fråga Snowflake med Athena Federated Query och gå med data i din Amazon S3 -datasjö.
Smakämnen Athena Snowflake Connector GitHub repo hjälper till att installera Snowflake-kontakten. De Prognos MLOps GitHub repo hjälper till att orkestrera alla makrosteg som definieras i det här inlägget och gör dem repeterbara utan att skriva kod.
Importera data till Forecast
När vi har slutfört det föregående steget finns en måltidsseriedatauppsättning i Amazon S3 och redo för import till Forecast. Dessutom kan de valfria relaterade tidsserierna och metadatauppsättningarna för objekt också vara förberedda och redo för intag. Med det tillhandahållna Prognos MLOps lösning, allt du behöver göra här är att initiera tillståndsmaskinen för stegfunktioner som ansvarar för att importera data – ingen kod behövs. Forecast lanserar ett kluster för var och en av de datauppsättningar du har tillhandahållit och gör data redo för tjänsten att använda för ML-modellbyggnad och modellslutledning.
Skapa en tidsserie ML-modell med noggrannhetsstatistik
Efter att data har importerats skapas mycket exakta tidsseriemodeller helt enkelt genom att anropa ett API. Detta steg är inkapslat inuti en Step Functions-tillståndsmaskin som initierar Forecast API för att starta modellträning. Efter att prediktormodellen har tränats exporterar tillståndsmaskinen modellstatistiken och förutsägelserna under backtestfönstret till Amazon S3. Backtest-exporter kan förfrågas av Snowflake som ett externt steg, som visas i följande skärmdump. Om du föredrar det kan du lagra data i ett internt skede. Poängen är att använda backtest-måtten för att utvärdera prestandaspridningen av tidsserier i din datauppsättning.
Skapa framtida förutsägelser
Med modellen tränad från föregående steg anropar en specialbyggd Step Functions-tillståndsmaskin Forecast API för att skapa framtidsdaterade prognoser. Prognos tillhandahåller ett kluster för att utföra slutsatsen och drar de importerade måltidsserierna, relaterade tidsserier och objektmetadatauppsättningar genom en namngiven prediktormodell som skapades i föregående steg. Efter att förutsägelserna har genererats, skriver tillståndsmaskinen dem till Amazon S3, där de återigen kan frågas på plats som en Snowflake extern scen eller flyttas till Snowflake som en intern scen.
Använd framtidsdaterad förutsägelsedata direkt i Snowflake
AWS har inte byggt en helt automatiserad lösning för detta steg; Men med lösningen i det här inlägget producerades data redan av Forecast i de två föregående stegen. Du kan behandla utdata som handlingsbara händelser eller bygga business intelligence-instrumentpaneler på data. Du kan också använda data för att skapa framtida tillverkningsplaner och inköpsorder, uppskatta framtida intäkter, bygga personalresursplaner och mer. Varje användningsfall är olika, men poängen med det här steget är att leverera förutsägelserna till rätt konsumerande system i din organisation eller utanför.
Följande kodavsnitt visar hur man frågar Amazon S3-data direkt från Snowflake:
För mer information om hur du ställer in behörigheter, se Alternativ 1: Konfigurera en Snowflake Storage Integration för att komma åt Amazon S3. Dessutom kan du använda AWS servicekatalog för att konfigurera Amazon S3-lagringsintegration; mer information finns på GitHub repo.
Initiera ett schemabaserat eller händelsebaserat arbetsflöde
När du har installerat en lösning för din specifika arbetsbelastning är ditt sista steg att automatisera processen enligt ett schema som är vettigt för ditt unika krav, till exempel dagligen eller veckovis. Det viktigaste är att bestämma hur processen ska startas. En metod är att använda Snowflake för att anropa tillståndsmaskinen Step Functions och sedan orkestrera stegen i serie. Ett annat tillvägagångssätt är att koppla samman tillståndsmaskiner och starta den övergripande körningen genom en Amazon EventBridge regel, som du kan konfigurera så att den körs från en händelse eller schemalagd uppgift – till exempel klockan 9:00 GMT-8 varje söndagskväll.
Slutsats
Med mest erfarenhet; det mest pålitliga, skalbara och säkra molnet; och den mest omfattande uppsättningen tjänster och lösningar, AWS är det bästa stället att låsa upp värde från din data och omvandla den till insikt. I det här inlägget visade vi dig hur du skapar ett automatiskt arbetsflöde för tidsserieprognoser. Bättre prognoser kan leda till högre kundserviceresultat, mindre avfall, mindre ledigt lager och mer kassa på balansräkningen.
Om du är redo att automatisera och förbättra prognoser finns vi här för att hjälpa dig på din resa. Kontakta ditt AWS- eller Snowflake-kontoteam för att komma igång idag och be om en prognosverkstad för att se vilken typ av värde du kan låsa upp från din data.
Om författarna
Bosco Albuquerque är Sr. Partner Solutions Architect på AWS och har över 20 års erfarenhet av att arbeta med databas- och analysprodukter från företagsdatabasleverantörer och molnleverantörer. Han har hjälpt teknikföretag att designa och implementera dataanalyslösningar och produkter.
Frank Dallezotte är Sr. Solutions Architect på AWS och brinner för att arbeta med oberoende mjukvaruleverantörer för att designa och bygga skalbara applikationer på AWS. Han har erfarenhet av att skapa mjukvara, implementera pipelines och distribuera dessa lösningar i molnet.
Andries Engelbrecht är Principal Partner Solutions Architect på Snowflake och arbetar med strategiska partners. Han är aktivt engagerad med strategiska partners som AWS som stödjer produkt- och tjänsteintegrationer samt utveckling av gemensamma lösningar med partners. Andries har över 20 års erfarenhet inom området data och analys.
Charles Laughlin är en Principal AI/ML Specialist Solutions Architect och arbetar i Time Series ML-teamet på AWS. Han hjälper till att forma Amazon Forecast-tjänstens färdplan och samarbetar dagligen med olika AWS-kunder för att hjälpa till att transformera deras företag med hjälp av avancerad AWS-teknik och tankeledarskap. Charles har en MS i Supply Chain Management och har under det senaste decenniet arbetat i industrin för konsumentförpackade varor.
James Sun är Senior Partner Solutions Architect på Snowflake. James har över 20 års erfarenhet av lagring och dataanalys. Innan Snowflake hade han flera ledande tekniska befattningar på AWS och MapR. James har en doktorsexamen från Stanford University.
- AI
- ai konst
- ai art generator
- har robot
- Amazonas Athena
- Amazon Prognos
- artificiell intelligens
- artificiell intelligenscertifiering
- artificiell intelligens inom bankväsendet
- artificiell intelligens robot
- robotar med artificiell intelligens
- programvara för artificiell intelligens
- AWS molnformation
- AWS maskininlärning
- AWS stegfunktioner
- blockchain
- blockchain konferens ai
- coingenius
- konversationskonstnärlig intelligens
- CpG
- kryptokonferens ai
- dalls
- djupt lärande
- du har google
- maskininlärning
- Produktion
- plato
- plato ai
- Platon Data Intelligence
- Platon spel
- PlatonData
- platogaming
- detaljhandeln
- skala ai
- syntax
- Teknisk instruktion
- Tidsföljder
- zephyrnet