W artykule omówiono obszary zastosowań szeregów czasowych, problemy do rozwiązania oraz stosowane algorytmy. Prognozowanie szeregów czasowych wykorzystywane jest w zadaniach takich jak prognozowanie zapotrzebowania, obciążenia contact center, ruchu drogowego i internetowego, rozwiązywanie problemu zimnego startu w systemach rekomendacyjnych oraz wyszukiwanie anomalii w zachowaniu sprzętu i użytkowników.
Przyjrzyjmy się zadaniom bardziej szczegółowo.
1) Prognozowanie popytu.
Cel: redukcja kosztów magazynowania i optymalizacja harmonogramu pracy personelu.
Jak to rozwiązać: mając prognozę zakupów towaru i liczbę klientów, minimalizujemy ilość towaru w magazynie i przechowujemy dokładnie tyle, ile zostanie zakupione w danym przedziale czasowym. Znając ilość klientów w danym momencie, ułożymy optymalny harmonogram pracy tak, aby przy minimalnych kosztach zapewnić wystarczającą liczbę pracowników.
2) Prognozowanie obciążenia usługi dostawczej
Cel: zapobieganie załamaniom logistycznym podczas szczytowych obciążeń.
Jak to rozwiązać: prognozując liczbę zamówień, sprowadź na linię optymalną liczbę samochodów i kurierów.
3) Prognozowanie obciążenia contact center
Cel: zapewnienie wymaganej dostępności contact center przy jednoczesnej minimalizacji kosztów funduszu wynagrodzeń.
Sposób rozwiązania: prognozowanie liczby połączeń w czasie, tworzenie optymalnego harmonogramu dla operatorów.
4) Prognozowanie ruchu
Cel: przewidzieć liczbę serwerów i przepustowość, aby zapewnić stabilną pracę. Aby Twój serwis nie uległ awarii w dniu premiery popularnego serialu czy meczu piłkarskiego 😉
5) Prognozowanie optymalnego czasu odbioru bankomatu
Cel: minimalizacja ilości gotówki zgromadzonej w sieci bankomatów
6) Rozwiązania problemu zimnego rozruchu w systemach rekomendacyjnych
Cel: Poleć odpowiednie produkty nowym użytkownikom.
Gdy użytkownik dokonał kilku zakupów, można zbudować wspólny algorytm filtrowania rekomendacji, natomiast gdy nie ma informacji o użytkowniku, optymalnie będzie polecić najpopularniejsze produkty.
Rozwiązanie: Popularność produktów zależy od czasu wystawienia rekomendacji. Korzystanie z prognozowania szeregów czasowych pomaga zidentyfikować odpowiednie produkty w dowolnym momencie.
Przyjrzeliśmy się lifehackom do tworzenia systemów rekomendujących
7) Szukaj anomalii
Cel: identyfikacja problemów w działaniu urządzeń oraz sytuacji niestandardowych w biznesie
Rozwiązanie: Jeśli zmierzona wartość wykracza poza prognozowany przedział ufności, wykryto anomalię. Jeżeli jest to elektrownia atomowa to czas zwiększyć kwadrat odległości 😉
Algorytmy rozwiązywania problemu
1) Średnia krocząca
Najprostszym algorytmem jest średnia ruchoma. Obliczmy średnią wartość kilku ostatnich elementów i dokonajmy prognozy. W przypadku prognoz pogody dłuższych niż 10 dni stosuje się podobne podejście.
Gdy ważne jest, aby ostatnie wartości w szeregu miały większą wagę, wprowadzamy współczynniki w zależności od odległości daty, uzyskując model ważony:
Można więc ustawić współczynnik W tak, aby maksymalna waga przypadała na ostatnie 2 dni i dni wejścia.
Uwzględnienie czynników cyklicznych
Na jakość rekomendacji mogą mieć wpływ czynniki cykliczne, takie jak zbieżność z dniem tygodnia, datą, poprzedzającymi świętami itp.
Ryż. 1. Przykład rozkładu szeregów czasowych na trend, składnik sezonowy i szum
Wygładzanie wykładnicze jest rozwiązaniem uwzględniającym czynniki cykliczne.
Przyjrzyjmy się 3 podstawowym podejściom
1. Proste wygładzanie (model brązowy)
Reprezentuje obliczenie średniej ważonej dla dwóch ostatnich elementów serii.
2. Podwójne wygładzanie (model Holta)
Uwzględnia zmiany trendu i wahania wartości rezydualnych wokół tego trendu.
Obliczamy przewidywanie zmian reszt ® i trendu (d). Ostateczna wartość y jest sumą tych dwóch wielkości.
3. Wygładzanie potrójne (model Holta-Wintersa)
Potrójne wygładzanie uwzględnia dodatkowo wahania sezonowe.
Formuły potrójnego wygładzania.
Algorytm ARIMA i SARIMA
Osobliwością szeregów czasowych do wykorzystania ARIMA jest związek między przeszłymi wartościami powiązanymi z obecnymi i przyszłymi.
SARIMA – rozszerzenie serii z elementem sezonowym. SARIMAX to rozszerzenie zawierające komponent regresji zewnętrznej.
Modele ARIMA umożliwiają symulację zintegrowanych lub różnicowo-stacjonarnych szeregów czasowych.
Podejście ARIMA do szeregów czasowych polega na tym, że najpierw ocenia się stacjonarność szeregu.
Następnie szereg przekształca się poprzez przyjęcie różnicy odpowiedniego rzędu i dla przekształconego modelu konstruuje się model ARMA.
ARMA to liniowy model regresji wielokrotnej.
Ważne jest, aby szereg był stacjonarny, tj. średnia i wariancja nie uległy zmianie. Jeżeli szereg jest niestacjonarny, należy go doprowadzić do postaci stacjonarnej.
XGBoost – gdzie byśmy byli bez niego?
Jeśli seria nie ma wewnętrznej wyrażonej struktury, ale istnieją zewnętrzne czynniki wpływające (menedżer, pogoda itp.), wówczas można bezpiecznie zastosować modele uczenia maszynowego, takie jak wzmacnianie, lasy losowe, regresja, sieci neuronowe i SVM.
Z doświadczenia zespołu DANE4, prognozowanie szeregów czasowych, jednym z głównych zadań rozwiązywania problemów jest optymalizacja kosztów magazynowych, kosztów osobowych, optymalizacja utrzymania sieci bankomatów, logistyki i budowania systemów rekomendacji. Złożone modele, takie jak SARIMA, dają wyniki wysokiej jakości, ale są czasochłonne i nadają się tylko do określonego zakresu zadań.
W następnym artykule przyjrzymy się głównym sposobom poszukiwania anomalii.
Aby mieć pewność, że artykuły odpowiadają Twoim zainteresowaniom, wypełnij poniższą ankietę lub napisz w komentarzach, o jakich tematach pisać w kolejnych artykułach.
W ankiecie mogą brać udział tylko zarejestrowani użytkownicy.
Artykuły na jaki temat Cię interesują?
-
Systemy rekomendacyjne
-
Rozpoznawanie obrazu
-
Przetwarzanie mowy i tekstu
-
Nowe architektury w DNN
-
Szeregi czasowe i wyszukiwanie anomalii
-
ML w biznesie, przypadki użycia
Głosowało 17 użytkowników. 3 użytkowników wstrzymało się od głosu.
Źródło: www.habr.com