Tijdreeksvoorspelling verwijst naar het proces van het voorspellen van toekomstige waarden van tijdreeksgegevens (gegevens die met regelmatige tussenpozen in de loop van de tijd worden verzameld). Eenvoudige methoden voor tijdreeksprognoses gebruiken historische waarden van dezelfde variabele waarvan de toekomstige waarden moeten worden voorspeld, terwijl complexere, op machine learning (ML) gebaseerde methoden aanvullende informatie gebruiken, zoals de tijdreeksgegevens van gerelateerde variabelen.
Amazon voorspelling is een op ML gebaseerde prognoseservice voor tijdreeksen die algoritmen bevat die zijn gebaseerd op meer dan 20 jaar prognose-ervaring die wordt gebruikt door Amazon.com, waardoor dezelfde technologie die bij Amazon wordt gebruikt naar ontwikkelaars wordt gebracht als een volledig beheerde service, waardoor het niet langer nodig is om bronnen te beheren. Forecast gebruikt ML om niet alleen het beste algoritme voor elk item te leren, maar ook het beste ensemble van algoritmen voor elk item, waardoor automatisch het beste model voor uw gegevens wordt gemaakt.
In dit bericht wordt beschreven hoe u terugkerende Forecast-workloads (time series forecasting-workloads) kunt implementeren zonder code te gebruiken AWS CloudFormatie, AWS Stap Functies en AWS-systeembeheerder. De hier gepresenteerde methode helpt u bij het bouwen van een pijplijn waarmee u dezelfde workflow kunt gebruiken vanaf de eerste dag van uw time series-prognose-experimenten tot en met de implementatie van het model in productie.
Tijdreeksprognoses met behulp van Forecast
De workflow voor Forecast omvat de volgende algemene concepten:
- Datasets importeren – In Voorspelling, een dataset groep is een verzameling datasets, schema's en prognoseresultaten die bij elkaar horen. Elke datasetgroep kan maximaal drie datasets hebben, één van elk dataset type: doeltijdreeksen (TTS), gerelateerde tijdreeksen (RTS) en itemmetadata. Een gegevensset is een verzameling bestanden die gegevens bevatten die relevant zijn voor een prognosetaak. Een dataset moet voldoen aan het schema dat is gedefinieerd in Forecast. Voor meer details, zie Gegevenssets importeren.
- Voorspellers trainen - A voorspeller is een op prognoses getraind model dat wordt gebruikt voor het maken van prognoses op basis van tijdreeksgegevens. Tijdens de training berekent Forecast nauwkeurigheidsstatistieken die u gebruikt om de voorspelling te evalueren en te beslissen of u de voorspelling wilt gebruiken om een prognose te genereren. Voor meer informatie, zie Voorspellers trainen.
- Prognoses genereren – U kunt het getrainde model vervolgens gebruiken voor het genereren van prognoses voor een toekomstige tijdshorizon, ook wel bekend als de prognosehorizon. Forecast biedt prognoses op verschillende gespecificeerde kwantielen. Een voorspelling op het 0.90-kwantiel zal bijvoorbeeld 90% van de tijd een waarde schatten die lager is dan de waargenomen waarde. Prognose gebruikt standaard de volgende waarden voor de prognosetypes van de voorspelling: 0.1 (P10), 0.5 (P50) en 0.9 (P90). Prognoses met verschillende kwantielen worden meestal gebruikt om een voorspellingsinterval te geven (een boven- en ondergrens voor prognoses) om rekening te houden met de onzekerheid van de prognose.
U kunt deze workflow implementeren in Forecast vanuit de AWS-beheerconsole AWS-opdrachtregelinterface (AWS CLI), via API-aanroepen met behulp van Python-notebooks, of via automatiseringsoplossingen. De console en AWS CLI methoden zijn het meest geschikt voor snelle experimenten om de haalbaarheid van tijdreeksprognoses met uw gegevens te controleren. De Python-notebookmethode is geweldig voor datawetenschappers die al bekend zijn met Jupyter-notebooks en codering, en biedt maximale controle en afstemming. De op notebooks gebaseerde methode is echter moeilijk te operationaliseren. Onze automatiseringsaanpak maakt snel experimenteren mogelijk, elimineert repetitieve taken en zorgt voor een eenvoudigere overgang tussen verschillende omgevingen (ontwikkeling, staging, productie).
In dit bericht beschrijven we een automatiseringsbenadering voor het gebruik van Forecast waarmee u uw eigen gegevens kunt gebruiken en een enkele workflow biedt die u naadloos kunt gebruiken gedurende de hele levenscyclus van de ontwikkeling van uw prognoseoplossing, vanaf de eerste dagen van experimenteren tot en met de implementatie van de oplossing in uw productieomgeving.
Overzicht oplossingen
In de volgende secties beschrijven we een volledige end-to-end-workflow die dient als een sjabloon die moet worden gevolgd voor de geautomatiseerde implementatie van prognosemodellen voor tijdreeksen met behulp van Forecast. Deze workflow creëert voorspelde datapunten uit een open-source invoerdataset; u kunt echter dezelfde workflow gebruiken voor uw eigen gegevens, zolang u uw gegevens kunt formatteren volgens de stappen die in dit bericht worden beschreven. Nadat u de gegevens hebt geüpload, leiden we u door de stappen om groepen met prognosegegevenssets te maken, gegevens te importeren, ML-modellen te trainen en voorspelde gegevenspunten te produceren op toekomstige ongeziene tijdshorizonten op basis van onbewerkte gegevens. Dit alles is mogelijk zonder code te hoeven schrijven of compileren.
Het volgende diagram illustreert de prognoseworkflow.
De oplossing wordt geïmplementeerd met behulp van twee CloudFormation-sjablonen: de afhankelijkheden-sjabloon en de werklast-sjabloon. CloudFormation stelt u in staat om AWS-infrastructuurimplementaties voorspelbaar en herhaaldelijk uit te voeren door sjablonen te gebruiken die de in te zetten middelen beschrijven. Een geïmplementeerde sjabloon wordt een stack. We hebben ervoor gezorgd dat de infrastructuur in de oplossing voor u is gedefinieerd in de twee meegeleverde sjablonen. De afhankelijkhedensjabloon definieert vereiste resources die worden gebruikt door de werkbelastingsjabloon, zoals een Amazon eenvoudige opslagservice (Amazon S3) emmer voor objectopslag en AWS Identiteits- en toegangsbeheer (IAM) machtigingen voor AWS API-acties. De resources die zijn gedefinieerd in de afhankelijkhedensjabloon, kunnen worden gedeeld door meerdere werklastsjablonen. De werkbelastingsjabloon definieert de resources die worden gebruikt om gegevens op te nemen, een voorspeller te trainen en een prognose te genereren.
Implementeer de afhankelijkheden CloudFormation-sjabloon
Laten we eerst de afhankelijkhedensjabloon implementeren om onze vereiste resources te maken. De afhankelijkhedensjabloon implementeert een optionele S3-bucket, AWS Lambda functies en IAM-rollen. Amazon S3 is een goedkope, zeer beschikbare, veerkrachtige objectopslagservice. We gebruiken een S3-bucket in deze oplossing om brongegevens op te slaan en de workflow te activeren, wat resulteert in een prognose. Lambda is een serverloze, gebeurtenisgestuurde rekenservice waarmee u code kunt uitvoeren zonder servers in te richten of te beheren. De afhankelijkhedensjabloon bevat functies om dingen te doen zoals het maken van een gegevenssetgroep in Forecast en het opschonen van objecten binnen een S3-bucket voordat de bucket wordt verwijderd. IAM-rollen definiëren machtigingen binnen AWS voor gebruikers en services. De afhankelijkheidssjabloon implementeert een rol die door Lambda moet worden gebruikt en een andere voor Step Functions, een workflowbeheerservice die de taken van gegevensopname en -verwerking coördineert, evenals voorspellende training en inferentie met behulp van Forecast.
Voer de volgende stappen uit om de afhankelijkhedensjabloon te implementeren:
- Selecteer op de console de gewenste Regio ondersteund door Forecast voor implementatie van oplossingen.
- Kies op de AWS CloudFormation-console Stacks in het navigatievenster.
- Kies Maak een stapel En kies Met nieuwe middelen (standaard).
- Voor Sjabloonbronselecteer Amazon S3-URL.
- Voer de sjabloon-URL in:
https://amazon-forecast-samples.s3.us-west-2.amazonaws.com/ml_ops/forecast-mlops-dependency.yaml
. - Kies Volgende.
- Voor Stack naam, ga naar binnen
forecast-mlops-dependency
. - Onder parameters, kies ervoor om een bestaande S3-bucket te gebruiken of maak een nieuwe en geef vervolgens de naam van de bucket op.
- Kies Volgende.
- Kies Volgende om de standaard stapelopties te accepteren.
- Schakel het selectievakje in om te bevestigen dat de stapel IAM-resources maakt en kies vervolgens Maak een stapel om de sjabloon te implementeren.
U zou de sjabloon moeten zien implementeren als de forecast-mlops-dependency
stapel. Wanneer de status verandert in CREATE_COMPLETE
, kunt u doorgaan naar de volgende stap.
Implementeer de werkbelasting CloudFormation-sjabloon
Laten we vervolgens de werkbelastingsjabloon implementeren om onze vereiste resources te maken. De werkbelastingsjabloon implementeert Step Functions-statusmachines voor werkstroombeheer, AWS Systems Manager-parameteropslag parameters om parameterwaarden van AWS CloudFormation op te slaan en de workflow te informeren, een Amazon eenvoudige meldingsservice (Amazon SNS) onderwerp voor werkstroommeldingen en een IAM-rol voor machtigingen voor werkstroomservices.
De oplossing creëert vijf toestandsmachines:
- CreateDatasetGroupStateMachine – Creëert een Prognose-gegevenssetgroep waarin gegevens kunnen worden geïmporteerd.
- CreateImportDatasetStateMachine – Importeert brongegevens van Amazon S3 in een datasetgroep voor training.
- MaakForecastStateMachine - Beheert de taken die nodig zijn om een voorspeller te trainen en een prognose te genereren.
- AthenaConnectorStateMachine - Stelt u in staat om SQL-query's te schrijven met de Amazone Athene connector om gegevens in Amazon S3 te landen. Dit is een optioneel proces om historische gegevens in het vereiste formaat voor Forecast te verkrijgen door Athena te gebruiken in plaats van bestanden handmatig in Amazon S3 te plaatsen.
- StapFunctieWorkflowStateMachine - Coördineert oproepen naar de andere vier statusmachines en beheert de algehele workflow.
Parameter Store, een mogelijkheid van Systems Manager, biedt veilige, hiërarchische opslag en programmatisch ophalen van configuratiegegevensbeheer en geheimenbeheer. Parameter Store wordt gebruikt om parameters op te slaan die zijn ingesteld in de workloadstack, evenals andere parameters die door de werkstroom worden gebruikt.
Voer de volgende stappen uit om de werkbelastingsjabloon te implementeren:
- Kies op de AWS CloudFormation-console Stacks in het navigatievenster.
- Kies Maak een stapel En kies Met nieuwe middelen (standaard).
- Voor Sjabloonbronselecteer Amazon S3-URL.
- Voer de sjabloon-URL in:
https://amazon-forecast-samples.s3.us-west-2.amazonaws.com/ml_ops/forecast-mlops-solution-guidance.yaml
. - Kies Volgende.
- Voor Stack naam, voer een naam in.
- Accepteer de standaardwaarden of wijzig de parameters.
Zorg ervoor dat u de S3-bucketnaam invoert uit de afhankelijkhedenstapel voor S3-emmer en een geldig e-mailadres voor SNS Eindpunt zelfs als u de standaard parameterwaarden accepteert.
In de volgende tabel wordt elke parameter beschreven.
Parameter | Omschrijving | Meer informatie |
DatasetGroupFrequencyRTS |
De frequentie van gegevensverzameling voor de RTS-gegevensset. | . |
DatasetGroupFrequencyTTS |
De frequentie van gegevensverzameling voor de TTS-gegevensset. | . |
DatasetGroupName |
Een korte naam voor de datasetgroep, een op zichzelf staande werkbelasting. | CreateDatasetGroup |
DatasetIncludeItem |
Geef op of u itemmetadata voor deze use case wilt verstrekken. | . |
DatasetIncludeRTS |
Geef op of u een gerelateerde tijdreeks voor deze use case wilt opgeven. | . |
ForecastForecastTypes |
Wanneer een CreateForecast-taak wordt uitgevoerd, wordt hiermee aangegeven voor welke kwantielen voorspellingen moeten worden gemaakt. U kunt maximaal vijf waarden in deze matrix kiezen. Bewerk deze waarde om waarden naar behoefte op te nemen. | Maak een voorspelling |
PredictorAttributeConfigs |
Voor de doelvariabele in TTS en elk numeriek veld in de RTS-datasets moet voor elk tijdsinterval voor elk item een record worden aangemaakt. Deze configuratie helpt bepalen hoe ontbrekende records worden ingevuld: met 0, NaN of anders. We raden aan om de gaten in de TTS op te vullen met NaN in plaats van 0. Met 0 kan het model ten onrechte leren om prognoses naar 0 te vertekenen. NaN is hoe de begeleiding wordt geleverd. Raadpleeg bij vragen hierover uw AWS Solutions Architect. | AutoPredictor maken |
PredictorExplainPredictor |
Geldige waarden zijn TRUE of FALSE. Deze bepalen of verklaarbaarheid is ingeschakeld voor uw voorspeller. Dit kan u helpen begrijpen hoe waarden in de RTS en itemmetadata het model beïnvloeden. | Uitlegbaarheid |
PredictorForecastDimensions |
Misschien wilt u met een fijnere korrel dan het item voorspellen. Hier kunt u dimensies specificeren zoals locatie, kostenplaats of wat uw behoeften ook zijn. Deze moet overeenkomen met de afmetingen in uw RTS en TTS. Merk op dat als u geen dimensie heeft, de juiste parameter null is, op zichzelf en in kleine letters. null is een gereserveerd woord dat het systeem laat weten dat er geen parameter voor de dimensie is. | AutoPredictor maken |
PredictorForecastFrequency |
Definieert de tijdschaal waarop uw model en voorspellingen worden gegenereerd, bijvoorbeeld dagelijks, wekelijks of maandelijks. Het vervolgkeuzemenu helpt u bij het kiezen van toegestane waarden. Dit moet overeenkomen met uw RTS-tijdschaal als u RTS gebruikt. | AutoPredictor maken |
PredictorForecastHorizon |
Het aantal tijdstappen dat het model voorspelt. De prognosehorizon wordt ook wel de voorspelling lengte. | AutoPredictor maken |
PredictorForecastOptimizationMetric |
Definieert de nauwkeurigheidsmetriek die wordt gebruikt om de voorspelling te optimaliseren. Het vervolgkeuzemenu helpt u bij het selecteren van gewogen kwantielverliessaldi voor over- of ondervoorspelling. RMSE houdt zich bezig met eenheden en WAPE/MAPE houdt zich bezig met procentuele fouten. | AutoPredictor maken |
PredictorForecastTypes |
Wanneer een CreateAutoPredictor job runs, dit verklaart welke kwantielen worden gebruikt om voorspellingspunten te trainen. U kunt maximaal vijf waarden in deze matrix kiezen, zodat u een balans kunt vinden tussen over- en onderprognoses. Bewerk deze waarde om waarden naar behoefte op te nemen. |
AutoPredictor maken |
S3Bucket |
De naam van de S3-bucket waar invoergegevens en uitvoergegevens voor deze werkbelasting worden geschreven. | . |
SNSEndpoint |
Een geldig e-mailadres om meldingen te ontvangen wanneer de predictor- en prognosetaken zijn voltooid. | . |
SchemaITEM |
Dit definieert de fysieke volgorde, kolomnamen en gegevenstypen voor uw gegevensset met metagegevens van items. Dit is een optioneel bestand in het oplossingsvoorbeeld. | Gegevensset maken |
SchemaRTS |
Dit definieert de fysieke volgorde, kolomnamen en gegevenstypen voor uw RTS-gegevensset. De afmetingen moeten overeenkomen met uw TTS. De time-grain van dit bestand regelt de time-grain waarop voorspellingen kunnen worden gedaan. Dit is een optioneel bestand dat wordt geleverd in het oplossingsvoorbeeld. | Gegevensset maken |
SchemaTTS |
Dit definieert de fysieke volgorde, kolomnamen en gegevenstypen voor uw TTS-gegevensset, de enige vereiste gegevensset. Het bestand moet minimaal een doelwaarde, tijdstempel en item bevatten. | Gegevensset maken |
TimestampFormatRTS |
Definieert de tijdstempelindeling in het RTS-bestand. | CreateDatasetImportJob |
TimestampFormatTTS |
Definieert de tijdstempelindeling in het TTS-bestand. | CreateDatasetImportJob |
- Kies Volgende om de standaard stapelopties te accepteren.
- Schakel het selectievakje in om te bevestigen dat de stapel IAM-resources maakt en kies vervolgens Maak een stapel om de sjabloon te implementeren.
U zou de sjabloon moeten zien implementeren als de stapelnaam die u eerder hebt gekozen. Wanneer de status verandert in CREATE_COMPLETE
, kunt u doorgaan naar de stap voor het uploaden van gegevens.
Upload de gegevens
In het vorige gedeelte hebt u een stapelnaam en een S3-bucket opgegeven. In dit gedeelte wordt beschreven hoe u de openbaar beschikbare dataset kunt deponeren Voedselvraag in deze emmer. Als u uw eigen gegevensset gebruikt, raadpleegt u datasets om uw dataset voor te bereiden in een indeling die de implementatie verwacht. De dataset moet minimaal de doeltijdreeks bevatten, en optioneel de gerelateerde tijdreeks en de metadata van het item:
- TTS zijn de tijdreeksgegevens die het veld bevatten waarvoor u een prognose wilt genereren; dit veld heet de doel veld
- RTS is tijdreeksgegevens die niet het doelveld bevatten, maar een gerelateerd veld
- Het itemgegevensbestand is geen tijdreeksgegevens, maar bevat metagegevensinformatie over de items in de TTS- of RTS-gegevenssets
Voer de volgende stappen uit:
- Als u de verstrekte voorbeelddataset gebruikt, downloadt u de dataset Voedselvraag naar uw computer en pak het bestand uit, waardoor er drie bestanden in drie mappen worden gemaakt (
rts
,tts
,item
). - Navigeer op de Amazon S3-console naar de bucket die u eerder hebt gemaakt.
- Kies Maak een map.
- Gebruik dezelfde tekenreeks als de stapelnaam van uw werklast voor de mapnaam.
- Kies Uploaden.
- Kies de drie datasetmappen en kies vervolgens Uploaden.
Wanneer het uploaden is voltooid, zou u zoiets als de volgende schermafbeelding moeten zien. Voor dit voorbeeld is onze map aiml42
.
Maak een Prognose-gegevenssetgroep
Voltooi de stappen in deze sectie om een gegevenssetgroep te maken als een eenmalige gebeurtenis voor elke werkbelasting. In de toekomst moet u plannen om de importgegevens uit te voeren, een voorspeller te maken en indien nodig prognosestappen te maken, als een reeks, volgens uw planning, die dagelijks, wekelijks of anderszins kan zijn.
- Zoek op de Step Functions-console de statusmachine met
Create-Dataset-Group
. - Kies op de detailpagina van de statusmachine Start de uitvoering.
- Kies Start de uitvoering nogmaals om te bevestigen.
De toestandsmachine duurt ongeveer 1 minuut om te draaien. Als het voltooid is, wordt de waarde onder Uitvoeringsstatus moet veranderen van Hardlopen naar Langs
Gegevens importeren in Prognose
Volg de stappen in dit gedeelte om de dataset die u naar uw S3-bucket hebt geüpload, te importeren in uw datasetgroep:
- Zoek op de Step Functions-console de statusmachine met
Import-Dataset
. - Kies op de detailpagina van de statusmachine Uitvoering starten.
- Kies Start de uitvoering nogmaals om te bevestigen.
De hoeveelheid tijd die de toestandsmachine nodig heeft om te draaien, is afhankelijk van de dataset die wordt verwerkt.
- Terwijl dit actief is, opent u in uw browser een ander tabblad en navigeert u naar de Forecast-console.
- Kies in de prognoseconsole Datasetgroepen bekijken en navigeer naar de datasetgroep met de opgegeven naam voor
DataGroupName
van uw workloadstack. - Kies Bekijk datasets.
U zou moeten zien dat de gegevensimport bezig is.
Wanneer de staatsmachine voor Import-Dataset
is voltooid, kunt u doorgaan naar de volgende stap om uw tijdreeksgegevensmodel te bouwen.
AutoPredictor maken (een tijdreeksmodel trainen)
In deze sectie wordt beschreven hoe u een initiële voorspeller kunt trainen met Forecast. U kunt ervoor kiezen om een nieuwe voorspeller te maken (uw eerste basisvoorspeller) of een voorspeller opnieuw te trainen tijdens elke productiecyclus, wat dagelijks, wekelijks of anderszins kan zijn. U kunt er ook voor kiezen om niet elke cyclus een voorspeller te maken en te vertrouwen op voorspellingsmonitoring om u te begeleiden wanneer u er een moet maken. De volgende afbeelding visualiseert het proces van het maken van een Prognose-voorspeller die gereed is voor productie.
Voer de volgende stappen uit om een nieuwe voorspelling te maken:
- Zoek op de Step Functions-console de statusmachine met
Create-Predictor
. - Kies op de detailpagina van de statusmachine Uitvoering starten.
- Kies Start de uitvoering nogmaals om te bevestigen.
De hoeveelheid runtime kan afhangen van de dataset die wordt verwerkt. Dit kan tot een uur of langer duren. - Terwijl dit actief is, opent u in uw browser een ander tabblad en navigeert u naar de Forecast-console.
- Kies in de prognoseconsole Datasetgroepen bekijken en navigeer naar de datasetgroep met de opgegeven naam voor
DataGroupName
van uw workloadstack. - Kies Bekijk voorspellers.
U zou de voortgang van de voorspellende training moeten zien (Trainingsstatus toont "Create in progress...").
Wanneer de staatsmachine voor Create-Predictor
voltooid is, kunt u de prestaties evalueren.
Als onderdeel van de toestandsmachine maakt het systeem een voorspeller en voert het ook een BacktestExport
taak die voorspellingsstatistieken op tijdreeksniveau wegschrijft naar Amazon S3. Dit zijn bestanden in twee S3-mappen onder de backtest-export
map:
- nauwkeurigheid-metriek-waarden - Biedt metrische berekeningen op itemniveau, zodat u de prestaties van een enkele tijdreeks kunt begrijpen. Hierdoor kunt u de verspreiding onderzoeken in plaats van u alleen te concentreren op de wereldwijde statistieken.
- voorspelde waarden – Biedt voorspellingen op stapniveau voor elke tijdreeks in het backtest-venster. Hierdoor kunt u de werkelijke doelwaarde van een holdout-testset vergelijken met de voorspelde kwantielwaarden. Door dit te bekijken, kunt u ideeën formuleren over hoe aanvullende gegevensfuncties in RTS of itemmetadata kunnen worden geboden om toekomstige waarden beter in te schatten en verlies verder te verminderen. U mag downloaden
backtest-export
bestanden van Amazon S3 of vraag ze op hun plaats met Athena.
Met uw eigen gegevens moet u de uitkomsten van de voorspelling nauwlettend inspecteren en ervoor zorgen dat de statistieken voldoen aan uw verwachte resultaten door de backtest-exportgegevens te gebruiken. Als u tevreden bent, kunt u beginnen met het genereren van voorspellingen met een toekomstige datum, zoals beschreven in de volgende sectie.
Genereer een prognose (gevolgtrekking over toekomstige tijdshorizons)
In dit gedeelte wordt beschreven hoe u prognosegegevenspunten kunt genereren met Forecast. In de toekomst moet u nieuwe gegevens uit het bronsysteem verzamelen, de gegevens in Forecast importeren en vervolgens prognosegegevenspunten genereren. Optioneel kunt u ook een nieuwe aanmaak van een voorspelling invoegen na het importeren en vóór de voorspelling. De volgende afbeelding visualiseert het proces van het maken van productietijdreeksprognoses met behulp van Forecast.
Voer de volgende stappen uit:
- Zoek op de Step Functions-console de statusmachine met
Create-Forecast
. - Kies op de detailpagina van de statusmachine Uitvoering starten.
- Kies Start de uitvoering nogmaals om te bevestigen.
Deze toestandsmachine is zeer snel voltooid omdat het systeem niet is geconfigureerd om een prognose te genereren. Het weet niet welk voorspellingsmodel u hebt goedgekeurd voor inferentie.
Laten we het systeem configureren om uw getrainde voorspeller te gebruiken. - Zoek in de Forecast-console de ARN voor uw voorspelling.
- Kopieer de ARN om in een latere stap te gebruiken.
- Open een ander tabblad in uw browser en navigeer naar de Systems Manager-console.
- Kies op de Systems Manager-console Parameter opslaan in het navigatievenster.
- Zoek de parameter gerelateerd aan uw stapel (
/forecast/<StackName>/Forecast/PredictorArn
). - Voer de ARN in die u voor uw voorspelling hebt gekopieerd.
Zo associeer je een getrainde predictor met de deductiefunctie van Forecast. - Zoek de parameter
/forecast/<StackName>/Forecast/Generate
en bewerk de waarde, vervangenFALSE
MetTRUE
.
U bent nu klaar om een prognosetaak uit te voeren voor deze gegevenssetgroep. - Voer op de Step Functions-console het
Create-Forecast
staat machine.
Deze keer wordt de taak uitgevoerd zoals verwacht. Als onderdeel van de toestandsmachine maakt het systeem een prognose en een ForecastExport
job, die tijdreeksvoorspellingen uitschrijft naar Amazon S3. Deze bestanden bevinden zich in de forecast
map
Binnen forecast
map, vindt u voorspellingen voor uw items, die zich in veel CSV- of Parquet-bestanden bevinden, afhankelijk van uw selectie. De voorspellingen voor elke tijdstap en geselecteerde tijdreeks bestaan met alle door u gekozen kwantielwaarden per record. U kunt deze bestanden downloaden van Amazon S3, ze op hun plaats opvragen met Athena of een andere strategie kiezen om de gegevens te gebruiken.
Dit rondt de hele workflow af. U kunt uw uitvoer nu visualiseren met behulp van elke gewenste visualisatietool, zoals Amazon QuickSight. Als alternatief kunnen datawetenschappers panda's gebruiken om hun eigen percelen te genereren. Als u ervoor kiest om QuickSight te gebruiken, kan dat koppel uw voorspellingsresultaten aan QuickSight om gegevenstransformaties uit te voeren, een of meer gegevensanalyses te maken, en visualisaties maken.
Dit proces biedt een te volgen sjabloon. U moet het voorbeeld aanpassen aan uw schema, de prognosehorizon, tijdresolutie, enzovoort instellen op basis van uw gebruiksscenario. U moet ook een terugkerend schema instellen waarbij gegevens uit het bronsysteem worden verzameld, de gegevens worden geïmporteerd en prognoses worden gemaakt. Indien gewenst kunt u een voorspellingstaak invoegen tussen de import- en prognosestappen.
Train de voorspeller opnieuw
We hebben het proces van het trainen van een nieuwe voorspeller doorlopen, maar hoe zit het met het opnieuw trainen van een voorspeller? Het opnieuw trainen van een voorspeller is een manier om de kosten en tijd te verminderen die gepaard gaan met het trainen van een voorspeller op basis van de meest recente beschikbare gegevens. In plaats van een nieuwe voorspeller te maken en deze op de volledige dataset te trainen, kunnen we de bestaande voorspeller opnieuw trainen door alleen de nieuwe incrementele gegevens te verstrekken die beschikbaar zijn sinds de voorspeller voor het laatst is getraind. Laten we eens kijken hoe u een voorspeller opnieuw kunt trainen met behulp van de automatiseringsoplossing:
- Kies in de prognoseconsole Datasetgroepen bekijken.
- Kies de datasetgroep die is gekoppeld aan de predictor die u opnieuw wilt trainen.
- Kies Bekijk voorspellersen kies vervolgens de predictor die u opnieuw wilt trainen.
- Op de Instellingen tab, kopieer de voorspelling ARN.
We moeten een parameter bijwerken die door de werkstroom wordt gebruikt om de voorspeller te identificeren die opnieuw moet worden getraind. - Kies op de Systems Manager-console Parameter opslaan in het navigatievenster.
- Zoek de parameter
/forecast/<STACKNAME>/Forecast/Predictor/ReferenceArn
. - Kies op de parameterdetailpagina Edit.
- Voor Waarde, voer de voorspeller ARN in.
Dit identificeert de juiste voorspeller voor de workflow om opnieuw te trainen. Vervolgens moeten we een parameter bijwerken die door de werkstroom wordt gebruikt om de trainingsstrategie te wijzigen. - Zoek de parameter
/forecast/<STACKNAME>/Forecast/Predictor/Strategy
. - Kies Bewerken op de parameterdetailpagina.
- Voer in bij Waarde
RETRAIN
.
De workflow is standaard ingesteld op het trainen van een nieuwe voorspeller; we kunnen dat gedrag echter aanpassen om een bestaande voorspeller opnieuw te trainen of gewoon een bestaande voorspeller hergebruiken zonder opnieuw te trainen door deze waarde in te stellen opNONE
. Misschien wilt u afzien van training als uw gegevens relatief stabiel zijn of u gebruikt geautomatiseerde voorspellingsmonitoring om te beslissen wanneer omscholing nodig is. - Upload de incrementele trainingsgegevens naar de S3-bucket.
- Zoek de statusmachine op de Step Functions-console
<STACKNAME>-Create-Predictor
. - Kies op de detailpagina van de statusmachine Start de uitvoering om te beginnen met de omscholing.
Wanneer de omscholing is voltooid, wordt de werkstroom beëindigd en ontvangt u een SNS-e-mailmelding op het e-mailadres dat is opgegeven in de werklastsjabloonparameters.
Opruimen
Wanneer u klaar bent met deze oplossing, volgt u de stappen in deze sectie om gerelateerde bronnen te verwijderen.
Verwijder de S3-bucket
- Kies op de Amazon S3-console Emmers in het navigatievenster.
- Selecteer de bucket waar gegevens zijn geüpload en kies Leeg om alle gegevens te verwijderen die aan de oplossing zijn gekoppeld, inclusief brongegevens.
- Enter
permanently delete
om de inhoud van de bucket permanent te verwijderen. - Op de Emmers pagina, selecteer de bucket en kies Verwijder.
- Voer de naam van de bucket in om de verwijdering te bevestigen en kies Emmer verwijderen.
Prognosebronnen verwijderen
- Kies in de prognoseconsole Datasetgroepen bekijken.
- Selecteer de naam van de gegevenssetgroep die aan de oplossing is gekoppeld en kies vervolgens Verwijder.
- Enter
delete
om de datasetgroep en bijbehorende predictors, backtest-exporttaken voor predictor, prognoses en exportprognoses te verwijderen. - Kies Verwijder bevestigen.
Verwijder de CloudFormation-stapels
- Kies op de AWS CloudFormation-console Stacks in het navigatievenster.
- Selecteer de workloadstack en kies Verwijder.
- Kies Stapel verwijderen om de verwijdering van de stapel en alle bijbehorende bronnen te bevestigen.
- Wanneer het verwijderen is voltooid, selecteert u de afhankelijkhedenstapel en kiest u Verwijder.
- Kies Verwijder bevestigen.
Conclusie
In dit bericht hebben we enkele verschillende manieren besproken om aan de slag te gaan met Forecast. We liepen door een geautomatiseerde prognoseoplossing op basis van AWS CloudFormation voor een snelle, herhaalbare oplossingsimplementatie van een prognosepijplijn, van gegevensopname tot inferentie, met weinig infrastructuurkennis vereist. Ten slotte hebben we gezien hoe we Lambda kunnen gebruiken om het omscholen van modellen te automatiseren, waardoor kosten en trainingstijd worden verminderd.
Er is geen betere tijd dan het heden om te beginnen met prognoses met Forecast. Ga naar om te beginnen met het bouwen en implementeren van een geautomatiseerde workflow Amazon Forecast-bronnen. Veel plezier met voorspellen!
Over de auteurs
Aäron Fagan is een Principal Specialist Solutions Architect bij AWS in New York. Hij is gespecialiseerd in het helpen van klanten bij het ontwerpen van oplossingen op het gebied van machine learning en cloudbeveiliging.
Raju Patil is een datawetenschapper in AWS Professional Services. Hij bouwt en implementeert AI/ML-oplossingen om AWS-klanten te helpen bij het overwinnen van hun zakelijke uitdagingen. Zijn AWS-opdrachten bestreken een breed scala aan AI/ML-use-cases, zoals computervisie, tijdreeksprognoses en voorspellende analyses, enz., in tal van sectoren, waaronder financiële dienstverlening, telecom, gezondheidszorg en meer. Daarvoor leidde hij Data Science-teams in advertentietechnologie en leverde hij belangrijke bijdragen aan tal van onderzoeks- en ontwikkelingsinitiatieven op het gebied van computervisie en robotica. Buiten zijn werk houdt hij van fotografie, wandelen, reizen en culinaire verkenningen.
- Door SEO aangedreven content en PR-distributie. Word vandaag nog versterkt.
- PlatoAiStream. Web3 gegevensintelligentie. Kennis versterkt. Toegang hier.
- De toekomst slaan met Adryenn Ashley. Toegang hier.
- Koop en verkoop aandelen in PRE-IPO-bedrijven met PREIPO®. Toegang hier.
- Bron: https://aws.amazon.com/blogs/machine-learning/automate-the-deployment-of-an-amazon-forecast-time-series-forecasting-model/
- : heeft
- :is
- :niet
- :waar
- $UP
- 1
- 10
- 100
- 11
- 20
- 20 jaar
- 2022
- 7
- 8
- 9
- a
- Over
- ACCEPTEREN
- toegang
- Volgens
- Account
- nauwkeurigheid
- erkennen
- over
- acties
- aanpassen
- Extra
- Extra informatie
- adres
- ADVERTISING
- Na
- weer
- AI / ML
- algoritme
- algoritmen
- Alles
- Het toestaan
- toestaat
- alleen
- al
- ook
- Amazone
- Amazon voorspelling
- bedragen
- an
- analyses
- analytics
- en
- Nog een
- elke
- api
- nadering
- passend
- goedgekeurd
- ZIJN
- reeks
- AS
- helpen
- Associëren
- geassocieerd
- At
- automatiseren
- geautomatiseerde
- webmaster.
- Automatisering
- Beschikbaar
- AWS
- AWS CloudFormatie
- AWS professionele services
- Backtest
- Balance
- saldi
- gebaseerde
- Baseline
- BE
- omdat
- vaardigheden
- beginnen
- wezen
- BEST
- Betere
- tussen
- vooringenomenheid
- Gebonden
- Box camera's
- Bringing
- browser
- bouw
- Gebouw
- bouwt
- bedrijfsdeskundigen
- maar
- by
- berekent
- Dit betekent dat we onszelf en onze geliefden praktisch vergiftigen.
- oproepen
- CAN
- verzorging
- geval
- gevallen
- Centreren
- uitdagingen
- verandering
- Wijzigingen
- controle
- keuze
- Kies
- koos
- uitgekozen
- van nabij
- Cloud
- Cloud Security
- code
- codering
- Collectie
- Kolom
- COM
- Gemeen
- vergelijken
- compleet
- complex
- berekeningen
- Berekenen
- computer
- Computer visie
- concepten
- betrokken
- Configuratie
- Bevestigen
- troosten
- bevatten
- inhoud
- bijdragen
- onder controle te houden
- coördineren
- te corrigeren
- Kosten
- kon
- bedekt
- en je merk te creëren
- aangemaakt
- creëert
- Wij creëren
- het aanmaken
- Klanten
- cyclus
- Cyclische
- dagelijks
- gegevens
- gegevensbeheer
- data punten
- data science
- data scientist
- gegevensset
- datasets
- dag
- dagen
- beslissen
- verklaart
- Standaard
- defaults
- gedefinieerd
- definieert
- het definiëren van
- geleverd
- Afhankelijk
- afhankelijk
- implementeren
- ingezet
- het inzetten
- inzet
- implementaties
- ontplooit
- storting
- beschrijven
- beschreven
- gewenste
- detail
- gegevens
- Bepalen
- ontwikkelaars
- Ontwikkeling
- anders
- moeilijk
- Afmeting
- Afmeting
- directories
- besproken
- do
- Nee
- gedaan
- Download
- gedurende
- elk
- Vroeger
- gemakkelijker
- beide
- elimineert
- ingeschakeld
- maakt
- einde
- eind tot eind
- verzekeren
- Enter
- Geheel
- Milieu
- omgevingen
- fouten
- schatting
- etc
- schatten
- Zelfs
- Event
- voorbeeld
- uitvoering
- bestaan
- bestaand
- verwacht
- verwacht
- ervaring
- exporteren
- vergemakkelijkt
- vals
- vertrouwd
- Voordelen
- veld-
- Figuur
- Dien in
- Bestanden
- Filing
- gevuld
- Tot slot
- financieel
- financiële diensten
- VIND DE PLEK DIE PERFECT VOOR JOU IS
- Voornaam*
- gericht
- volgen
- volgend
- Voor
- Voorspelling
- prognoses
- formaat
- voort
- Naar voren
- vier
- Frequentie
- oppompen van
- geheel
- functie
- functies
- verder
- toekomst
- voortbrengen
- gegenereerde
- het genereren van
- krijgen
- Globaal
- Go
- gaan
- regeert
- diagram
- groot
- Groep
- Groep
- leiding
- gids
- gelukkig
- oogst
- Hebben
- met
- he
- Gezondheid
- Gezondheidszorg
- hulp
- het helpen van
- helpt
- hier
- zeer
- zijn
- historisch
- horizont
- Horizons
- uur
- Hoe
- How To
- Echter
- HTML
- http
- HTTPS
- ideeën
- identificeert
- identificeren
- Identiteit
- if
- illustreert
- uitvoeren
- importeren
- invoer
- in
- omvatten
- omvat
- Inclusief
- industrieën
- beïnvloeden
- informeren
- informatie
- Infrastructuur
- eerste
- initiatieven
- invoer
- verkrijgen in plaats daarvan
- in
- onderzoeken
- betrokken zijn
- IT
- artikelen
- HAAR
- zelf
- Jobomschrijving:
- Vacatures
- jpg
- blijven
- kennis
- bekend
- Land
- Achternaam*
- later
- laatste
- LEARN
- leren
- minst
- LED
- Led gegevens
- Laten we
- levenscyclus van uw product
- als
- Lijn
- Elke kleine stap levert grote resultaten op!
- gelegen
- plaats
- lang
- uit
- Low-cost
- te verlagen
- machine
- machine learning
- Machines
- gemaakt
- maken
- beheer
- beheerd
- management
- manager
- beheert
- beheren
- handmatig
- veel
- maximaal
- Mei..
- Maak kennis met
- Menu
- Metadata
- methode
- methoden
- metriek
- Metriek
- macht
- minimum
- minuut
- vermist
- ML
- model
- modellen
- wijzigen
- Grensverkeer
- maandelijks
- meer
- beweging
- meervoudig
- Dan moet je
- naam
- namen
- OP DEZE WEBSITE VIND JE
- Navigatie
- noodzakelijk
- Noodzaak
- behoeften
- New
- New York
- volgende
- geen
- notitieboekje
- notificatie
- meldingen
- nu
- aantal
- vele
- object
- objecten
- verkrijgen
- of
- on
- EEN
- Slechts
- open
- open source
- Optimaliseer
- Opties
- or
- bestellen
- Overige
- anders-
- onze
- uit
- resultaten
- geschetst
- uitgang
- buiten
- over
- totaal
- het te bezitten.
- pagina
- panda's
- brood
- parameter
- parameters
- deel
- procent
- Uitvoeren
- prestatie
- blijvend
- permissies
- fotografie
- Fysiek
- pijpleiding
- plaats
- plaatsing
- plan
- Plato
- Plato gegevensintelligentie
- PlatoData
- punten
- mogelijk
- Post
- voorspeld
- het voorspellen van
- voorspelling
- Voorspellingen
- Predictive Analytics
- predictor
- voorspelt
- Voorbereiden
- presenteren
- gepresenteerd
- vorig
- Principal
- Voorafgaand
- Verwerkt
- verwerking
- produceren
- productie
- professioneel
- programmatische
- Voortgang
- zorgen voor
- mits
- biedt
- het verstrekken van
- in het openbaar
- Python
- queries
- Contact
- Quick
- snel
- reeks
- snel
- liever
- Rauw
- klaar
- ontvangen
- adviseren
- record
- archief
- terugkerend
- verminderen
- vermindering
- verwezen
- verwijst
- regelmatig
- verwant
- relatief
- relevante
- vertrouwen
- het verwijderen van
- herhaalbare
- HERHAALDELIJK
- herhalende
- nodig
- onderzoek
- onderzoek en ontwikkeling
- gereserveerd
- veerkrachtig
- Resolutie
- Resources
- verkregen
- Resultaten
- hergebruiken
- herzien
- robotica
- Rol
- rollen
- lopen
- lopend
- dezelfde
- Voorbeeldgegevensset
- tevreden
- Scale
- rooster
- Wetenschap
- Wetenschapper
- wetenschappers
- naadloos
- sectie
- secties
- beveiligen
- veiligheid
- zien
- gekozen
- selectie
- -Series
- Serverless
- Servers
- bedient
- service
- Diensten
- reeks
- het instellen van
- gedeeld
- Bermuda's
- moet
- Shows
- aanzienlijke
- Eenvoudig
- eenvoudigweg
- sinds
- single
- So
- oplossing
- Oplossingen
- sommige
- iets
- bron
- specialist
- specialiseert
- gespecificeerd
- verspreiden
- stabiel
- stack
- regie
- standaard
- begin
- gestart
- Start
- Land
- Status
- Stap voor
- Stappen
- mediaopslag
- shop
- Strategie
- Draad
- structuur
- dergelijk
- ondersteunde
- system
- Systems
- tafel
- Nemen
- neemt
- doelwit
- Taak
- taken
- teams
- Technologie
- telecom
- sjabloon
- templates
- proef
- neem contact
- dat
- De
- De Bron
- De Staat
- hun
- Ze
- harte
- Er.
- Deze
- spullen
- dit
- drie
- Door
- overal
- niet de tijd of
- Tijdreeksen
- tijdstempel
- naar
- samen
- tools
- onderwerp
- in de richting van
- Trainen
- getraind
- Trainingen
- transformaties
- overgang
- reizen
- leiden
- waar
- twee
- type dan:
- types
- typisch
- Onzekerheid
- voor
- begrijpen
- eenheden
- bijwerken
- geüpload
- URL
- .
- use case
- gebruikt
- gebruikers
- gebruik
- waarde
- Values
- divers
- zeer
- via
- visie
- Bezoek
- visualisatie
- wandelde
- willen
- was
- Manier..
- manieren
- we
- per week
- GOED
- Wat
- wanneer
- of
- welke
- breed
- Grote range
- wil
- Met
- binnen
- zonder
- Woord
- Mijn werk
- schrijven
- geschreven
- jaar
- york
- You
- Your
- zephyrnet
- Postcode