Katz - Framework pre Analýzu Časových Radov
Cieľom Kats je poskytnúť komplexné služby pre analýzu časových radov, od pochopenia kľúčových štatistík a zisťovania anomálií až po predpovedanie trendov, extrakciu/vkladanie prvkov, viacrozmernú analýzu atď.
Analýza časových radov je základnou oblasťou dátovej vedy a strojového učenia s masívnymi aplikáciami v rôznych odvetviach, ako je elektronický obchod, financie, plánovanie kapacít, riadenie dodávateľského reťazca, medicína, počasie, energetika, astronómia a mnohé ďalšie.
Analýza časových radov
Analýza časových radov ako štatistická technika sa používa na skúmanie a modelovanie údajov závislých od času. Medzi spoločné vlastnosti nástrojov analýzy časových radov patria:
- Rozklad časových radov: schopnosť rozložiť časový rad na jeho zložky, ako sú trend, sezónnosť a rezíduá.
- Predpovedanie: schopnosť predpovedať budúce hodnoty časového radu na základe minulých údajov
- Detekcia anomálií: schopnosť identifikovať neobvyklé alebo neočakávané správanie v časovom rade
- Multivariačná analýza: schopnosť analyzovať viac časových radov súčasne, pričom sa zohľadňujú vzťahy medzi nimi
- Extrakcia/vkladanie znakov: schopnosť extrahovať zmysluplné znaky z údajov časových radov alebo reprezentovať údaje časových radov v menej rozmernom priestore na účely ďalšej analýzy.
Toto je len niekoľko príkladov typov funkcií, ktoré môže obsahovať nástroj na analýzu časových radov. Pozrime sa, čo nám môže poskytnúť Kats.
Všetko v jednom
Kats je ľahký, ľahko použiteľný a zovšeobecniteľný rámec na všeobecnú analýzu časových radov vrátane prognózovania, zisťovania anomálií, viacrozmernej analýzy a extrakcie/vkladania prvkov.
Kats je prvá komplexná knižnica jazyka Python na všeobecnú analýzu časových radov, ktorá poskytuje klasické aj pokročilé techniky na modelovanie údajov časových radov.
Kats spája rôzne oblasti analýzy časových radov, v ktorých môžu používatelia skúmať základné charakteristiky svojich údajov časových radov, predpovedať budúce hodnoty, sledovať anomálie a začleňovať ich do svojich ML modelov a pipeline.
Čo Kats robí
Kats poskytuje súbor algoritmov a modelov pre štyri oblasti v analýze časových radov: predpovedanie, detekciu, extrakciu a vkladanie príznakov a viacrozmernú analýzu.
Predpovedanie: Kats poskytuje kompletnú sadu nástrojov na prognózovanie, ktorá zahŕňa viac ako 10 individuálnych prognostických modelov, ensembling, model samoučenia (meta-learning), spätné testovanie, ladenie hyperparametrov a empirické intervaly predpovedí.
Detekcia: Kats podporuje funkcie na zisťovanie rôznych vzorov na údajoch časových radov vrátane sezónnosti, odľahlých hodnôt, bodu zmeny a pomalých trendových zmien.
Extrakcia a vkladanie znakov: Modul extrakcie funkcií časových radov (TSFeature) v systéme Kats dokáže vytvoriť 65 funkcií s jasnými štatistickými definíciami, ktoré možno začleniť do väčšiny modelov strojového učenia (ML), ako je klasifikácia a regresia.
Užitočné nástroje: Kats poskytuje aj súbor užitočných utilít, ako sú simulátory časových radov.
Inštalácia v jazyku Python
Kats je na PyPI, takže na jeho inštaláciu môžete použiť pip
.
|
|
Príklad prognózovania
Použitie modelu Prophet
na predpovedanie súboru údajov air_passengers
.
|
|
Príklady detekcie
Pomocou Kats možno získať nasledujúce závery:
- Outlier Detection: Zisťuje nárast alebo pokles anomálie v časovom rade.
- Detekcia bodu zmeny: Zisťuje náhle zmeny v časovom rade. V Kats sú na tento proces 3 rôzne algoritmy:
- Detekcia CUSUM
- Bayesovská online detekcia bodu zmeny (BOCPD)
- Detekcia Stat Sig
- Detekcia zmeny trendu: Zisťuje zmeny trendu časového radu pomocou algoritmu Mann-Kendall Detection.
Detekcia odľahlých hodnôt
Na detekciu odchýlok sa vyžaduje minimálne 24 riadkov údajov.
|
|
Odchýlky zistené pomocou Kats možno tiež vyčistiť pomocou Kats. Kats na to ponúka 2 metódy:
- Bez interpolácie: Vyplní odľahlé hodnoty hodnotou NaN bez použitia operácie interpolácie.
- S interpoláciou: Vyplní odľahlé hodnoty použitím lineárnej interpolácie.
Detekcia bodu zmeny
Pomocou Kats je možné zistiť body zmeny v časovom rade. Na tento proces existujú v Kats 3 rôzne algoritmy:
- CUSUMDetector
- BOCPDetector
- RobustStatDetector
Použitie algoritmu detekcie CUSUM
na simulovanom súbore údajov.
|
|
Detekcia zmeny trendu
Pomocou Kats je možné zistiť aj smer trendu série. Kats na tento proces používa algoritmus MKDetector. Základom tohto algoritmu je Mann-Kendallov test, ktorý je neparametrickým testom.
|
|
Užitočné odkazy
- Homepage: https://facebookresearch.github.io/Kats/
- Kats Python package: https://pypi.org/project/kats/0.1.0/
- Facebook Engineering: https://engineering.fb.com/2021/06/21/open-source/kats/
- Source code repository: https://github.com/facebookresearch/kats
- Contributing: https://github.com/facebookresearch/Kats/blob/master/CONTRIBUTING.md
- Tutorials: https://github.com/facebookresearch/Kats/tree/master/tutorials
Záver
Kats je nástroj na analýzu časových radov, ktorý využíva metódu metalearningu na identifikáciu najvhodnejšieho modelu a príslušných parametrov pre daný časový rad. Robí to pomocou metadát získaných pomocou TSFeatures a použitím algoritmu Random Forest na určenie najlepšieho modelu na základe týchto metadát. Táto funkcia Kats umožňuje používateľom vytvoriť si vlastný nástroj automatického strojového učenia (autoML).