Prognozowanie szeregów czasowych odnosi się do procesu przewidywania przyszłych wartości danych szeregów czasowych (dane zbierane w regularnych odstępach czasu). Proste metody prognozowania szeregów czasowych wykorzystują wartości historyczne tej samej zmiennej, której przyszłe wartości należy przewidzieć, podczas gdy bardziej złożone metody oparte na uczeniu maszynowym (ML) wykorzystują dodatkowe informacje, takie jak dane szeregów czasowych powiązanych zmiennych.
Prognoza Amazon to usługa prognozowania szeregów czasowych oparta na uczeniu maszynowym, która obejmuje algorytmy oparte na ponad 20-letnim doświadczeniu w prognozowaniu używanym przez Amazon.com, dostarczając programistom tę samą technologię, z której korzysta firma Amazon, jako w pełni zarządzaną usługę, eliminując potrzebę zarządzania zasobami. Forecast wykorzystuje ML, aby nauczyć się nie tylko najlepszego algorytmu dla każdego elementu, ale także najlepszego zestawu algorytmów dla każdego elementu, automatycznie tworząc najlepszy model dla Twoich danych.
W tym poście opisano, jak wdrażać cykliczne obciążenia prognozy (obciążenia związane z prognozowaniem szeregów czasowych) bez użycia kodu Tworzenie chmury AWS, Funkcje kroków AWS, Menedżer systemów AWS. Przedstawiona tutaj metoda ułatwia tworzenie potoku, który umożliwia korzystanie z tego samego przepływu pracy, począwszy od pierwszego dnia eksperymentowania z prognozowaniem szeregów czasowych, aż do wdrożenia modelu w środowisku produkcyjnym.
Prognozowanie szeregów czasowych przy użyciu prognozy
Przepływ pracy dla prognozy obejmuje następujące typowe pojęcia:
- Importowanie zestawów danych – W Prognozie, A grupa zbiorów danych to zbiór zestawów danych, schematów i wyników prognozy, które są ze sobą powiązane. Każda grupa zestawów danych może mieć maksymalnie trzy zestawy danych, po jednym z każdego zestaw danych typ: docelowe szeregi czasowe (TTS), powiązane szeregi czasowe (RTS) i metadane elementu. Zestaw danych to zbiór plików zawierających dane istotne dla zadania prognozowania. Zestaw danych musi być zgodny ze schematem zdefiniowanym w ramach prognozy. Aby uzyskać więcej informacji, patrz Importowanie zbiorów danych.
- Predyktory treningowe - urządzenie prognozujące jest modelem wytrenowanym przez prognozę, używanym do tworzenia prognoz na podstawie danych szeregów czasowych. Podczas szkolenia Forecast oblicza metryki dokładności, których używasz do oceny predyktora i decydowania, czy użyć predyktora do wygenerowania prognozy. Aby uzyskać więcej informacji, patrz Predyktory treningowe.
- Generowanie prognoz – Następnie możesz użyć wytrenowanego modelu do generowania prognoz dla przyszłego horyzontu czasowego, znanego jako horyzont prognozowania. Prognoza zapewnia prognozy dla różnych określonych kwantyli. Na przykład prognoza na kwantylu 0.90 pozwoli oszacować wartość, która jest niższa niż obserwowana wartość w 90% przypadków. Domyślnie Prognoza używa następujących wartości dla typów prognoz predyktorów: 0.1 (P10), 0.5 (P50) i 0.9 (P90). Prognozy w różnych kwantylach są zwykle używane do określenia przedziału prognozy (górna i dolna granica prognoz) w celu uwzględnienia niepewności prognozy.
Możesz zaimplementować ten przepływ pracy w Prognozie albo z Konsola zarządzania AWSThe Interfejs wiersza poleceń AWS (AWS CLI), przez Wywołania interfejsu API przy użyciu notatników języka Pythonlub poprzez rozwiązania automatyzacyjne. The konsola i AWS CLI . metody najlepiej nadają się do szybkiego eksperymentowania w celu sprawdzenia wykonalności prognozowania szeregów czasowych przy użyciu danych. Metoda notatnika w języku Python jest świetna dla naukowców zajmujących się danymi, którzy są już zaznajomieni z notatnikami i kodowaniem Jupytera, i zapewnia maksymalną kontrolę i dostrajanie. Jednak metoda oparta na notatniku jest trudna do wdrożenia. Nasze podejście do automatyzacji ułatwia szybkie eksperymentowanie, eliminuje powtarzalne zadania i umożliwia łatwiejsze przechodzenie między różnymi środowiskami (programowanie, przemieszczanie, produkcja).
W tym poście opisujemy podejście do automatyzacji korzystania z Forecast, które umożliwia korzystanie z własnych danych i zapewnia pojedynczy przepływ pracy, z którego można bezproblemowo korzystać przez cały cykl tworzenia rozwiązania prognostycznego, od pierwszych dni eksperymentowania po wdrożenie rozwiązania w Twoim środowisku produkcyjnym.
Omówienie rozwiązania
W poniższych sekcjach opisujemy kompletny, kompleksowy przepływ pracy, który służy jako szablon do naśladowania w celu zautomatyzowanego wdrażania modeli prognozowania szeregów czasowych przy użyciu prognozy. Ten przepływ pracy tworzy prognozowane punkty danych z wejściowego zestawu danych typu open source; możesz jednak użyć tego samego przepływu pracy dla własnych danych, o ile możesz sformatować swoje dane zgodnie z krokami opisanymi w tym poście. Po przesłaniu danych przeprowadzimy Cię przez proces tworzenia grup zestawów danych prognozy, importowania danych, uczenia modeli uczenia maszynowego i tworzenia prognozowanych punktów danych w przyszłych niewidocznych horyzontach czasowych na podstawie nieprzetworzonych danych. Wszystko to jest możliwe bez konieczności pisania lub kompilowania kodu.
Poniższy diagram ilustruje przepływ pracy prognozowania.
Rozwiązanie jest wdrażane przy użyciu dwóch szablonów CloudFormation: szablonu zależności i szablonu obciążenia. CloudFormation umożliwia przewidywalne i powtarzalne wdrażanie infrastruktury AWS przy użyciu szablonów opisujących zasoby, które mają zostać wdrożone. Wdrożony szablon jest określany jako a stos. Zadbaliśmy o zdefiniowanie infrastruktury w rozwiązaniu dla Ciebie w dwóch dostarczonych szablonach. Szablon zależności definiuje zasoby wymagań wstępnych używane przez szablon obciążenia, takie jak Usługa Amazon Simple Storage (Amazon S3) wiadro do przechowywania obiektów i AWS Zarządzanie tożsamością i dostępem (IAM) uprawnienia do akcji AWS API. Zasoby zdefiniowane w szablonie zależności mogą być współużytkowane przez wiele szablonów obciążeń. Szablon obciążenia definiuje zasoby używane do pozyskiwania danych, uczenia predyktora i generowania prognozy.
Wdróż szablon zależności CloudFormation
Najpierw wdróżmy szablon zależności, aby utworzyć nasze zasoby wymagań wstępnych. Szablon zależności wdraża opcjonalny zasobnik S3, AWS Lambda funkcje i role IAM. Amazon S3 to niedroga, wysoce dostępna, odporna usługa obiektowej pamięci masowej. W tym rozwiązaniu używamy zasobnika S3 do przechowywania danych źródłowych i uruchamiania przepływu pracy, co skutkuje prognozą. Lambda to bezserwerowa, sterowana zdarzeniami usługa obliczeniowa, która umożliwia uruchamianie kodu bez udostępniania ani zarządzania serwerami. Szablon zależności zawiera funkcje do wykonywania czynności, takich jak tworzenie grupy zestawów danych w Prognozie i czyszczenie obiektów w zasobniku S3 przed usunięciem zasobnika. Role IAM definiują uprawnienia w AWS dla użytkowników i usług. Szablon zależności wdraża rolę, która ma być używana przez Lambdę i inną rolę dla Step Functions, usługi zarządzania przepływem pracy, która będzie koordynować zadania pozyskiwania i przetwarzania danych, a także szkolenie predyktorów i wnioskowanie przy użyciu prognozy.
Wykonaj następujące kroki, aby wdrożyć szablon zależności:
- Na konsoli wybierz żądane Region obsługiwany przez prognozę do wdrożenia rozwiązania.
- W konsoli AWS CloudFormation wybierz Półki na książki w okienku nawigacji.
- Dodaj Utwórz stos i wybierz Z nowymi zasobami (standard).
- W razie zamówieenia projektu Źródło szablonu, Wybierz Adres URL Amazon S3.
- Wprowadź adres URL szablonu:
https://amazon-forecast-samples.s3.us-west-2.amazonaws.com/ml_ops/forecast-mlops-dependency.yaml
. - Dodaj Następna.
- W razie zamówieenia projektu Nazwa stosu, wchodzić
forecast-mlops-dependency
. - Pod parametry, wybierz użycie istniejącego zasobnika S3 lub utwórz nowy, a następnie podaj nazwę zasobnika.
- Dodaj Następna.
- Dodaj Następna aby zaakceptować domyślne opcje stosu.
- Zaznacz pole wyboru, aby potwierdzić, że stos tworzy zasoby IAM, a następnie wybierz Utwórz stos aby wdrożyć szablon.
Powinieneś zobaczyć wdrożenie szablonu jako forecast-mlops-dependency
stos. Gdy status zmieni się na CREATE_COMPLETE
, możesz przejść do następnego kroku.
Wdróż szablon CloudFormation obciążenia
Następnie wdróżmy szablon obciążenia, aby utworzyć zasoby wymagane wstępnie. Szablon obciążenia wdraża maszyny stanu Step Functions do zarządzania przepływem pracy, Magazyn parametrów menedżera systemów AWS parametry do przechowywania wartości parametrów z AWS CloudFormation i informowania o przepływie pracy, an Usługa prostego powiadomienia Amazon (Amazon SNS) temat powiadomień o przepływie pracy oraz rola IAM dla uprawnień usługi przepływu pracy.
Rozwiązanie tworzy pięć maszyn stanowych:
- UtwórzDatasetGroupStateMachine – Tworzy grupę zestawów danych prognozy, do której mają zostać zaimportowane dane.
- UtwórzImportDatasetStateMachine – Importuje dane źródłowe z Amazon S3 do grupy zestawów danych w celu szkolenia.
- Utwórz maszynę stanu prognozy – Zarządza zadaniami wymaganymi do szkolenia predyktora i generowania prognozy.
- AthenaConnectorStateMachine – Umożliwia pisanie zapytań SQL za pomocą Amazonka Atena złącze do danych lądowych w Amazon S3. Jest to opcjonalny proces uzyskiwania danych historycznych w formacie wymaganym dla prognozy przy użyciu Athena zamiast ręcznego umieszczania plików w Amazon S3.
- StepFunctionWorkflowStateMaszyna – Koordynuje wywołania do pozostałych czterech maszyn stanowych i zarządza ogólnym przepływem pracy.
Magazyn parametrów, funkcja Systems Manager, zapewnia bezpieczne, hierarchiczne przechowywanie i programowe pobieranie danych konfiguracyjnych oraz zarządzanie kluczami tajnymi. Magazyn parametrów służy do przechowywania parametrów ustawionych w stosie obciążeń, a także innych parametrów używanych przez przepływ pracy.
Wykonaj następujące kroki, aby wdrożyć szablon obciążenia:
- W konsoli AWS CloudFormation wybierz Półki na książki w okienku nawigacji.
- Dodaj Utwórz stos i wybierz Z nowymi zasobami (standard).
- W razie zamówieenia projektu Źródło szablonu, Wybierz Adres URL Amazon S3.
- Wprowadź adres URL szablonu:
https://amazon-forecast-samples.s3.us-west-2.amazonaws.com/ml_ops/forecast-mlops-solution-guidance.yaml
. - Dodaj Następna.
- W razie zamówieenia projektu Nazwa stosu, Wpisz imię.
- Zaakceptuj wartości domyślne lub zmodyfikuj parametry.
Pamiętaj, aby wprowadzić nazwę zasobnika S3 ze stosu zależności dla Wiadro S3 oraz prawidłowy adres e-mail dla SNSPunkt końcowy nawet jeśli zaakceptujesz domyślne wartości parametrów.
W poniższej tabeli opisano każdy parametr.
Parametr | Opis | Więcej informacji |
DatasetGroupFrequencyRTS |
Częstotliwość zbierania danych dla zbioru danych RTS. | . |
DatasetGroupFrequencyTTS |
Częstotliwość zbierania danych dla zestawu danych TTS. | . |
DatasetGroupName |
Krótka nazwa grupy zestawu danych, samodzielne obciążenie. | Utwórz grupę zestawu danych |
DatasetIncludeItem |
Określ, czy chcesz udostępnić metadane elementu dla tego przypadku użycia. | . |
DatasetIncludeRTS |
Określ, czy chcesz udostępnić powiązane szeregi czasowe dla tego przypadku użycia. | . |
ForecastForecastTypes |
Gdy zadanie CreateForecast jest uruchomione, deklaruje, dla których kwantyli mają być tworzone prognozy. Możesz wybrać do pięciu wartości w tej tablicy. Edytuj tę wartość, aby uwzględnić wartości zgodnie z potrzebami. | Utwórz prognozę |
PredictorAttributeConfigs |
Dla zmiennej docelowej w TTS i każdego pola numerycznego w zbiorach danych RTS należy utworzyć rekord dla każdego przedziału czasowego dla każdej pozycji. Ta konfiguracja pomaga określić, w jaki sposób uzupełniane są brakujące rekordy: 0, NaN lub w inny sposób. Zalecamy wypełnianie luk w TTS wartością NaN zamiast 0. Przy wartości 0 model może się błędnie nauczyć odchylać prognozy w kierunku 0. NaN to sposób dostarczania wskazówek. W przypadku jakichkolwiek pytań na ten temat skonsultuj się ze swoim architektem rozwiązań AWS. | Utwórz autopredyktor |
PredictorExplainPredictor |
Prawidłowe wartości to PRAWDA lub FAŁSZ. Określają one, czy dla predyktora włączona jest możliwość wyjaśnienia. Może to pomóc w zrozumieniu, w jaki sposób wartości w RTS i metadanych elementu wpływają na model. | Wyjaśnialność |
PredictorForecastDimensions |
Możesz chcieć prognozować z drobniejszym ziarnem niż przedmiot. Tutaj możesz określić wymiary, takie jak lokalizacja, centrum kosztów lub inne potrzeby. To musi zgadzać się z wymiarami w twoim RTS i TTS. Zauważ, że jeśli nie masz wymiaru, poprawny parametr jest pusty, sam w sobie i małymi literami. null to zarezerwowane słowo, które informuje system, że nie ma parametru dla wymiaru. | Utwórz autopredyktor |
PredictorForecastFrequency |
Definiuje skalę czasu, w której model i prognozy będą generowane, na przykład codziennie, co tydzień lub co miesiąc. Menu rozwijane pomaga wybrać dozwolone wartości. To musi zgadzać się z twoją skalą czasową RTS, jeśli używasz RTS. | Utwórz autopredyktor |
PredictorForecastHorizon |
Liczba kroków czasowych przewidywanych przez model. Horyzont prognozy jest również nazywany długość przewidywania. | Utwórz autopredyktor |
PredictorForecastOptimizationMetric |
Definiuje metrykę dokładności używaną do optymalizacji predyktora. Menu rozwijane pomoże Ci wybrać ważone salda strat kwantylowych dla prognozowania zawyżonego lub niedoszacowanego. RMSE dotyczy jednostek, a WAPE/MAPE dotyczy błędów procentowych. | Utwórz autopredyktor |
PredictorForecastTypes |
Kiedy CreateAutoPredictor uruchomień zadań, deklaruje, które kwantyle są używane do uczenia punktów predykcji. Możesz wybrać do pięciu wartości w tej tablicy, co pozwoli ci zrównoważyć prognozowanie zawyżone i niedoszacowane. Edytuj tę wartość, aby uwzględnić wartości zgodnie z potrzebami. |
Utwórz autopredyktor |
S3Bucket |
Nazwa zasobnika S3, w którym są zapisywane dane wejściowe i wyjściowe dla tego obciążenia. | . |
SNSEndpoint |
Prawidłowy adres e-mail do otrzymywania powiadomień o zakończeniu zadań predykcji i prognozy. | . |
SchemaITEM |
Definiuje porządek fizyczny, nazwy kolumn i typy danych dla zestawu danych metadanych elementu. Jest to opcjonalny plik podany w przykładzie rozwiązania. | UtwórzZbiórDanych |
SchemaRTS |
Definiuje kolejność fizyczną, nazwy kolumn i typy danych dla zestawu danych RTS. Wymiary muszą zgadzać się z twoim TTS. Ziarno czasowe tego pliku określa ziarno czasowe, w którym można dokonywać prognoz. Jest to opcjonalny plik podany w przykładzie rozwiązania. | UtwórzZbiórDanych |
SchemaTTS |
Definiuje kolejność fizyczną, nazwy kolumn i typy danych dla zestawu danych TTS, jedynego wymaganego zestawu danych. Plik musi zawierać co najmniej wartość docelową, sygnaturę czasową i element. | UtwórzZbiórDanych |
TimestampFormatRTS |
Definiuje format znacznika czasu dostarczany w pliku RTS. | UtwórzZestawDanychImportZadania |
TimestampFormatTTS |
Definiuje format znacznika czasu dostarczany w pliku TTS. | UtwórzZestawDanychImportZadania |
- Dodaj Następna aby zaakceptować domyślne opcje stosu.
- Zaznacz pole wyboru, aby potwierdzić, że stos tworzy zasoby IAM, a następnie wybierz Utwórz stos aby wdrożyć szablon.
Powinieneś zobaczyć wdrożenie szablonu jako nazwa stosu, którą wybrałeś wcześniej. Gdy status zmieni się na CREATE_COMPLETE
, możesz przejść do etapu przesyłania danych.
Prześlij dane
W poprzedniej sekcji podałeś nazwę stosu i zasobnik S3. W tej sekcji opisano sposób zdeponowania publicznie dostępnego zestawu danych Zapotrzebowanie na żywność w tym wiadrze. Jeśli używasz własnego zestawu danych, zobacz Zbiory danych aby przygotować zestaw danych w formacie oczekiwanym przez wdrożenie. Zbiór danych musi zawierać co najmniej docelowe szeregi czasowe i opcjonalnie powiązane szeregi czasowe oraz metadane pozycji:
- TTS to dane szeregów czasowych, które obejmują pole, dla którego chcesz wygenerować prognozę; to pole nazywa się pole docelowe
- RTS to dane szeregów czasowych, które nie zawierają zmiennej docelowej, ale zawierają pole pokrewne
- Plik danych elementu nie jest danymi szeregów czasowych, ale zawiera metadane dotyczące elementów w zestawach danych TTS lub RTS
Wykonaj następujące kroki:
- Jeśli używasz dostarczonego przykładowego zestawu danych, pobierz zestaw danych Zapotrzebowanie na żywność na swój komputer i rozpakuj plik, który tworzy trzy pliki w trzech katalogach (
rts
,tts
,item
). - Na konsoli Amazon S3 przejdź do utworzonego wcześniej zasobnika.
- Dodaj Utwórz folder.
- Jako nazwę folderu użyj tego samego ciągu, co nazwy stosu obciążeń.
- Dodaj Prześlij.
- Wybierz trzy foldery zestawów danych, a następnie wybierz Prześlij.
Po zakończeniu przesyłania powinieneś zobaczyć coś podobnego do poniższego zrzutu ekranu. W tym przykładzie naszym folderem jest aiml42
.
Utwórz grupę zestawu danych prognozy
Wykonaj czynności opisane w tej sekcji, aby utworzyć grupę zestawów danych jako zdarzenie jednorazowe dla każdego obciążenia. W przyszłości należy zaplanować uruchamianie importu danych, utworzyć predyktor i odpowiednio utworzyć kroki prognozy jako serię zgodnie z harmonogramem, który może być dzienny, tygodniowy lub inny.
- W konsoli Step Functions zlokalizuj maszynę stanów zawierającą
Create-Dataset-Group
. - Na stronie szczegółów automatu stanów wybierz Rozpocznij wykonanie.
- Dodaj Rozpocznij wykonanie ponownie, aby potwierdzić.
Uruchomienie maszyny stanów trwa około 1 minuty. Po zakończeniu wartość poniżej Status wykonania należy zmienić od Bieganie do Następca
Importuj dane do prognozy
Wykonaj czynności opisane w tej sekcji, aby zaimportować zestaw danych przesłany do zasobnika S3 do grupy zestawów danych:
- W konsoli Step Functions zlokalizuj maszynę stanów zawierającą
Import-Dataset
. - Na stronie szczegółów automatu stanów wybierz Rozpocznij wykonanie.
- Dodaj Rozpocznij wykonanie ponownie, aby potwierdzić.
Czas potrzebny do uruchomienia maszyny stanów zależy od przetwarzanego zestawu danych.
- Gdy to działa, otwórz w przeglądarce inną kartę i przejdź do konsoli prognozy.
- W konsoli Prognoza wybierz Wyświetl grupy zbiorów danych i przejdź do grupy zestawu danych o nazwie określonej dla
DataGroupName
ze stosu zadań. - Dodaj Wyświetl zbiory danych.
Powinieneś zobaczyć trwające importowanie danych.
Kiedy maszyna stanu dla Import-Dataset
jest zakończona, możesz przejść do następnego kroku, aby zbudować model danych szeregów czasowych.
Utwórz AutoPredictor (trenuj model szeregów czasowych)
W tej sekcji opisano sposób uczenia wstępnego predyktora za pomocą prognozy. Możesz utworzyć nowy predyktor (pierwszy, bazowy predyktor) lub przeszkolić predyktor podczas każdego cyklu produkcyjnego, który może być dzienny, tygodniowy lub inny. Możesz także zrezygnować z tworzenia predyktora w każdym cyklu i polegać na monitorowaniu predyktorów, które podpowie Ci, kiedy go utworzyć. Na poniższym rysunku przedstawiono wizualizację procesu tworzenia gotowego do produkcji predyktora prognozy.
Aby utworzyć nowy predyktor, wykonaj następujące kroki:
- W konsoli Step Functions zlokalizuj maszynę stanów zawierającą
Create-Predictor
. - Na stronie szczegółów automatu stanów wybierz Rozpocznij wykonanie.
- Dodaj Rozpocznij wykonanie ponownie, aby potwierdzić.
Czas wykonywania może zależeć od przetwarzanego zestawu danych. Może to potrwać do godziny lub dłużej. - Gdy to działa, otwórz w przeglądarce inną kartę i przejdź do konsoli prognozy.
- W konsoli Prognoza wybierz Wyświetl grupy zbiorów danych i przejdź do grupy zestawu danych o nazwie określonej dla
DataGroupName
ze stosu zadań. - Dodaj Wyświetl predyktory.
Powinieneś zobaczyć trwające szkolenie predyktora (stan szkolenia pokazuje „Tworzenie w toku…”).
Kiedy maszyna stanu dla Create-Predictor
jest kompletny, możesz ocenić jego działanie.
W ramach maszyny stanowej system tworzy predyktor, a także uruchamia a BacktestExport
zadanie, które zapisuje metryki predykcyjne na poziomie szeregów czasowych do Amazon S3. Są to pliki znajdujące się w dwóch folderach S3 pod nazwą backtest-export
folder:
- wartości metryk dokładności – Zapewnia obliczenia metryki dokładności na poziomie elementu, dzięki czemu można zrozumieć wydajność pojedynczego szeregu czasowego. Pozwala to na zbadanie spreadu zamiast skupiania się wyłącznie na globalnych wskaźnikach.
- prognozowane wartości – Zapewnia prognozy na poziomie kroku dla każdego szeregu czasowego w oknie testu historycznego. Umożliwia to porównanie rzeczywistej wartości docelowej z zestawu testów wstrzymania z przewidywanymi wartościami kwantyli. Przeglądanie tego pomaga formułować pomysły, jak zapewnić dodatkowe funkcje danych w RTS lub metadanych pozycji, aby pomóc lepiej oszacować przyszłe wartości, jeszcze bardziej zmniejszając straty. Możesz pobrać
backtest-export
pliki z Amazon S3 lub wysyłaj do nich zapytania za pomocą Atheny.
W przypadku własnych danych należy dokładnie sprawdzić wyniki predyktorów i upewnić się, że metryki odpowiadają oczekiwanym wynikom, korzystając z danych eksportu testu historycznego. Jeśli jesteś zadowolony, możesz rozpocząć generowanie prognoz z datą przyszłą, zgodnie z opisem w następnej sekcji.
Wygeneruj prognozę (wnioskowanie o przyszłych horyzontach czasowych)
W tej sekcji opisano sposób generowania punktów danych prognozy za pomocą prognozy. W przyszłości należy zebrać nowe dane z systemu źródłowego, zaimportować je do programu Forecast, a następnie wygenerować punkty danych prognozy. Opcjonalnie można również wstawić nowe utworzenie predyktora po imporcie i przed prognozą. Na poniższym rysunku przedstawiono wizualizację procesu tworzenia prognoz produkcyjnych szeregów czasowych przy użyciu narzędzia Forecast.
Wykonaj następujące kroki:
- W konsoli Step Functions zlokalizuj maszynę stanów zawierającą
Create-Forecast
. - Na stronie szczegółów automatu stanów wybierz Rozpocznij wykonanie.
- Dodaj Rozpocznij wykonanie ponownie, aby potwierdzić.
Ta maszyna stanów kończy się bardzo szybko, ponieważ system nie jest skonfigurowany do generowania prognozy. Nie wie, który model predykcyjny został zatwierdzony do wnioskowania.
Skonfigurujmy system tak, aby korzystał z przeszkolonego predyktora. - W konsoli prognozy znajdź ARN swojego predyktora.
- Skopiuj ARN do użycia w późniejszym kroku.
- W przeglądarce otwórz inną kartę i przejdź do konsoli Systems Manager.
- W konsoli Systems Manager wybierz Magazyn parametrów w okienku nawigacji.
- Znajdź parametr związany ze stosem (
/forecast/<StackName>/Forecast/PredictorArn
). - Wprowadź ARN, które skopiowałeś dla swojego predyktora.
W ten sposób można powiązać przeszkolony predyktor z funkcją wnioskowania prognozy. - Znajdź parametr
/forecast/<StackName>/Forecast/Generate
i edytuj wartość, zastępującFALSE
wTRUE
.
Teraz możesz uruchomić zadanie prognozy dla tej grupy zestawów danych. - W konsoli Step Functions uruchom plik
Create-Forecast
maszyna stanowa.
Tym razem zadanie przebiega zgodnie z oczekiwaniami. W ramach maszyny stanowej system tworzy prognozę i a ForecastExport
job, który zapisuje prognozy szeregów czasowych do Amazon S3. Pliki te znajdują się w forecast
falcówka
Wewnątrz forecast
folder, znajdziesz prognozy dla swoich przedmiotów, znajdujące się w wielu plikach CSV lub Parquet, w zależności od twojego wyboru. Prognozy dla każdego kroku czasowego i wybranych szeregów czasowych istnieją ze wszystkimi wybranymi wartościami kwantyli na rekord. Możesz pobrać te pliki z Amazon S3, wysłać do nich zapytanie za pomocą Atheny lub wybrać inną strategię wykorzystania danych.
To zamyka cały przepływ pracy. Możesz teraz wizualizować swoje wyniki za pomocą dowolnego narzędzia do wizualizacji, takiego jak Amazon QuickSight. Alternatywnie analitycy danych mogą używać pand do generowania własnych wykresów. Jeśli zdecydujesz się użyć QuickSight, możesz połącz wyniki prognozy z QuickSight przeprowadzać transformacje danych, tworzyć jedną lub więcej analiz danych oraz tworzyć wizualizacje.
Ten proces zapewnia szablon do naśladowania. Będziesz musiał dostosować próbkę do swojego schematu, ustawić horyzont prognozy, rozdzielczość czasową itd. zgodnie z przypadkiem użycia. Będziesz także musiał ustawić cykliczny harmonogram, w którym dane będą zbierane z systemu źródłowego, importować dane i generować prognozy. W razie potrzeby można wstawić zadanie predykcyjne między etapami importu i prognozy.
Przeszkol predyktora
Przeszliśmy przez proces uczenia nowego predyktora, ale co z ponownym uczeniem predyktora? Ponowne uczenie predyktora jest jednym ze sposobów zmniejszenia kosztów i czasu związanych z uczeniem predyktora na najnowszych dostępnych danych. Zamiast tworzyć nowy predyktor i uczyć go na całym zbiorze danych, możemy przeszkolić istniejący predyktor, udostępniając tylko nowe dane przyrostowe udostępnione od czasu ostatniego wytrenowania predyktora. Przyjrzyjmy się, jak przeszkolić predyktora przy użyciu rozwiązania do automatyzacji:
- W konsoli Prognoza wybierz Wyświetl grupy zbiorów danych.
- Wybierz grupę zestawu danych powiązaną z predyktorem, którego chcesz przeszkolić.
- Dodaj Wyświetl predyktory, a następnie wybierz predyktor, którego chcesz ponownie nauczyć.
- Na Ustawienia skopiuj predyktor ARN.
Musimy zaktualizować parametr używany przez przepływ pracy, aby zidentyfikować predyktor do ponownego uczenia. - W konsoli Systems Manager wybierz Magazyn parametrów w okienku nawigacji.
- Znajdź parametr
/forecast/<STACKNAME>/Forecast/Predictor/ReferenceArn
. - Na stronie szczegółów parametru wybierz Edytuj.
- W razie zamówieenia projektu wartość, wprowadź predyktor ARN.
To identyfikuje prawidłowy predyktor dla przepływu pracy do przeszkolenia. Następnie musimy zaktualizować parametr używany przez przepływ pracy, aby zmienić strategię szkolenia. - Znajdź parametr
/forecast/<STACKNAME>/Forecast/Predictor/Strategy
. - Na stronie szczegółów parametru wybierz pozycję Edytuj.
- W polu Wartość wprowadź
RETRAIN
.
Przepływ pracy domyślnie uczy nowego predyktora; możemy jednak zmodyfikować to zachowanie, aby przeszkolić istniejący predyktor lub po prostu ponownie użyć istniejącego predyktora bez ponownego uczenia, ustawiając tę wartość naNONE
. Możesz zrezygnować ze szkolenia, jeśli Twoje dane są stosunkowo stabilne lub używasz automatyczne monitorowanie predykcyjne zdecydować, kiedy konieczne jest przekwalifikowanie. - Prześlij przyrostowe dane szkoleniowe do zasobnika S3.
- W konsoli Step Functions zlokalizuj maszynę stanów
<STACKNAME>-Create-Predictor
. - Na stronie szczegółów automatu stanów wybierz Rozpocznij wykonanie aby rozpocząć przekwalifikowanie.
Po zakończeniu ponownego szkolenia przepływ pracy zostanie zakończony i otrzymasz powiadomienie e-mail SNS na adres e-mail podany w parametrach szablonu obciążenia.
Sprzątać
Po zakończeniu korzystania z tego rozwiązania wykonaj czynności opisane w tej sekcji, aby usunąć powiązane zasoby.
Usuń wiadro S3
- Na konsoli Amazon S3 wybierz Wiadra w okienku nawigacji.
- Wybierz zasobnik, do którego przesłano dane i wybierz pusty usunąć wszystkie dane powiązane z rozwiązaniem, w tym dane źródłowe.
- Wchodzę
permanently delete
aby trwale usunąć zawartość zasobnika. - Na Wiadra stronę, wybierz wiadro i wybierz Usuń.
- Wprowadź nazwę zasobnika, aby potwierdzić usunięcie i wybierz Usuń zasobnik.
Usuń zasoby prognozy
- W konsoli Prognoza wybierz Wyświetl grupy zbiorów danych.
- Wybierz nazwę grupy zestawu danych skojarzoną z rozwiązaniem, a następnie wybierz Usuń.
- Wchodzę
delete
aby usunąć grupę zestawów danych i skojarzone predyktory, zadania eksportu testów historycznych predyktorów, prognozy i zadania eksportu prognoz. - Dodaj Usuń potwierdzać.
Usuń stosy CloudFormation
- W konsoli AWS CloudFormation wybierz Półki na książki w okienku nawigacji.
- Wybierz stos obciążeń i wybierz Usuń.
- Dodaj Usuń stos aby potwierdzić usunięcie stosu i wszystkich powiązanych zasobów.
- Po zakończeniu usuwania wybierz stos zależności i wybierz Usuń.
- Dodaj Usuń potwierdzać.
Wnioski
W tym poście omówiliśmy różne sposoby rozpoczęcia korzystania z prognozy. Przeszliśmy przez zautomatyzowane rozwiązanie do prognozowania oparte na AWS CloudFormation w celu szybkiego, powtarzalnego wdrożenia rozwiązania potoku prognozy od pozyskiwania danych do wnioskowania, przy niewielkiej wiedzy o infrastrukturze. Wreszcie zobaczyliśmy, jak możemy wykorzystać Lambdę do automatyzacji ponownego uczenia modeli, zmniejszając koszty i czas szkolenia.
Nie ma lepszego czasu niż teraźniejszość, aby rozpocząć prognozowanie w Forecast. Aby rozpocząć tworzenie i wdrażanie zautomatyzowanego przepływu pracy, odwiedź stronę Zasoby dotyczące prognozy Amazon. Miłego prognozowania!
O autorach
Aarona Fagana jest głównym architektem rozwiązań specjalistycznych w firmie AWS z siedzibą w Nowym Jorku. Specjalizuje się w pomaganiu klientom w architekturze rozwiązań z zakresu uczenia maszynowego i bezpieczeństwa w chmurze.
Raju Patila jest Data Scientist w AWS Professional Services. Tworzy i wdraża rozwiązania AI/ML, aby pomóc klientom AWS w pokonywaniu wyzwań biznesowych. Jego zaangażowanie w AWS obejmowało szeroki zakres zastosowań AI/ML, takich jak widzenie komputerowe, prognozowanie szeregów czasowych i analizy predykcyjne itp., w wielu branżach, w tym w usługach finansowych, telekomunikacji, opiece zdrowotnej i innych. Wcześniej kierował zespołami Data Science w dziale technologii reklamowych i wniósł znaczący wkład w liczne inicjatywy badawczo-rozwojowe w dziedzinie wizji komputerowej i robotyki. Poza pracą pasjonuje się fotografią, wędrówkami, podróżami i kulinarnymi poszukiwaniami.
- Dystrybucja treści i PR oparta na SEO. Uzyskaj wzmocnienie już dziś.
- PlatoAiStream. Analiza danych Web3. Wiedza wzmocniona. Dostęp tutaj.
- Wybijanie przyszłości w Adryenn Ashley. Dostęp tutaj.
- Kupuj i sprzedawaj akcje spółek PRE-IPO z PREIPO®. Dostęp tutaj.
- Źródło: https://aws.amazon.com/blogs/machine-learning/automate-the-deployment-of-an-amazon-forecast-time-series-forecasting-model/
- :ma
- :Jest
- :nie
- :Gdzie
- $W GÓRĘ
- 1
- 10
- 100
- 11
- 20
- 20 roku
- 2022
- 7
- 8
- 9
- a
- O nas
- Akceptuj
- dostęp
- Stosownie
- Konto
- precyzja
- uznać
- w poprzek
- działania
- przystosować
- Dodatkowy
- Dodatkowe informacje
- adres
- Reklama
- Po
- ponownie
- AI / ML
- algorytm
- Algorytmy
- Wszystkie kategorie
- Pozwalać
- pozwala
- sam
- już
- również
- Amazonka
- Prognoza Amazon
- ilość
- an
- analizuje
- analityka
- i
- Inne
- każdy
- api
- podejście
- właściwy
- zatwierdzony
- SĄ
- Szyk
- AS
- pomagać
- Współpracownik
- powiązany
- At
- zautomatyzować
- zautomatyzowane
- automatycznie
- Automatyzacja
- dostępny
- AWS
- Tworzenie chmury AWS
- Usługi profesjonalne AWS
- Analizy historycznej
- Bilans
- salda
- na podstawie
- Baseline
- BE
- bo
- zanim
- rozpocząć
- jest
- BEST
- Ulepsz Swój
- pomiędzy
- stronniczość
- Granica
- Pudełko
- Bringing
- przeglądarka
- budować
- Budowanie
- Buduje
- biznes
- ale
- by
- oblicza
- nazywa
- Połączenia
- CAN
- który
- walizka
- Etui
- Centrum
- wyzwania
- zmiana
- Zmiany
- ZOBACZ
- wybór
- Dodaj
- wybrał
- wybrany
- dokładnie
- Chmura
- Cloud Security
- kod
- Kodowanie
- kolekcja
- Kolumna
- COM
- wspólny
- porównać
- kompletny
- kompleks
- obliczenia
- obliczać
- komputer
- Wizja komputerowa
- Koncepcje
- zaniepokojony
- systemu
- Potwierdzać
- Konsola
- zawierać
- treść
- składki
- kontrola
- koordynować
- skorygowania
- Koszty:
- mógłby
- pokryty
- Stwórz
- stworzony
- tworzy
- Tworzenie
- tworzenie
- Klientów
- cykl
- Cykliczne
- codziennie
- dane
- zarządzanie danymi
- punkty danych
- nauka danych
- naukowiec danych
- zbiór danych
- zbiory danych
- dzień
- Dni
- zdecydować
- deklaruje
- Domyślnie
- Domyślnie
- zdefiniowane
- Definiuje
- definiowanie
- dostarczona
- W zależności
- zależy
- rozwijać
- wdrażane
- wdrażanie
- Wdrożenie
- wdrożenia
- wdraża się
- kaucja
- opisać
- opisane
- życzenia
- detal
- detale
- Ustalać
- deweloperzy
- oprogramowania
- różne
- trudny
- Wymiary
- Wymiary
- katalogi
- omówione
- do
- Nie
- zrobić
- pobieranie
- podczas
- każdy
- Wcześniej
- łatwiej
- bądź
- eliminuje
- włączony
- Umożliwia
- zakończenia
- koniec końców
- zapewnić
- Wchodzę
- Cały
- Środowisko
- środowiska
- Błędy
- oszacowanie
- itp
- oceniać
- Parzyste
- wydarzenie
- przykład
- egzekucja
- istnieć
- Przede wszystkim system został opracowany
- spodziewany
- oczekując
- doświadczenie
- eksport
- ułatwia
- fałszywy
- znajomy
- Korzyści
- pole
- Postać
- filet
- Akta
- Złożenie
- wypełniony
- W końcu
- budżetowy
- usługi finansowe
- Znajdź
- i terminów, a
- skupienie
- obserwuj
- następujący
- W razie zamówieenia projektu
- Prognoza
- Prognozy
- format
- naprzód
- Naprzód
- cztery
- Częstotliwość
- od
- w pełni
- funkcjonować
- Funkcje
- dalej
- przyszłość
- Generować
- wygenerowane
- generujący
- otrzymać
- Globalne
- Go
- będzie
- rządzi
- wykres
- wspaniały
- Zarządzanie
- Grupy
- poradnictwo
- poprowadzi
- Zaoszczędzić
- żniwa
- Have
- mający
- he
- Zdrowie
- Opieka zdrowotna
- pomoc
- pomoc
- pomaga
- tutaj
- wysoko
- jego
- historyczny
- horyzont
- Horyzonty
- godzina
- W jaki sposób
- How To
- Jednak
- HTML
- http
- HTTPS
- pomysły
- identyfikuje
- zidentyfikować
- tożsamość
- if
- ilustruje
- wdrożenia
- importować
- import
- in
- zawierać
- obejmuje
- Włącznie z
- przemysłowa
- wpływ
- informować
- Informacja
- Infrastruktura
- początkowy
- inicjatywy
- wkład
- zamiast
- najnowszych
- badać
- zaangażowany
- IT
- szt
- JEGO
- samo
- Praca
- Oferty pracy
- jpg
- Wiedzieć
- wiedza
- znany
- Kraj
- Nazwisko
- później
- firmy
- UCZYĆ SIĘ
- nauka
- najmniej
- Doprowadziło
- Dane Led
- pozwala
- wifecycwe
- lubić
- Linia
- mało
- usytuowany
- lokalizacja
- długo
- od
- low-cost
- niższy
- maszyna
- uczenie maszynowe
- maszyny
- zrobiony
- Dokonywanie
- zarządzanie
- zarządzane
- i konserwacjami
- kierownik
- zarządza
- zarządzający
- ręcznie
- wiele
- maksymalny
- Może..
- Poznaj nasz
- Menu
- Metadane
- metoda
- metody
- metryczny
- Metryka
- może
- minimum
- chwila
- brakujący
- ML
- model
- modele
- modyfikować
- monitorowanie
- miesięcznie
- jeszcze
- ruch
- wielokrotność
- musi
- Nazwa
- Nazwy
- Nawigacja
- Nawigacja
- niezbędny
- Potrzebować
- wymagania
- Nowości
- I Love New York
- Następny
- Nie
- notatnik
- powiadomienie
- Powiadomienia
- już dziś
- numer
- liczny
- przedmiot
- obiekty
- uzyskać
- of
- on
- ONE
- tylko
- koncepcja
- open source
- Optymalizacja
- Opcje
- or
- zamówienie
- Inne
- Inaczej
- ludzkiej,
- na zewnątrz
- wyniki
- opisane
- wydajność
- zewnętrzne
- koniec
- ogólny
- własny
- strona
- pandy
- chleb
- parametr
- parametry
- część
- procent
- wykonać
- jest gwarancją najlepszej jakości, które mogą dostarczyć Ci Twoje monitory,
- na stałe
- uprawnienia
- fotografia
- fizyczny
- rurociąg
- Miejsce
- wprowadzanie
- krok po kroku
- plato
- Analiza danych Platona
- PlatoDane
- zwrotnica
- możliwy
- Post
- Przewiduje
- przewidywanie
- przepowiednia
- Przewidywania
- Analityka predykcyjna
- Urządzenie prognozujące
- Prognozy
- Przygotować
- teraźniejszość
- przedstawione
- poprzedni
- Główny
- Wcześniejszy
- wygląda tak
- Obrobiony
- przetwarzanie
- produkować
- Produkcja
- profesjonalny
- programowy
- Postęp
- zapewniać
- pod warunkiem,
- zapewnia
- że
- publicznie
- Python
- zapytania
- pytania
- Szybki
- szybko
- zasięg
- szybki
- raczej
- Surowy
- gotowy
- otrzymać
- polecić
- rekord
- dokumentacja
- powtarzające się
- zmniejszyć
- redukcja
- , o którym mowa
- odnosi
- regularny
- związane z
- stosunkowo
- polegać
- usuwanie
- powtarzalne
- WIELOKROTNIE
- powtarzalne
- wymagany
- Badania naukowe
- badania i rozwój
- zarezerwowany
- sprężysty
- Rozkład
- Zasoby
- wynikły
- Efekt
- ponownie
- recenzowanie
- robotyka
- Rola
- role
- run
- bieganie
- taki sam
- Przykładowy zbiór danych
- zadowolony
- Skala
- rozkład
- nauka
- Naukowiec
- Naukowcy
- płynnie
- Sekcja
- działy
- bezpieczne
- bezpieczeństwo
- widzieć
- wybrany
- wybór
- Serie
- Bezserwerowe
- Serwery
- służy
- usługa
- Usługi
- zestaw
- ustawienie
- shared
- Short
- powinien
- Targi
- znaczący
- Prosty
- po prostu
- ponieważ
- pojedynczy
- So
- rozwiązanie
- Rozwiązania
- kilka
- coś
- Źródło
- specjalista
- specjalizuje się
- określony
- rozpiętość
- stabilny
- stos
- inscenizacja
- standard
- początek
- rozpoczęty
- Startowy
- Stan
- Rynek
- Ewolucja krok po kroku
- Cel
- przechowywanie
- sklep
- Strategia
- sznur
- Struktura
- taki
- Utrzymany
- system
- systemy
- stół
- Brać
- trwa
- cel
- Zadanie
- zadania
- Zespoły
- Technologia
- Telecom
- szablon
- Szablony
- test
- niż
- że
- Połączenia
- Źródło
- Państwo
- ich
- Im
- następnie
- Tam.
- Te
- rzeczy
- to
- trzy
- Przez
- poprzez
- czas
- Szereg czasowy
- znak czasu
- do
- razem
- narzędzie
- aktualny
- w kierunku
- Pociąg
- przeszkolony
- Trening
- przemiany
- przejście
- podróżować
- wyzwalać
- prawdziwy
- drugiej
- rodzaj
- typy
- zazwyczaj
- Niepewność
- dla
- zrozumieć
- jednostek
- Aktualizacja
- przesłanych
- URL
- posługiwać się
- przypadek użycia
- używany
- Użytkownicy
- za pomocą
- wartość
- Wartości
- różnorodny
- początku.
- przez
- wizja
- Odwiedzić
- wyobrażanie sobie
- chodził
- chcieć
- była
- Droga..
- sposoby
- we
- tygodniowy
- DOBRZE
- Co
- jeśli chodzi o komunikację i motywację
- czy
- który
- szeroki
- Szeroki zasięg
- będzie
- w
- w ciągu
- bez
- słowo
- Praca
- napisać
- napisany
- lat
- york
- You
- Twój
- zefirnet
- Zamek błyskawiczny