Niezależnie od tego, czy efektywniej przydzielasz zasoby dla ruchu w sieci, prognozujesz zapotrzebowanie pacjentów na potrzeby kadrowe, czy przewidujesz sprzedaż produktów firmy, prognozowanie jest niezbędnym narzędziem w wielu firmach. Jeden konkretny przypadek użycia, znany jako prognozowanie zimnego startu, tworzy prognozy dla szeregów czasowych, które zawierają niewiele istniejących danych historycznych lub nie zawierają ich wcale, na przykład nowy produkt, który właśnie wszedł na rynek w branży detalicznej. Tradycyjne metody prognozowania szeregów czasowych, takie jak autoregresyjna zintegrowana średnia krocząca (ARIMA) lub wygładzanie wykładnicze (ES), w dużym stopniu opierają się na historycznych szeregach czasowych poszczególnych produktów, a zatem nie są skuteczne w prognozowaniu zimnego startu.
W tym poście pokazujemy, jak zbudować silnik prognozujący zimny start za pomocą AutoGluon AutoML do prognozowania szeregów czasowych, pakiet Pythona o otwartym kodzie źródłowym do automatyzacji uczenia maszynowego (ML) na danych graficznych, tekstowych, tabelarycznych i szeregów czasowych. AutoGluon zapewnia kompleksowy proces automatycznego uczenia maszynowego (AutoML) dla początkujących i doświadczonych programistów ML, dzięki czemu jest najdokładniejszym i najłatwiejszym w użyciu w pełni zautomatyzowanym rozwiązaniem. Korzystamy z darmowego Laboratorium Amazon SageMaker Studio usługi dla tej demonstracji.
Wprowadzenie do szeregów czasowych AutoGluon
AutoGluon to wiodąca biblioteka typu open source dla AutoML dla danych tekstowych, graficznych i tabelarycznych, umożliwiająca tworzenie bardzo dokładnych modeli z nieprzetworzonych danych za pomocą tylko jednego wiersza kodu. Ostatnio zespół pracował nad rozszerzeniem tych możliwości na dane szeregów czasowych i opracował zautomatyzowany moduł prognozowania, który jest publicznie dostępny na GitHub, autogluon.forecasting
Moduł automatycznie przetwarza nieprzetworzone dane szeregów czasowych do odpowiedniego formatu, a następnie trenuje i dostraja różne najnowocześniejsze modele uczenia głębokiego w celu uzyskania dokładnych prognoz. W tym poście pokazujemy, jak używać autogluon.forecasting
i zastosować go do zadań prognozowania zimnego startu.
Omówienie rozwiązania
Ponieważ AutoGluon jest pakietem Pythona o otwartym kodzie źródłowym, możesz zaimplementować to rozwiązanie lokalnie na laptopie lub w Amazon SageMaker Studio Lab. Przechodzimy przez następujące kroki:
- Skonfiguruj AutoGluon dla Amazon SageMaker Studio Lab.
- Przygotuj zbiór danych.
- Zdefiniuj parametry treningu za pomocą AutoGluon.
- Wytrenuj silnik prognozowania zimnego startu pod kątem prognozowania szeregów czasowych.
- Wizualizuj prognozy dotyczące zimnego startu.
Kluczowym założeniem prognozowania zimnego startu jest to, że pozycje o podobnych cechach powinny mieć podobne trajektorie szeregów czasowych, co umożliwia prognozowaniu zimnego startu w przypadku pozycji bez danych historycznych, jak pokazano na poniższym rysunku.
W naszym omówieniu używamy syntetycznego zbioru danych opartego na zużyciu energii elektrycznej, który składa się z godzinowych szeregów czasowych dla 370 pozycji, z których każdy ma item_id
od 0-369. W ramach tego syntetycznego zbioru danych każdy item_id
jest również powiązana z funkcją statyczną (funkcją, która nie zmienia się w czasie). Szkolimy GłębokiAR model za pomocą AutoGluon, aby poznać typowe zachowanie podobnych przedmiotów i przenieść takie zachowanie, aby dokonać przewidywań dotyczących nowych przedmiotów (item_id
370–373), które nie mają danych historycznych szeregów czasowych. Chociaż demonstrujemy podejście do prognozowania zimnego startu z tylko jedną funkcją statyczną, w praktyce posiadanie informacyjnych i wysokiej jakości funkcji statycznych jest kluczem do dobrej prognozy zimnego startu.
Poniższy diagram przedstawia ogólny przegląd naszego rozwiązania. Kod open source jest dostępny na GitHub repo.
Wymagania wstępne
W tej instrukcji należy spełnić następujące wymagania wstępne:
- An Konto Amazon SageMaker Studio Lab
- GitHub dostęp do konta
Zaloguj się na swoje konto Amazon SageMaker Studio Lab i skonfiguruj środowisko za pomocą terminala:
Te instrukcje powinny również działać na twoim laptopie, jeśli nie masz dostępu do Amazon SageMaker Studio Lab (zalecamy najpierw zainstalowanie Anacondy na laptopie).
Po pełnym skonfigurowaniu środowiska wirtualnego uruchom notebook AutoGluon-cold-start-demo.ipynb
i wybierz niestandardowe środowisko .conda-autogluon:Python
jądro.
Przygotuj docelowe szeregi czasowe i zestaw metadanych pozycji
Pobierz następujące zbiory danych do swojej instancji notatnika, jeśli nie są one uwzględnione, i zapisz je w katalogu data/
. Możesz znaleźć te zbiory danych na naszym GitHub repo:
- test.csv.gz
- coldStartTargetData.csv
- itemMetaData.csv
Uruchom następujący fragment kodu, aby załadować docelowy zestaw danych szeregów czasowych do jądra:
Szeregi czasowe AutoGluon wymagają, aby cechy statyczne były reprezentowane w formacie liczbowym. Można to osiągnąć poprzez zastosowanie LabelEncoder()
na naszej funkcji statycznej type
, gdzie kodujemy A=0, B=1, C=2, D=3 (patrz poniższy kod). Domyślnie AutoGluon zakłada, że funkcja statyczna jest porządkowa lub kategoryczna. Można to również zastąpić, konwertując kolumnę funkcji statycznej na typ danych obiektu/ciągu w przypadku obiektów kategorialnych lub typ danych całkowitych/zmiennoprzecinkowych w przypadku obiektów porządkowych.
Skonfiguruj i rozpocznij szkolenie modelu AutoGluon
Musimy określić save_path = ‘autogluon-coldstart-demo’
jako nazwę folderu artefaktów modelu (patrz poniższy kod). Ustawiliśmy również nasze eval_metric
as średni bezwzględny błąd procentowylub ‘MAPE’
w skrócie, gdzie zdefiniowaliśmy prediction_length
jak 24 godziny. Jeśli nie określono, AutoGluon domyślnie tworzy prognozy probabilistyczne i ocenia je za pomocą ważona strata kwantylowa. Patrzymy tylko na Model DeepAR w naszym demo, ponieważ wiemy, że algorytm DeepAR umożliwia przewidywanie zimnego startu zgodnie z projektem. Ustawiamy jeden z hiperparametrów DeepAR arbitralnie i przekazujemy ten hiperparametr do ForecastingPredictor().fit()
dzwonić. Pozwala to AutoGluonowi zajrzeć tylko do określonego modelu. Aby uzyskać pełną listę przestrajalnych hiperparametrów, zobacz pakiet gluonts.model.deepar.
Szkolenie trwa 30–45 minut. Podsumowanie modelu można uzyskać, wywołując następującą funkcję:
Prognoza dotycząca pozycji zimnego startu
Teraz jesteśmy gotowi do wygenerowania prognoz dla elementu zimnego startu. Zalecamy mieć co najmniej pięć rzędów dla każdego item_id
. Dlatego dla item_id
który ma mniej niż pięć obserwacji, wypełniamy NaNs. W naszym demo zarówno item_id
370 i 372 mają zerową obserwację, czysty problem zimnego startu, podczas gdy pozostałe dwa mają pięć wartości docelowych.
Załaduj w docelowym zestawie danych szeregów czasowych zimny start następującym kodem:
Wprowadzamy szeregi czasowe docelowego zimnego startu do naszego modelu AutoGluon, wraz z zestawem meta danych pozycji dla zimnego startu item_id
:
Wizualizuj prognozy
Możemy utworzyć funkcję kreślenia, aby wygenerować wizualizację prognozowania zimnego startu, jak pokazano na poniższym wykresie.
Sprzątać
Aby zoptymalizować wykorzystanie zasobów, rozważ zatrzymanie środowiska wykonawczego w Amazon SageMaker Studio Lab po pełnym zapoznaniu się z notebookiem.
Wnioski
W tym poście pokazaliśmy, jak zbudować silnik prognozowania zimnego startu przy użyciu AutoGluon AutoML dla danych szeregów czasowych w Amazon SageMaker Studio Lab. Dla tych z Was, którzy zastanawiają się nad różnicą między Prognoza Amazon i AutoGluon (seria czasowa), Amazon Forecast to w pełni zarządzana i obsługiwana usługa, która wykorzystuje uczenie maszynowe (ML) do generowania bardzo dokładnych prognoz bez konieczności wcześniejszego doświadczenia z ML. Podczas gdy AutoGluon to projekt typu open source, który jest wspierany przez społeczność dzięki najnowszym wkładom badawczym. Przeszliśmy przez kompletny przykład, aby zademonstrować, do czego zdolny jest AutoGluon dla szeregów czasowych, oraz dostarczyliśmy zestaw danych i przypadek użycia.
AutoGluon dla danych szeregów czasowych jest pakietem Pythona o otwartym kodzie źródłowym i mamy nadzieję, że ten post, wraz z naszym przykładem kodu, da Ci proste rozwiązanie do rozwiązywania trudnych problemów z prognozowaniem zimnego startu. Możesz uzyskać dostęp do całego przykładu na naszym GitHub repo. Wypróbuj i daj nam znać, co myślisz!
O autorach
Iwan Cui jest Data Scientist w AWS Professional Services, gdzie pomaga klientom budować i wdrażać rozwiązania wykorzystujące uczenie maszynowe w AWS. Pracował z klientami z różnych branż, w tym oprogramowania, finansów, farmacji i opieki zdrowotnej. W wolnym czasie lubi czytać, spędzać czas z rodziną i maksymalizować swój portfel giełdowy.
Jonasz Mueller jest starszym naukowcem stosowanym w grupie AI Research and Education w AWS, gdzie opracowuje nowe algorytmy usprawniające głębokie uczenie i rozwijające zautomatyzowane uczenie maszynowe. Przed dołączeniem do AWS, aby zdemokratyzować ML, ukończył doktorat w Laboratorium Informatyki i Sztucznej Inteligencji MIT. W wolnym czasie lubi eksplorować góry i plener.
Wenming Tak jest kierownikiem ds. produktów badawczych w AWS AI. Jego pasją jest pomaganie naukowcom i klientom korporacyjnym w szybkim skalowaniu ich innowacji dzięki najnowocześniejszej technologii uczenia maszynowego typu open source. Wenming ma zróżnicowane doświadczenie w zakresie badań i rozwoju od Microsoft Research, zespołu inżynierów SQL i udanych start-upów.
- Coinsmart. Najlepsza w Europie giełda bitcoinów i kryptowalut.
- Platoblockchain. Web3 Inteligencja Metaverse. Wzmocniona wiedza. DARMOWY DOSTĘP.
- CryptoJastrząb. Radar Altcoin. Bezpłatna wersja próbna.
- Źródło: https://aws.amazon.com/blogs/machine-learning/build-a-cold-start-time-series-forecasting-engine-using-autogluon/
- "
- 100
- 9
- O nas
- bezwzględny
- dostęp
- Konto
- dokładny
- osiągnięty
- w poprzek
- AI
- ai badania
- algorytm
- Algorytmy
- Pozwalać
- Chociaż
- Amazonka
- Stosowanie
- podejście
- sztuczny
- sztuczna inteligencja
- zautomatyzowane
- dostępny
- średni
- AWS
- budować
- Buduje
- biznes
- wezwanie
- Może uzyskać
- możliwości
- CD
- zmiana
- Koszyk
- kod
- Kolumna
- społeczność
- Firma
- Computer Science
- konsumpcja
- Klientów
- dane
- naukowiec danych
- Kreowanie
- rozwijać
- Wnętrze
- rozwijać
- rozwinięty
- deweloperzy
- Nie
- Edukacja
- Efektywne
- elektryczność
- Inżynieria
- wpisana
- Enterprise
- Środowisko
- niezbędny
- przykład
- doświadczenie
- doświadczony
- rozciągać się
- członków Twojej rodziny
- Cecha
- Korzyści
- Postać
- finansować
- i terminów, a
- następujący
- format
- Darmowy
- pełny
- funkcjonować
- przyszłość
- Generować
- git
- dobry
- Zarządzanie
- mający
- opieki zdrowotnej
- pomaga
- wysoko
- historyczny
- W jaki sposób
- How To
- HTTPS
- obraz
- wdrożenia
- podnieść
- włączony
- Włącznie z
- indywidualny
- przemysłowa
- przemysł
- zintegrowany
- Inteligencja
- IT
- Klawisz
- znany
- laptopa
- firmy
- uruchomić
- prowadzący
- UCZYĆ SIĘ
- nauka
- Biblioteka
- Linia
- Lista
- mało
- załadować
- maszyna
- uczenie maszynowe
- Dokonywanie
- kierownik
- rynek
- Meta
- Microsoft
- MIT
- ML
- model
- modele
- większość
- przeniesienie
- nowy produkt
- notatnik
- kod open source
- Inne
- na zewnątrz
- procent
- Przemysł farmaceutyczny
- teczka
- Przewidywania
- Problem
- problemy
- procesów
- produkować
- Produkt
- Produkty
- profesjonalny
- projekt
- zapewnia
- R & D
- Surowy
- Czytający
- polecić
- Badania naukowe
- Zasób
- Zasoby
- detaliczny
- sole
- Skala
- skalowaniem
- nauka
- Naukowiec
- Serie
- usługa
- Usługi
- zestaw
- Short
- podobny
- Tworzenie
- Rozwiązania
- Spędzanie
- początek
- Startups
- stany magazynowe
- studio
- udany
- Utrzymany
- cel
- zadania
- zespół
- Technologia
- terminal
- Przez
- czas
- razem
- tradycyjny
- ruch drogowy
- Trening
- pociągi
- us
- posługiwać się
- Wirtualny
- wyobrażanie sobie
- sieć
- Co
- KIM
- w ciągu
- bez
- Praca
- pracował
- pracujący
- zero