Analýza a predikce časových řad

V průběhu let lidé předpovídali povětrnostní podmínky, ekonomické a politické události a sportovní výsledky, v poslední době byl tento rozsáhlý seznam rozšířen o kryptoměny. Pro předpovědi všestranných událostí existuje mnoho způsobů, jak navrhnout předpovědi. Například intuice, odborné názory, použití minulých výsledků k porovnání s tradičními statistikami a predikce časových řad je jen jedním z nich, přičemž nejpokročilejší a nejpřesnější druh předpovědí s širokou oblastí použití.

Metoda časových řad

Metoda časových řad

Metoda C použití časových řad (TS) je datová sada, která shromažďuje informace po určitou dobu. Existují speciální metody pro zvýraznění tohoto typu:

  • lineární a nelineární;
  • parametrické a neparametrické;
  • jednorozměrné a vícerozměrné.

Předpovídání časových řad s sebou přináší jedinečnou sadu možností pro řešení moderních úkolů. Simulace se opírají o studium, aby se stanovila hnací síla změny dat. Proces pochází z dlouhodobých trendů, sezónních účinků nebo nepravidelných výkyvů, které jsou charakteristické pro TS, a nejsou pozorovány u jiných typů analýz.

Strojové učení je odvětví informatiky, kde jsou algoritmy sestavovány na základě dat a zahrnují umělé neuronové sítě, hluboké učení, asociační pravidla, rozhodovací strom, posilovací učení a Bayesovské sítě. Rozmanitost algoritmů poskytuje možnosti řešení problémů a každý má své vlastní požadavky a kompromisy v zadávání dat, rychlosti provozu a přesnosti výsledků. Budou spolu s přesností konečných předpovědí váženy, když uživatel rozhodne, který algoritmus bude fungovat lepší pro studované situace.

Predikce časových řad si půjčuje ze statistické oblasti, ale poskytuje nové přístupy k modelování problémů. Hlavním problémem strojového učení a časových řad je stejná predikce nových výsledků na základě dříve známých dat.

Cíl prediktivního modelu

Cíl prediktivního modelu

TS je sada datových bodů shromážděných v konstantních intervalech. Jsou analyzovány, aby určily dlouhodobý trend, aby předpovídaly budoucnost nebo provedly nějaký jiný druh analýzy. Existují 2 věci, které odlišují TS od běžného regresního problému:

  1. Závisí na čase. Základní předpoklad lineárního regresního modelu, že pozorování jsou nezávislá, proto v tomto případě neplatí.
  2. Spolu s trendem zvyšování nebo snižování má většina TS nějakou formu sezónnosti, tj.

Cílem modelu predikce časových řad je poskytnout přesnou předpověď na vyžádání. Časová řada má čas (t) jako nezávislou proměnnou a cílovou závislou proměnnou. Ve většině případů je prognóza konkrétním výsledkem, například hodnota domu při prodeji, sportovní výsledek soutěže, výsledky obchodování na burze. Prognóza představuje medián a průměr a zahrnuje interval spolehlivosti vyjadřující úroveň plné moci v rozmezí 80-95 %. Když jsou zachyceny v pravidelných intervalech, procesy se nazývají časové řady a jsou vyjádřeny dvěma způsoby:

  • jednorozměrné s indexem času, který vytváří implicitní pořadí;
  • sada se dvěma dimenzemi: čas 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ě náročných úkolů v aplikovaném strojovém učení. Při předpovídání časových řad se však nevytvářejí funkce alespoň v tradičním smyslu. To platí zejména tehdy, když je nutné předpovědět výsledek o několik kroků vpřed, nejen o další hodnotu.

To neznamená zcela zakázané funkce. Měly by být používány opatrně z následujících důvodů:

  1. Není jasné, jaké budoucí skutečné hodnoty budou pro tyto funkce.
  2. Pokud jsou objekty předvídatelné a mají určité vzorce, lze pro každý z nich vytvořit prediktivní model.

Je však nutné mít na mysli, že použití předpokládaných hodnot jako funkcí rozšíří chybu na cílovou proměnnou a povede k chybám nebo poskytne zkreslené předpovědi.

Komponenty časové řady

Komponenty časové řady

Trend existuje, když se řada zvyšuje, snižuje nebo zůstává na konstantní úrovni v čase, takže je považována za funkci. Sezónnost označuje vlastnost časové řady, která zobrazuje periodické vzorce opakující se s konstantní frekvencí (m), například m = 12 znamená, že vzor se opakuje každých dvanáct měsíců.

Fiktivní proměnné podobné sezónnosti mohou být přidány jako binární funkce. Můžete například zvážit svátky, speciální události, marketingové kampaně, ať už je význam cizí, nebo ne. Je však třeba si uvědomit, že tyto proměnné musí mít určité vzorce. Díky tomu lze počet dní snadno vypočítat i pro budoucí období a ovlivnit předpovědi založené na časových řadách, zejména ve finanční oblasti.

Cykly jsou roční období, která se nestávají pevnou rychlostí. Například roční atributy reprodukce rysa kanadského odrážejí sezónní a cyklické vzorce. Neopakují se v pravidelných intervalech a mohou nastat, i když je frekvence 1 (m = 1).

Lagged values - jako prediktory můžete zahrnout zpožděné hodnoty proměnné. Některé modely, jako je ARIMA, vektorová autoregrese (VAR) nebo autoregresní neuronové sítě (nnar), fungují přesně tímto způsobem.

Složky sledované proměnné jsou velmi důležité pro analýzu časových řad a predikci, aby pochopily jejich chování, vzorce a také byly schopny vybrat vhodný model.

Atributy datové sady

Atributy datové sady

Možná je programátor zvyklý zadávat tisíce, miliony a miliardy datových bodů do modelů strojového učení, ale to není nutné pro časové řady. 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ýhodou metody. V tomto přístupu navíc existuje řada výhod:

  1. Takové sady informací budou odpovídat schopnostem domácího počítače.
  2. V některých případech provádějí analýzu časových řad a predikci pomocí celé datové sady, nejen vzorku.
  3. Délka TS je vhodná pro vytváření grafů, které lze analyzovat. To je velmi důležitý bod, protože programátoři jsou založeni na grafu ve fázi analýzy. To neznamená, že nepracují s obrovskými časovými řadami, ale zpočátku musí být schopni zvládnout menší TS.
  4. Jakákoli sada dat, která obsahuje pole související s časem, může těžit z analýzy časových řad a predikce. Pokud však programátor má větší datovou sadu, může být vhodnější dB (TSDB) .

Některé z těchto sad pocházejí z událostí zaznamenaných pomocí časového razítka, systémových protokolů a finančních údajů. Protože TSDB nativně pracuje s časovými řadami, je to skvělá příležitost aplikovat tuto techniku na rozsáhlé datové sady.

Strojové učení

Strojové učení (MO) může překonat tradiční metody predikce časových řad. Existuje celá řada studií, které porovnávají techniky strojového učení s klasičtějšími statistikami pro data TS. Neuronové sítě jsou jednou z technologií, které jsou dostatečně široce prozkoumány a používají přístupy TS. Techniky strojového učení vedou žebříček sběru dat na základě časových řad. Tyto přístupy se osvědčily tím, že překonaly přístupy s čistými TS v soutěžích s M3 nebo Kaggle.

MO má své specifické problémy. Navrhování funkcí nebo vytváření nových prediktorů z datové sady je pro něj důležitým krokem a může mít obrovský dopad na výkon a být nezbytným způsobem řešení problémů trend a sezónnost dat TS. Některé modely mají navíc Problémy s tím, jak dobře odpovídají datům, a pokud ne, mohou přeskočit hlavní trend.

Časové řady a přístupy strojového učení by neměly existovat izolovaně od sebe. Mohou být spojeny dohromady, aby poskytly výhody každého přístupu. Metody predikce a analýza časových řad se dobře vyrovnávají s rozložením dat na trendové a sezónní prvky. Tato analýza pak může být použita jako vstup pro Mo model, který má ve svém algoritmu informace o trendech a sezónnosti, což dává to nejlepší ze dvou možností.

Porozumění prohlášení o úkolu

Jako příklad lze zvážit TS související s předpovídáním počtu cestujících v nové vysokorychlostní železniční dopravě. Například existují údaje za 2 roky (srpen 2016. - září 2018.) a pomocí těchto údajů je třeba předpovědět počet cestujících na příštích 7 měsíců, přičemž údaje za 2 roky (2016-2018) jsou na hodinové úrovni s počtem cestujících a je třeba odhadnout jejich počet v budoucnu.

Podmnožina datové sady pro predikci pomocí časových řad:

  1. Vytvoření vlakového a testovacího souboru pro simulaci.
  2. Prvních 14 měsíců (srpen 2016. - říjen 2017.) se používají jako tréninková data a další 2 měsíce (listopad 2017. - prosinec 2017.)- testovací data.
  3. Agregace datového souboru denně.
Agregace datové sady

Provádějí vizualizaci dat, aby věděli, jak se během určitého časového období mění.

Vizualizace dat

Metoda konstrukce Naive Approach

Knihovna, která byla v tomto případě použita k předpovědi TS, je statsmodels. Musí být nainstalován před použitím některého z uvedených přístupů. Statsmodels může být již nainstalován v prostředí Pythonu, ale nepodporuje metody predikce, takže bude nutné jej klonovat z úložiště a nainstalovat pomocí zdrojového kódu.

Posloupnost akcí

Pro tento příklad to znamená, že ceny mincí jsou stabilní od začátku a po celou dobu. Taková metoda předpokládá, že následující očekávaný bod se rovná poslednímu pozorovanému bodu a nazývá se Naive Approach (naivní metoda).

Naivní metoda

Nyní se vypočítá odchylka RMS, aby se otestovala přesnost modelu na sadě testovacích dat. Z hodnoty RMSE a uvedeného grafu lze odvodit, že Naive není vhodný pro varianty s vysokou variabilitou, ale je aplikován na stabilní.

Jednoduchý střední styl

Pro demonstraci metody je vynesen graf za předpokladu, že osa Y zobrazuje cenu a osa X zobrazuje čas (dny).

Jednoduchý střední styl

Z toho lze odvodit, že cena se zvyšuje a klesá náhodně s malou rezervou, takže průměr zůstává konstantní. V takovém případě lze předpovědět cenu dalšího období podobnou průměru za všechny minulé dny.

Taková metoda predikce s očekávaným průměrem dříve pozorovaných bodů se nazývá jednoduchá střední metoda.

V tomto případě vezměte dříve známé hodnoty, Vypočítejte průměr a vezměte jej jako následující hodnotu. Samozřejmě to nebude přesné, ale docela blízko a existují situace, kdy tato metoda funguje nejlépe.

Jednoduchá střední metoda

Na základě výsledků zobrazených v grafu je vidět, že tato metoda funguje nejlépe, když průměr za každé časové období zůstává konstantní. Ačkoli naivní metoda je 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.

Model klouzavého průměru

Model klouzavého průměru

Na základě tohoto grafu lze usoudit, že ceny se v minulosti několikrát zvýšily s velkým rozpětím, ale nyní jsou stabilní. Chcete-li 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í výrazně ovlivní prognózu dalšího období. Proto se jako zlepšení oproti jednoduchému průměru bere průměrná hodnota cen pouze za posledních několik časových období.

Taková Predikční technika se nazývá technika klouzavého průměru, která se někdy nazývá "posuvné okno" velikosti "n". Pomocí jednoduchého modelu předpovídají následující hodnotu v TS, aby se otestovala přesnost metody. Je zřejmé, že Naive překonává Average i Moving Average pro tuto datovou sadu.

Existuje možnost predikce jednoduchou exponenciální vyhlazovací metodou. V metodě klouzavého průměru jsou minulá " n " pozorování stejně vážena. V tomto případě lze čelit situacím, kdy každá z minulosti `n` ovlivňuje prognózu svým vlastním způsobem. Tato možnost, která váží minulá pozorování různými způsoby, se nazývá metoda váženého klouzavého průměru.

Extrapolace vzorů

Jednou z nejdůležitějších vlastností, nezbytné pro zvažování algoritmů predikce časových řad, je schopnost extrapolovat vzory mimo oblast tréninkových dat. Mnoho algoritmů MO tuto schopnost nemá, protože mají tendenci být omezeny na oblast, která je definována tréninkovými daty. Proto nejsou vhodné pro TS, jejichž cílem je promítnout výsledek do budoucnosti.

Další důležitou vlastností algoritmu TS je schopnost získat intervaly spolehlivosti. I když je to výchozí vlastnost pro modely TS a většina modelů MO tuto schopnost nemá, protože ne všechny jsou založeny na statistických distribucích.

Neměli byste si myslet, že k predikci TS se používají pouze jednoduché statistické metody. To vůbec není. Existuje mnoho složité přístupy, které mohou být velmi užitečné při zvláštních příležitostech. Zobecněná autoregresní podmíněná heteroskedasticita (GARCH), Bayesian a VAR jsou jen některé z nich.

Existují také modely neuronových sítí, které lze použít na časové řady, které používají zpožděné prediktory a mohou zpracovávat funkce jako autoregrese neuronových sítí (nnar). Existují dokonce modely časových řad vypůjčené ze složitého studia, zejména v rodině rekurentní neuronové sítě, jako jsou sítě LSTM a GRU.

Metriky hodnocení a diagnostika reziduí

Nejběžnější Odhadované metriky pro predikci jsou průměrné čtvercové průměry, které mnozí používají 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 se prognóza provádí ve srovnání s naivní průměrnou prognózou.

Jakmile je metoda predikce přizpůsobena, je důležité posoudit, jak dobře dokáže zachytit modely. Ačkoli Odhadované metriky pomáhají určit, jak blízko jsou hodnoty skutečné, nehodnotí, zda model odpovídá TS. Zbytky jsou dobrým způsobem, jak to ocenit. Protože se programátor pokouší použít vzory TS, může očekávat, že se chyby budou chovat jako "bílý šum", protože představují to, co model nemůže zachytit.

"Bílý šum" musí mít následující vlastnosti:

  1. Zbytky nekorelované (Acf = 0)
  2. Zbytky odpovídají normálnímu rozdělení s nulovým průměrem (nezaujatým) a konstantním rozptylem.
  3. Pokud některá ze dvou vlastností chybí, znamená to v modelu místo pro zlepšení.
  4. Vlastnost nulového průměru lze snadno ověřit pomocí t-testu.
  5. Vlastnosti normality a konstantní disperze jsou vizuálně kontrolovány histogramem zbytků nebo odpovídajícím jednorozměrným testem normality.

Model ARIMA

ARIMA - Model AutoRegressive Integrated Moving-Average, je jeden z nejpopulárnějších metod používaných v predikci TS, zejména díky autokorelaci dat k vytvoření vysoce kvalitních modelů.

Při odhadu koeficientů ARIMA je základním předpokladem, že data jsou stacionární. To znamená trend a sezónnost nemohou ovlivnit rozptyl. Kvalitu modelu lze odhadnout porovnáním časového grafu skutečných hodnot s prediktivními hodnotami. Pokud jsou obě křivky blízké, lze předpokládat, že model přistupuje k analyzovanému případu. Měla by odhalit jakékoli trendy a sezónnost, pokud existují.

Analýza zbytků by pak měla ukázat, zda je model vhodný: náhodné zbytky znamenají, že je přesný. Přizpůsobení ARIMA s parametry (0,1,1) přinese stejné výsledky jako exponenciální vyhlazování a použití parametrů (0,2,2) poskytne výsledky dvojitého exponenciálního vyhlazování.

Algoritmy časových řad na serveru SQL Server

Lze přistupovat k nastavení ARIMA v aplikaci Excel:

  1. Spustit Excel.
  2. Na panelu nástrojů najdete XL MINER.
  3. Na pásu karet v rozevírací nabídce vyberte ARIMA.

Sada funkcí modelu ARIMA:

  1. ARIMA-autoregresní integrovaný klouzavý průměr.
  2. Predikční model používaný v analýze časových řad.
  3. Syntaxe parametrů ARIMA je ARIMA (p, d, q), kde p = počet autoregresních termínů, d = počet sezónních rozdílů a q = počet termínů klouzavého průměru.

Algoritmy na serveru SQL Server

Provádění křížové predikce je jedním z důležitých rysů časových řad při předpovídání finančních úkolů. Pokud se použijí dvě vzájemně propojené série, lze výsledný model použít k předpovědi výsledků jedné série na základě chování ostatních.

SQL Server 2008 má nové výkonné funkce časových řad, které je třeba prozkoumat a použít. Nástroj má snadno dostupná data TS, snadno použitelné rozhraní pro simulaci a reprodukci funkcí algoritmu a vysvětlující okno s odkazem na požadavky DMX na straně serveru, aby mohl bylo pochopit, co se děje uvnitř.

Časové řady trhu jsou širokou oblastí, na kterou lze aplikovat modely a algoritmy hlubokého učení. Banky, makléři a fondy dnes experimentují s jejich nasazením analýzy a predikce indexů, směnných kurzů, futures, cen kryptoměn, vládních akcií a dalších.

Při předpovídání časových řad najde neuronová síť předvídatelné vzorce studiem struktur a trendů trhů a radí obchodníkům. Tyto sítě mohou také pomoci při detekci anomálií, jako jsou neočekávané vrcholy, pády, změny trendů a posuny úrovní. Mnoho modelů umělá inteligence používá se pro finanční projekce.

Články na téma