Článek pojednává o rozsahu časových řad, úlohách k řešení a použitých algoritmech. Prognóza časových řad se používá v takových úlohách, jako je předpověď poptávky, předpověď zatížení kontaktního centra, silniční a internetový provoz, řešení problému studeného startu v systémech doporučování a vyhledávání anomálií v chování zařízení a uživatelů.
Podívejme se na úkoly podrobněji.
1) Prognóza poptávky.
Účel: snížit náklady na skladování a optimalizovat pracovní rozvrh zaměstnanců.
Jak je to řešeno: díky předpovědi nákupů zboží a počtu zákazníků minimalizujeme množství zboží na skladě a skladujeme přesně tolik, kolik v daném časovém rozmezí nakoupí. Se znalostí počtu klientů v daném okamžiku sestavíme optimální harmonogram práce tak, aby byl dostatek personálu s minimem nákladů.
2) Předvídání zatížení zásilkové služby
Účel: zabránit kolapsu logistiky při špičkovém zatížení.
Jak se to řeší: predikce počtu objednávek, přistavení optimálního počtu aut a kurýrů na linku.
3) Predikce zatížení kontaktního centra
Účel: zajistit požadovanou dostupnost kontaktního centra s minimálními náklady na mzdový fond.
Jak se to řeší: předpovídáme počet hovorů včas, vytvoříme optimální harmonogram pro operátory.
4) Predikce provozu
Účel: předpovědět počet serverů a šířku pásma pro stabilní provoz. Aby vaše služba nepřipadla na den premiéry oblíbeného seriálu nebo fotbalového zápasu 😉
5) Předpovídání optimální doby vyzvednutí bankomatů
Cíl: Minimalizovat množství hotovosti uložené v síti bankomatů
6) Řešení problému se studeným startem v doporučovacích systémech
Účel: doporučit relevantní produkty novým uživatelům.
Když uživatel provedl několik nákupů, lze pro doporučení sestavit algoritmus kolaborativního filtrování, ale pokud o uživateli nejsou žádné informace, je optimální doporučit nejoblíbenější produkty.
Řešení: Oblíbenost produktů závisí na době, kdy je doporučení učiněno. Použití prognóz časových řad pomáhá identifikovat relevantní produkty v jakémkoli konkrétním okamžiku.
Life hacky pro budování doporučovacích systémů jsou diskutovány v
7) Hledejte anomálie
Účel: identifikovat problémy v provozu zařízení a nestandardní situace v podnikání
Řešení: Pokud je naměřená hodnota mimo interval spolehlivosti prognózy, byla identifikována anomálie. Pokud se jedná o jadernou elektrárnu, je na čase zvětšit druhou mocninu vzdálenosti 😉
Algoritmy pro řešení problému
1) Klouzavý průměr
Nejjednodušší algoritmus je klouzavý průměr. Pojďme vypočítat průměr posledních několika prvků a provést předpověď. Pro předpovědi počasí delší než 10 dní se používá podobný přístup.
Když je důležité, aby poslední hodnoty v řadě přispěly větší váhou, zavedeme koeficienty v závislosti na vzdálenosti data, čímž získáme vážený model:
Můžete tedy nastavit koeficient W tak, aby maximální váha připadala na poslední 2 dny a vstupní dny.
Účtování cyklických faktorů
Kvalitu doporučení mohou ovlivnit cyklické faktory, jako je shoda se dnem v týdnu, datum, přednost svátků atd.
Rýže. 1. Příklad rozkladu časové řady na trend, sezónní složku a šum
Exponenciální vyhlazování je řešením pro zohlednění cyklických faktorů.
Zvažte 3 základní přístupy
1. Jednoduché vyhlazení (hnědý model)
Představuje výpočet váženého průměru na posledních 2 prvcích řady.
2. Dvojité vyhlazování (Holt model)
Bere v úvahu změnu trendu a kolísání zbytkových hodnot kolem tohoto trendu.
Vypočítáme predikci změny reziduí ® a trendu (d). Konečná hodnota y je součtem těchto dvou hodnot.
3. Trojité vyhlazování (model Holt-Winters)
Trojité vyhlazování navíc zohledňuje sezónní výkyvy.
Vzorce pro trojité vyhlazení.
Algoritmus ARIMA a SARIMA
Rysem časových řad pro aplikaci ARIMA je vztah minulých hodnot spojených se současností a budoucností.
SARIMA je rozšíření pro řady se sezónní složkou. SARIMAX je rozšíření, které obsahuje externí regresní komponentu.
Modely ARIMA umožňují modelovat integrované nebo rozdílově stacionární časové řady.
Přístup ARIMA k časovým řadám spočívá v tom, že se nejprve vyhodnotí stacionarita řad.
Dále je řada transformována převzetím rozdílu odpovídajícího pořadí a již pro transformovaný model je postaven nějaký ARMA model.
ARMA je lineární vícenásobný regresní model.
Je důležité, aby řada byla stacionární, tzn. průměr a rozptyl se nezměnily. Pokud je řada nestacionární, měla by být redukována na stacionární formu.
XGBoost – kde bez něj
Pokud série nemá vnitřní vyjádřenou strukturu, ale existují vnější ovlivňující faktory (manažer, počasí atd.), pak můžete bezpečně použít takové modely strojového učení, jako je boosting, náhodné lesy, regrese, neuronové sítě a SVM.
Ze zkušeností týmu ÚDAJE4, predikce časových řad, jeden z hlavních úkolů pro řešení optimalizace skladových nákladů, osobních nákladů, optimalizace údržby sítí bankomatů, logistiky a systémů doporučování budov. Komplexní modely, jako je SARIMA, poskytují vysoce kvalitní výsledky, ale vyžadují hodně času a jsou vhodné pouze pro určitý rozsah úkolů.
V příštím článku se budeme zabývat hlavními přístupy k hledání anomálií.
Aby byly články relevantní pro vaše zájmy, vyplňte níže uvedený průzkum nebo napište do komentářů, o jakých tématech psát další články.
Průzkumu se mohou zúčastnit pouze registrovaní uživatelé.
Články na jaké téma vás zajímá
-
Systémy doporučení
-
Rozpoznávání obrazu
-
Zpracování řeči a textu
-
Nové architektury v DNN
-
Časové řady a hledání anomálií
-
ML v podnikání, případy použití
Hlasovalo 17 uživatelů. 3 uživatelů se zdrželo hlasování.
Zdroj: www.habr.com