Po mnoho let lidé předpovídali počasí, ekonomické a politické události a sportovní výsledky, nedávno byl tento rozsáhlý seznam doplněn o kryptoměny. Pro předpovídání všestranných událostí existuje mnoho způsobů, jak předpovědi vytvářet. Například intuice, expertní názory, používání minulých výsledků k porovnání s tradičními statistikami a předpovídání časových řad je jen jedním z nich, zatímco nejmodernější a nejpřesnější typ předpovědí s širokou škálou aplikací.
Metoda časových řad
Metoda časových řad (TS) je soubor dat, který shromažďuje informace za určité časové období. Existují speciální metody pro extrakci tohoto typu:
- lineární a nelineární;
- parametrické a neparametrické;
- jednorozměrné a vícerozměrné.
Čas předpovědiřada s sebou přináší jedinečnou sadu schopností, které uspokojí dnešní výzvy. Modelování se opírá o učení, aby se vytvořila hnací síla změny dat. Proces vychází z dlouhodobých trendů, sezónních vlivů nebo nepravidelných fluktuací, které jsou charakteristické pro TS a nejsou vidět v jiných typech analýz.
Strojové učení je odvětví informatiky, kde jsou algoritmy sestavovány z dat a zahrnují umělé neuronové sítě, hluboké učení, asociační pravidla, rozhodovací stromy, posilovací učení a Bayesovské sítě. Různé algoritmy poskytují možnosti řešení problémů a každý má své vlastní požadavky a kompromisy, pokud jde o zadávání dat, rychlost a přesnost výsledků. Tyto, spolu s přesností konečných předpovědí, budou zváženy, když se uživatel rozhodne, který algoritmus bude nejlépe fungovat pro danou situaci.
Prognózy časových řad si vypůjčují z oblasti statistiky, ale poskytují nové přístupy k modelování problémů. Hlavní problém pro strojové učení a časové řady je stejný – předpovídat nové výsledky na základě dříve známých dat.
Cíl prediktivního modelu
TS je sada datových bodů shromažďovaných v pravidelných intervalech. Jsou analyzovány k určení dlouhodobého trendu, k předpovědi budoucnosti nebo k provedení jiného typu analýzy. Existují 2 věci, které odlišují TS od běžného regresního problému:
- Závisí na čase. Takzákladní předpoklad lineárního regresního modelu, že pozorování jsou nezávislá, v tomto případě neplatí.
- Spolu s rostoucím nebo klesajícím trendem má většina TS určitou formu sezónnosti, tj. změn, které jsou specifické pro určité časové období.
Cílem prognostického modelu časových řad je poskytnout přesnou předpověď na vyžádání. Časová řada má jako nezávislou proměnnou a cílově závislou proměnnou čas (t). Ve většině případů je prognózou konkrétní výsledek, například prodejní cena domu, sportovní výsledek soutěže, výsledky obchodování na burze. Predikce představuje medián a průměr a zahrnuje interval spolehlivosti vyjadřující úroveň spolehlivosti v rozmezí 80–95 %. Když jsou zaznamenávány v pravidelných intervalech, nazývají se procesy časové řady a jsou vyjádřeny dvěma způsoby:
- jednorozměrné s časovým indexem, který vytváří implicitní pořadí;
- množina se dvěma dimenzemi: časem s nezávislou proměnnou a další závislou proměnnou.
Vytváření funkcí je jedním z nejdůležitějších a časově nejnáročnějších úkolů v aplikovaném strojovém učení. Prognóza časových řad však nevytváří rysy, alespoň ne v tradičním smyslu. To platí zejména tehdy, chcete-li předpovědět výsledek o několik kroků dopředu, nikoli pouze další hodnotu.
To neznamená, že funkce jsou zcela zakázány. Měly by být používány opatrně z následujících důvodů:
- Není jasné, jaká budoucnost je skutečnáhodnoty budou pro tyto funkce.
- Pokud jsou objekty předvídatelné a mají nějaké vzory, můžete pro každý z nich vytvořit prediktivní model.
Uvědomte si však, že použití prediktivních hodnot jako funkcí rozšíří chybu do cílové proměnné a povede k chybám nebo zkresleným předpovědím.
Složky časové řady
Trend existuje, když se řada v průběhu času zvyšuje, snižuje nebo zůstává na konstantní úrovni, takže je brána jako funkce. Sezónnost odkazuje na vlastnost časové řady, která zobrazuje periodické vzory, které se opakují s konstantní frekvencí (m), například m=12 znamená, že vzor se opakuje každých dvanáct měsíců.
Slepé proměnné podobné sezónnosti lze přidat jako binární funkci. Můžete například vzít v úvahu dovolené, speciální akce, marketingové kampaně, bez ohledu na to, zda je hodnota zahraniční nebo ne. Musíte si však pamatovat, že tyto proměnné musí mít určité vzory. Počet dní však lze snadno vypočítat i pro budoucí období a ovlivnit prognózy časových řad, zejména ve finanční oblasti.
Cykly jsou období, která neprobíhají s pevnou sazbou. Například atributy roční reprodukce rysa kanadského odrážejí sezónní a cyklické vzorce. Neopakují se v pravidelných intervalech a mohou se objevit, i když je frekvence 1 (m=1).
Zpožděné hodnoty -zpožděné hodnoty proměnné mohou být zahrnuty jako prediktory. Některé modely, jako je ARIMA, vektorová autoregrese (VAR) nebo autoregresivní neuronové sítě (NNAR), fungují tímto způsobem.
Složky zájmové proměnné jsou velmi důležité pro analýzu časových řad a prognózování, abychom porozuměli jejich chování, vzorcům a mohli vybrat vhodný model.
Atributy datové sady
Možná jste zvyklí zadávat tisíce, miliony a miliardy datových bodů do modelů strojového učení, ale u časových řad to není nutné. Ve skutečnosti je možné pracovat s malými a středními TS, v závislosti na frekvenci a typu proměnné, a to není nevýhoda metody. Navíc tento přístup má ve skutečnosti řadu výhod:
- Takové soubory informací budou odpovídat možnostem domácího počítače.
- V některých případech provádějte analýzu časových řad a prognózy pomocí celého souboru dat, nikoli pouze vzorku.
- Délka TS je užitečná pro vytváření grafů, které lze analyzovat. To je velmi důležitý bod, protože programátoři ve fázi analýzy spoléhají na grafiku. To neznamená, že nepracují s obrovskými časovými řadami, ale zpočátku by měli být schopni zvládnout menší TS.
- Jakákoli datová sada, která obsahuje pole související s časem, může těžit z analýzy časových řad a prognóz. Pokud má však programátor větší sadu dat, DB (TSDB)může být vhodnější.
Některé z těchto souborů pocházejí z událostí zaznamenaných s časovým razítkem, systémovými protokoly a finančními údaji. Vzhledem k tomu, že TSDB nativně pracuje s časovými řadami, je to skvělá příležitost použít tuto techniku na rozsáhlé datové sady.
Strojové učení
Strojové učení (ML) může překonat tradiční metody prognózování časových řad. Existuje spousta studií, které porovnávají metody strojového učení s klasičtějšími statistikami o datech TS. Neuronové sítě jsou jednou z technologií, které byly široce zkoumány a aplikují TS přístupy. Metody strojového učení vedou žebříček pro sběr dat na základě časových řad. Tyto sady se ukázaly jako účinné a překonávají čisté sady TS oproti M3 nebo Kaggle.
MO má své specifické problémy. Vývoj funkcí nebo generování nových prediktorů z datové sady je pro ni důležitým krokem a může mít obrovský dopad na výkon a může být nezbytným způsobem, jak řešit problémy trendů a sezónnosti dat TS. Některé modely mají také problémy s tím, jak dobře odpovídají datům, a pokud ne, mohou minout hlavní trend.
Časové řady a přístupy strojového učení by neměly existovat navzájem izolovaně. Mohou být kombinovány dohromady, aby poskytly výhody každého přístupu. Prognostické metody a analýza časových řad odvádějí dobrou práci při rozkladu dat na trendová a sezónní data. Prvky. Tuto analýzu lze poté použít jako vstup do modelu ML, který má ve svém algoritmu informace o trendech a sezónnosti, což poskytuje to nejlepší z obou světů.
Porozumění prohlášení o problému
Uvažujme například TS související s prognózou počtu cestujících na nové vysokorychlostní železniční službě. Máte například data za 2 roky (srpen 2016 - září 2018) a pomocí těchto dat potřebujete předpovědět počet cestujících na dalších 7 měsíců, přičemž máte data za 2 roky (2016-2018) na hodinové úrovni s počet cestujících a je nutné odhadnout jejich počet v budoucnu.
Podmnožina datové sady pro prognózy s časovou řadou:
- Vytvoření vlakového a testovacího souboru pro simulaci.
- Prvních 14 měsíců (srpen 2016 – říjen 2017) se používá jako tréninková data a další 2 měsíce (listopad 2017 – prosinec 2017) jsou testovací data.
- Agregujte datovou sadu na denní bázi.
Proveďte vizualizaci dat, abyste viděli, jak se mění v průběhu času.
Konstrukční metoda naivního přístupu
Knihovna použitá v tomto případě pro predikci TS je statsmodels. Musí být nainstalován před použitím kteréhokoli z těchto přístupů. Možná je statsmodels již nainstalován v prostředí Pythonu, ale nepodporuje metodypředpověď, takže ji budete muset naklonovat z úložiště a nainstalovat ze zdroje.
Pro tento příklad to znamená, že cestovní ceny mincí jsou stabilní od samého začátku a po celou dobu. Tato metoda předpokládá, že další očekávaný bod je roven poslednímu pozorovanému bodu a nazývá se naivní přístup.
Nyní vypočítejte směrodatnou odchylku, abyste otestovali přesnost modelu na testovacím souboru dat. Z hodnoty RMSE a výše uvedeného grafu můžeme usoudit, že Naive není vhodný pro opce s vysokou volatilitou, ale používá se pro ty stabilní.
Jednoduchý střední styl
Pro demonstraci metody je nakreslen graf za předpokladu, že osa Y představuje cenu a osa X představuje čas (dny).
Z toho můžeme usoudit, že cena roste a klesá náhodně s malou rezervou, takže průměrná hodnota zůstává konstantní. V tomto případě můžete předpovědět cenu dalšího období, podobnou průměru za všechny minulé dny.
Tato metoda předpovědi s očekávaným průměrem dříve pozorovaných bodů se nazývá metoda jednoduchého průměru.
V tomto případě se berou dříve známé hodnoty, vypočítá se průměr a vezme se jako další hodnota. Samozřejmě to nebude přesné, ale je to docela blízko a jsou situace, kdy tato metoda funguje nejlépe.
Na základě výsledků zobrazených v grafu tato metoda funguje nejlépe, když průměrná hodnota za každé časové období zůstává konstantní. Naivní metoda je sice lepší než průměr, ale ne pro všechny datové sady. Doporučuje se vyzkoušet každý model krok za krokem a zjistit, zda zlepšuje výsledek nebo ne.
Moving Average Model
Na základě tohoto grafu můžeme dojít k závěru, že ceny se v minulosti několikrát zvýšily o velký rozdíl, ale nyní jsou stabilní. Abyste mohli použít předchozí metodu průměrování, musíte vzít průměr všech předchozích dat. Ceny počátečního období budou silně ovlivňovat prognózu dalšího období. Proto jako zlepšení oproti prostému průměru berte průměr cen pouze za posledních několik časových období.
Tato technika předpovědi se nazývá technika klouzavého průměru, někdy označovaná jako „pohyblivé okno“velikosti „n“. Pomocí jednoduchého modelu se předpovídá další hodnota v TS pro kontrolu přesnosti metody. Jasně naivní překonává průměrný i klouzavý průměr pro tuto datovou sadu.
Existuje varianta prognózy metodou jednoduchého exponenciálního vyhlazování. V metodě klouzavého průměru je minulých "n" pozorování stejně váženo. V tomto případě se můžete setkat se situacemi, kdy každé z minulých „n“ovlivní předpověď svým vlastním způsobem. Tato variace, která odlišně váží minulá pozorování, se nazývá metodavážený klouzavý průměr.
Extrapolace vzorů
Jednou z nejdůležitějších vlastností potřebných pro zvážení algoritmů prognózování časových řad je schopnost extrapolovat vzory mimo doménu tréninkových dat. Mnoho algoritmů ML tuto schopnost nemá, protože mají tendenci být omezeny na oblast, která je definována trénovacími daty. Nejsou proto vhodné pro TS, jejichž účelem je promítnout výsledek do budoucnosti.
Další důležitou vlastností algoritmu TS je možnost získání intervalů spolehlivosti. I když se jedná o výchozí vlastnost pro modely TS, většina modelů ML tuto schopnost nemá, protože nejsou všechny založeny na statistických distribucích.
Nemyslete si, že k predikci TS se používají pouze jednoduché statistické metody. Vůbec to tak není. Existuje mnoho komplexních přístupů, které mohou být ve speciálních případech velmi užitečné. Generalizovaná autoregresivní podmíněná heteroskedasticita (GARCH), Bayesian a VAR jsou jen některé z nich.
Existují také modely neuronových sítí, které lze aplikovat na časové řady, které používají zpožděné prediktory a dokážou zpracovat funkce, jako je autoregrese neuronových sítí (NNAR). Existují dokonce modely časových řad vypůjčené z komplexního učení, zejména v rodině rekurentních neuronových sítí, jako jsou sítě LSTM a GRU.
Metriky odhadu a zbytková diagnostika
Nejběžnější metriky předpovědí jsourms znamená, který mnoho lidí používá při řešení regresních problémů:
- MAPE, protože je nezávislý na měřítku a představuje poměr chyby ke skutečným hodnotám v procentech;
- MASE, která ukazuje, jak dobře si předpověď vede ve srovnání s naivní průměrnou předpovědí.
Jakmile byla prognostická metoda upravena, je důležité vyhodnotit, jak dobře je schopna zachytit modely. Přestože hodnotící metriky pomáhají určit, jak blízko jsou hodnoty skutečným hodnotám, nehodnotí, zda model odpovídá TS. Zbytky jsou dobrým způsobem, jak to zhodnotit. Protože se programátor pokouší aplikovat vzory TS, může očekávat, že se chyby budou chovat jako „bílý šum“, protože představují něco, co model nemůže zachytit.
"Bílý šum" musí mít následující vlastnosti:
- Nekorelované zbytky (Acf=0)
- Zbytky sledují normální rozdělení s nulovým průměrem (nezaujatým) a konstantním rozptylem.
- Pokud některá z těchto dvou vlastností chybí, je v modelu prostor pro zlepšení.
- Nulovou střední vlastnost lze snadno otestovat pomocí T-testu.
- Vlastnosti normality a konstantního rozptylu jsou vizuálně kontrolovány pomocí histogramu reziduí nebo vhodného jednorozměrného testu normality.
model ARIMA
ARIMA - AutoRegressive Integrated Moving-Average model, je jednou z nejpopulárnějších metod používaných v prognózování TS, zejménaprostřednictvím autokorelace dat k vytvoření vysoce kvalitních modelů.
Při vyhodnocování koeficientů ARIMA je hlavním předpokladem, že data jsou stacionární. To znamená, že trend a sezónnost nemohou ovlivnit rozptyl. Kvalitu modelu lze posoudit porovnáním časového grafu skutečných hodnot s hodnotami předpokládanými. Pokud jsou obě křivky blízko, pak lze předpokládat, že model odpovídá analyzovanému případu. Měl by odhalit případné trendy a sezónnost.
Analýza zbytků by pak měla ukázat, zda model vyhovuje: náhodné zbytky znamenají, že je přesný. Přizpůsobení ARIMA parametry (0, 1, 1) poskytne stejné výsledky jako exponenciální vyhlazení a použití parametrů (0, 2, 2) poskytne výsledky dvojitého exponenciálního vyhlazení.
Nastavení ARIMA můžete otevřít v aplikaci Excel:
- Spustit Excel.
- Najděte XL MINER na liště.
- Na pásu karet vyberte z rozbalovací nabídky ARIMA.
Shrnutí schopností modelu ARIMA:
- ARIMA – Autoregresivní integrovaný klouzavý průměr.
- Model prognózy používaný při analýze časových řad.
- Syntaxe parametru ARIMA: ARIMA (p, d, q) kde p=počet autoregresivních členů, d=počet sezónních rozdílů a q=počet členů klouzavého průměru.
Algoritmy v SQL Server
Provádění křížové predikce je jednou z důležitých věcívlastnosti časových řad při předpovídání finančních úkolů. Pokud se použijí dvě související řady, výsledný model lze použít k předpovědi výsledků jedné řady na základě chování ostatních.
SQL Server 2008 má nové výkonné funkce časových řad, které se můžete naučit a používat. Nástroj má snadno přístupná data TS, snadno použitelné rozhraní pro simulaci a reprodukci funkcí algoritmu a okno s vysvětlením s odkazem na dotazy DMX na straně serveru, takže můžete pochopit, co se děje uvnitř.
Tržní časové řady jsou širokou oblastí, na kterou lze aplikovat modely a algoritmy hlubokého učení. Banky, brokeři a fondy nyní experimentují s nasazením analýz a prognóz pro indexy, směnné kurzy, futures, ceny kryptoměn, vládní akcie a další.
Při předpovídání časových řad nalézá neuronová síť předvídatelné vzorce studiem struktur a trendů trhů a poskytuje rady obchodníkům. Tyto sítě mohou také pomoci odhalit anomálie, jako jsou neočekávaná maxima, minima, změny trendů a posuny úrovní. Pro finanční prognózy se používá mnoho modelů umělé inteligence.