Analýza a predpovedanie časových radov

Obsah:

Analýza a predpovedanie časových radov
Analýza a predpovedanie časových radov
Anonim

Po mnoho rokov ľudia predpovedali poveternostné podmienky, ekonomické a politické udalosti a športové výsledky, nedávno bol tento rozsiahly zoznam doplnený o kryptomeny. Na predpovedanie všestranných udalostí existuje mnoho spôsobov, ako vytvoriť predpovede. Napríklad intuícia, názory odborníkov, používanie minulých výsledkov na porovnanie s tradičnou štatistikou a predpovedanie časových radov je len jedným z nich, zatiaľ čo najmodernejší a najpresnejší typ predpovedí so širokou škálou aplikácií.

Metóda časových radov

Metóda časových radov
Metóda časových radov

Metóda časových radov (TS) je súbor údajov, ktorý zhromažďuje informácie za určité časové obdobie. Existujú špeciálne metódy na extrakciu tohto typu:

  • lineárne a nelineárne;
  • parametrické a neparametrické;
  • jednorozmerné a viacrozmerné.

Čas prognózyséria prináša jedinečnú sadu schopností, ktoré vám pomôžu splniť dnešné výzvy. Modelovanie sa spolieha na učenie sa, aby sa vytvorila hnacia sila zmeny údajov. Proces vychádza z dlhodobých trendov, sezónnych vplyvov alebo nepravidelných výkyvov, ktoré sú charakteristické pre TS a nie sú viditeľné v iných typoch analýz.

Strojové učenie je odvetvie počítačovej vedy, kde sa algoritmy zostavujú z údajov a zahŕňajú umelé neurónové siete, hlboké učenie, pravidlá asociácie, rozhodovacie stromy, posilňovacie učenie a Bayesovské siete. Rôzne algoritmy poskytujú možnosti riešenia problémov a každý má svoje vlastné požiadavky a kompromisy, pokiaľ ide o zadávanie údajov, rýchlosť a presnosť výsledkov. Tieto, spolu s presnosťou konečných predpovedí, budú vážené, keď sa používateľ rozhodne, ktorý algoritmus bude najlepšie fungovať pre skúmanú situáciu.

Prognózy časových radov si požičiavajú z oblasti štatistiky, no poskytujú nové prístupy k modelovaniu problémov. Hlavný problém strojového učenia a časových radov je rovnaký – predpovedať nové výsledky na základe predtým známych údajov.

Cieľ prediktívneho modelu

Účel prediktívneho modelu
Účel prediktívneho modelu

TS je súbor údajových bodov zbieraných v pravidelných intervaloch. Analyzujú sa s cieľom určiť dlhodobý trend, predpovedať budúcnosť alebo vykonať nejaký iný typ analýzy. Existujú 2 veci, ktoré odlišujú TS od bežného regresného problému:

  1. Závisia od času. Takžezákladný predpoklad lineárneho regresného modelu, že pozorovania sú nezávislé, v tomto prípade neplatí.
  2. Spolu s rastúcim alebo klesajúcim trendom má väčšina TS určitú formu sezónnosti, t. j. zmien, ktoré sú špecifické pre určité časové obdobie.

Cieľom modelu predpovedí časových radov je poskytnúť presnú predpoveď na požiadanie. Časový rad má čas (t) ako nezávislú premennú a cieľovú závislú premennú. Vo väčšine prípadov je prognóza konkrétny výsledok, napríklad predajná cena domu, športový výsledok súťaže, výsledky obchodovania na burze. Predikcia predstavuje medián a priemer a zahŕňa interval spoľahlivosti vyjadrujúci úroveň spoľahlivosti v rozsahu 80 – 95 %. Keď sú zaznamenávané v pravidelných intervaloch, procesy sa nazývajú časové rady a sú vyjadrené dvoma spôsobmi:

  • jednorozmerné s časovým indexom, ktorý vytvára implicitné poradie;
  • množina s dvoma dimenziami: čas s nezávislou premennou a ďalšou závislou premennou.

Vytváranie funkcií je jednou z najdôležitejších a časovo náročných úloh v aplikovanom strojovom učení. Predpovedanie časových radov však nevytvára funkcie, aspoň nie v tradičnom zmysle. Platí to najmä vtedy, keď chcete predpovedať výsledok niekoľko krokov dopredu, a nie iba nasledujúcu hodnotu.

To neznamená, že funkcie sú úplne deaktivované. Mali by sa používať opatrne z nasledujúcich dôvodov:

  1. Nie je jasné, aká je budúcnosť skutočnáhodnoty budú pre tieto funkcie.
  2. Ak sú objekty predvídateľné a majú nejaké vzory, môžete vytvoriť prediktívny model pre každý z nich.

Uvedomte si však, že používanie prediktívnych hodnôt ako funkcií rozšíri chybu do cieľovej premennej a povedie k chybám alebo skresleným predpovediam.

Složky časových radov

Komponenty časových radov
Komponenty časových radov

Trend existuje, keď sa séria časom zvyšuje, znižuje alebo zostáva na konštantnej úrovni, takže sa berie ako funkcia. Sezónnosť sa vzťahuje na vlastnosť časového radu, ktorý zobrazuje periodické vzory, ktoré sa opakujú s konštantnou frekvenciou (m), napríklad m=12 znamená, že vzor sa opakuje každých dvanásť mesiacov.

Slepé premenné podobné sezónnosti možno pridať ako binárnu funkciu. Môžete napríklad brať do úvahy dovolenky, špeciálne akcie, marketingové kampane bez ohľadu na to, či ide o zahraničnú hodnotu alebo nie. Musíte si však uvedomiť, že tieto premenné musia mať určité vzory. Počet dní sa však dá ľahko vypočítať aj pre budúce obdobia a ovplyvniť predpovedanie časových radov, najmä vo finančnej oblasti.

Cykly sú ročné obdobia, ktoré sa nedejú pevne stanovenou rýchlosťou. Napríklad ročné reprodukčné atribúty kanadského rysa odrážajú sezónne a cyklické vzorce. Neopakujú sa v pravidelných intervaloch a môžu sa vyskytnúť, aj keď je frekvencia 1 (m=1).

Zaostalé hodnoty -oneskorené hodnoty premennej môžu byť zahrnuté ako prediktory. Niektoré modely, ako napríklad ARIMA, vektorová autoregresia (VAR) alebo autoregresné neurónové siete (NNAR), fungujú týmto spôsobom.

Komponenty sledovanej premennej sú veľmi dôležité pre analýzu a prognózovanie časových radov, aby sme pochopili ich správanie, vzorce a dokázali vybrať vhodný model.

Atribúty súboru údajov

Atribúty množiny údajov
Atribúty množiny údajov

Možno ste zvyknutí zadávať tisíce, milióny a miliardy údajových bodov do modelov strojového učenia, no pre časové rady sa to nevyžaduje. V skutočnosti je možné pracovať s malými a strednými TS v závislosti od frekvencie a typu premennej a nie je to nevýhoda metódy. Okrem toho má tento prístup v skutočnosti niekoľko výhod:

  1. Takéto súbory informácií budú zodpovedať schopnostiam domáceho počítača.
  2. V niektorých prípadoch vykonajte analýzu časových radov a prognózy pomocou celého súboru údajov, nielen vzorky.
  3. Dĺžka TS je užitočná na vytváranie grafov, ktoré je možné analyzovať. Toto je veľmi dôležitý bod, pretože programátori sa vo fáze analýzy spoliehajú na grafiku. To neznamená, že nepracujú s obrovskými časovými radmi, ale spočiatku by mali zvládnuť menšie TS.
  4. Akákoľvek množina údajov, ktorá obsahuje pole súvisiace s časom, môže ťažiť z analýzy a prognóz časových radov. Ak má však programátor väčší súbor údajov, DB (TSDB)môže byť vhodnejšie.

Niektoré z týchto súborov pochádzajú z udalostí zaznamenaných s časovou pečiatkou, systémovými denníkmi a finančnými údajmi. Keďže TSDB natívne pracuje s časovými radmi, je to skvelá príležitosť použiť túto techniku na veľké množiny údajov.

Strojové učenie

Strojové učenie (ML) môže prekonať tradičné metódy prognózovania časových radov. Existuje množstvo štúdií, ktoré porovnávajú metódy strojového učenia s klasickejšími štatistickými metódami na údajoch TS. Neurónové siete sú jednou z technológií, ktoré boli široko preskúmané a uplatňujú prístupy TS. Metódy strojového učenia vedú v rebríčku zberu údajov na základe časových radov. Tieto súpravy sa ukázali ako účinné a prekonali čisté súpravy TS oproti M3 alebo Kaggle.

MO má svoje špecifické problémy. Vývoj funkcií alebo generovanie nových prediktorov zo súboru údajov je preň dôležitým krokom a môže mať obrovský vplyv na výkon a môže byť nevyhnutným spôsobom, ako riešiť problémy trendov a sezónnosti údajov TS. Niektoré modely majú tiež problémy s tým, ako dobre zodpovedajú údajom, a ak nie, môžu minúť hlavný trend.

Časové rady a prístupy strojového učenia by nemali existovať navzájom izolovane. Môžu byť kombinované, aby poskytli výhody každého prístupu. Metódy predpovedí a analýza časových radov sú dobré pri rozklade údajov na trendové a sezónne údaje.prvkov. Túto analýzu potom možno použiť ako vstup do modelu ML, ktorý má vo svojom algoritme informácie o trendoch a sezónnosti, čím poskytuje to najlepšie z oboch svetov.

Porozumenie vyhláseniu o probléme

Napríklad zvážte TS súvisiace s predpovedaním počtu cestujúcich na novej vysokorýchlostnej železničnej doprave. Napríklad máte údaje za 2 roky (august 2016 - september 2018) a pomocou týchto údajov musíte predpovedať počet cestujúcich na nasledujúcich 7 mesiacov, pričom máte údaje za 2 roky (2016-2018) na hodinovej úrovni s počet cestujúcich a je potrebné odhadnúť ich počet v budúcnosti.

Podmnožina množiny údajov na prognózovanie s časovými radmi:

  1. Vytvorenie vlakového a testovacieho súboru na simuláciu.
  2. Prvých 14 mesiacov (august 2016 – október 2017) sa používa ako tréningové údaje a ďalšie 2 mesiace (november 2017 – december 2017) sú testovacie údaje.
  3. Agregujte množinu údajov na dennej báze.
Agregácia súboru údajov
Agregácia súboru údajov

Vykonajte vizualizáciu údajov, aby ste videli, ako sa menia v priebehu času.

Vizualizácia údajov
Vizualizácia údajov

Naivný prístup konštrukčná metóda

Knižnica použitá v tomto prípade na predikciu TS je statsmodels. Musí byť nainštalovaný pred použitím ktoréhokoľvek z týchto prístupov. Možno je statsmodels už nainštalovaný v prostredí Pythonu, ale nepodporuje metódypredpoveď, takže ho budete musieť naklonovať z úložiska a nainštalovať zo zdroja.

Sekvenovanie
Sekvenovanie

Pre tento príklad to znamená, že cestovné ceny mincí sú stabilné od samého začiatku a počas celého časového obdobia. Táto metóda predpokladá, že nasledujúci očakávaný bod sa rovná poslednému pozorovanému bodu a nazýva sa naivný prístup.

Naivná metóda
Naivná metóda

Teraz vypočítajte štandardnú odchýlku, aby ste otestovali presnosť modelu na testovacom súbore údajov. Z hodnoty RMSE a vyššie uvedeného grafu môžeme usúdiť, že Naive nie je vhodný pre možnosti s vysokou volatilitou, ale používa sa pre stabilné.

Jednoduchý stredný štýl

Na demonštráciu metódy je nakreslený graf, ktorý predpokladá, že os Y predstavuje cenu a os X predstavuje čas (dni).

Jednoduchý stredný štýl
Jednoduchý stredný štýl

Z toho môžeme usúdiť, že cena rastie a klesá náhodne s malou rezervou, takže priemerná hodnota zostáva konštantná. V tomto prípade môžete predpovedať cenu nasledujúceho obdobia, podobnú priemeru za všetky posledné dni.

Táto metóda prognózovania s očakávaným priemerom predtým pozorovaných bodov sa nazýva metóda jednoduchého priemeru.

V tomto prípade sa berú predtým známe hodnoty, vypočíta sa priemer a berie sa ako ďalšia hodnota. Samozrejme, že to nebude presné, ale je to dosť blízko a sú situácie, keď táto metóda funguje najlepšie.

Jednoduché Strednémetóda
Jednoduché Strednémetóda

Na základe výsledkov zobrazených v grafe táto metóda funguje najlepšie, keď priemerná hodnota za každé časové obdobie zostáva konštantná. Naivná metóda je síce lepšia ako priemer, ale nie pre všetky súbory údajov. Odporúča sa vyskúšať každý model krok za krokom a zistiť, či zlepšuje výsledok alebo nie.

Moving Average Model

Model kĺzavého priemeru
Model kĺzavého priemeru

Na základe tohto grafu môžeme konštatovať, že ceny sa v minulosti niekoľkokrát zvýšili o veľký rozdiel, ale teraz sú stabilné. Ak chcete použiť predchádzajúcu metódu spriemerovania, musíte vziať priemer všetkých predchádzajúcich údajov. Ceny počiatočného obdobia výrazne ovplyvnia prognózu ďalšieho obdobia. Preto ako zlepšenie oproti jednoduchému priemeru berte priemer cien len za posledných niekoľko časových období.

Táto prognostická technika sa nazýva technika kĺzavého priemeru, niekedy označovaná ako „pohyblivé okno“veľkosti „n“. Pomocou jednoduchého modelu sa predpovedá ďalšia hodnota v TS na kontrolu presnosti metódy. Jasne naivný prevyšuje priemerný aj kĺzavý priemer pre túto množinu údajov.

Existuje variant prognózy metódou jednoduchého exponenciálneho vyhladzovania. V metóde kĺzavého priemeru sa minulé "n" pozorovania vážia rovnako. V tomto prípade sa môžete stretnúť so situáciami, kedy každé z minulých „n“ovplyvní predpoveď svojím vlastným spôsobom. Táto variácia, ktorá odlišne váži minulé pozorovania, sa nazýva metódavážený kĺzavý priemer.

Extrapolácia vzorov

Jednou z najdôležitejších vlastností potrebných na zváženie algoritmov prognózovania časových radov je schopnosť extrapolovať vzory mimo domény tréningových údajov. Mnoho algoritmov ML túto schopnosť nemá, pretože majú tendenciu byť obmedzené na oblasť, ktorá je definovaná trénovacími údajmi. Preto nie sú vhodné pre TS, ktorých účelom je projektovať výsledok do budúcnosti.

Ďalšou dôležitou vlastnosťou algoritmu TS je možnosť získania intervalov spoľahlivosti. Aj keď je to predvolená vlastnosť pre modely TS, väčšina modelov ML túto schopnosť nemá, pretože nie všetky sú založené na štatistických rozdeleniach.

Nemyslite si, že na predpovedanie TS sa používajú iba jednoduché štatistické metódy. Vôbec to tak nie je. Existuje mnoho zložitých prístupov, ktoré môžu byť v špeciálnych prípadoch veľmi užitočné. Generalizovaná autoregresívna podmienená heteroskedasticita (GARCH), Bayesian a VAR sú len niektoré z nich.

Existujú aj modely neurónových sietí, ktoré možno použiť na časové rady, ktoré využívajú oneskorené prediktory a dokážu zvládnuť funkcie, ako je autoregresia neurónových sietí (NNAR). Existujú dokonca modely časových radov vypožičané z komplexného učenia, najmä v rodine rekurentných neurónových sietí, ako sú siete LSTM a GRU.

Metriky odhadu a reziduálna diagnostika

Najbežnejšie metriky predpovedí súrms znamená, ktorý veľa ľudí používa pri riešení regresných problémov:

  • MAPE, pretože je nezávislý na mierke a predstavuje pomer chyby k skutočným hodnotám v percentách;
  • MASE, ktorý ukazuje výkonnosť predpovede v porovnaní s naivnou priemernou predpoveďou.

Po úprave metódy prognózovania je dôležité vyhodnotiť, ako dobre dokáže zachytiť modely. Hoci hodnotiace metriky pomáhajú určiť, ako blízko sú hodnoty skutočným hodnotám, nehodnotia, či model vyhovuje TS. Zvyšky sú dobrým spôsobom, ako to zhodnotiť. Keďže sa programátor pokúša použiť vzory TS, môže očakávať, že chyby sa budú správať ako „biely šum“, pretože predstavujú niečo, čo model nedokáže zachytiť.

"Biely šum" musí mať nasledujúce vlastnosti:

  1. Nekorelované zvyšky (Acf=0)
  2. Rezíduá majú normálne rozdelenie s nulovým priemerom (nezaujatý) a konštantným rozptylom.
  3. Ak niektorá z týchto dvoch vlastností chýba, v modeli je priestor na zlepšenie.
  4. Nulovú strednú vlastnosť možno jednoducho otestovať pomocou T-testu.
  5. Vlastnosti normality a konštantného rozptylu sú vizuálne kontrolované pomocou histogramu zvyškov alebo vhodného testu jednorozmernej normality.

model ARIMA

ARIMA - AutoRegressive Integrated Moving-Average model, je jednou z najpopulárnejších metód používaných v prognózovaní TS, hlavneprostredníctvom autokorelácie údajov na vytvorenie vysokokvalitných modelov.

Pri vyhodnocovaní koeficientov ARIMA je hlavným predpokladom, že údaje sú stacionárne. To znamená, že trend a sezónnosť nemôžu ovplyvniť rozptyl. Kvalitu modelu možno posúdiť porovnaním časového grafu skutočných hodnôt s predpokladanými hodnotami. Ak sú obe krivky blízko, potom možno predpokladať, že model vyhovuje analyzovanému prípadu. Mal by zverejniť prípadné trendy a sezónnosť.

Analýza zvyškov by potom mala ukázať, či model vyhovuje: náhodné zvyšky znamenajú, že je presný. Prispôsobenie ARIMA parametrom (0, 1, 1) poskytne rovnaké výsledky ako exponenciálne vyhladenie a použitie parametrov (0, 2, 2) poskytne dvojité exponenciálne vyhladenie.

Algoritmy časových radov na serveri SQL Server
Algoritmy časových radov na serveri SQL Server

K nastaveniam ARIMA máte prístup v Exceli:

  1. Spustiť Excel.
  2. Nájdite XL MINER na paneli s nástrojmi.
  3. Na páse s nástrojmi vyberte z rozbaľovacej ponuky ARIMA.

Zhrnutie schopností modelu ARIMA:

  1. ARIMA – Autoregresívny integrovaný kĺzavý priemer.
  2. Model prognózy používaný pri analýze časových radov.
  3. Syntax parametra ARIMA: ARIMA (p, d, q) kde p=počet autoregresívnych výrazov, d=počet sezónnych rozdielov a q=počet výrazov kĺzavého priemeru.

Algoritmy v SQL Server

Vykonávanie krížovej predikcie je jednou z dôležitých vecívlastnosti časových radov pri prognózovaní finančných úloh. Ak sa použijú dve súvisiace série, výsledný model možno použiť na predpovedanie výsledkov jednej série na základe správania ostatných.

SQL Server 2008 má nové výkonné funkcie časových radov, ktoré sa môžete naučiť a používať. Nástroj má ľahko dostupné údaje TS, ľahko použiteľné rozhranie na simuláciu a reprodukovanie funkcií algoritmu a vysvetľujúce okno s odkazom na dotazy DMX na strane servera, aby ste pochopili, čo sa deje vo vnútri.

Trhové časové rady sú širokou oblasťou, na ktorú možno aplikovať modely a algoritmy hlbokého učenia. Banky, brokeri a fondy teraz experimentujú s nasadením analýzy a predpovedí pre indexy, výmenné kurzy, futures, ceny kryptomien, vládne akcie a ďalšie.

V predpovediach časových radov neurónová sieť nachádza predvídateľné vzorce skúmaním štruktúr a trendov trhov a poskytuje rady obchodníkom. Tieto siete môžu tiež pomôcť odhaliť anomálie, ako sú neočakávané vrcholy, poklesy, zmeny trendov a posuny úrovní. Na finančné prognózy sa používa veľa modelov umelej inteligencie.

Odporúča: