Analiza in napovedovanje časovnih vrst

Kazalo:

Analiza in napovedovanje časovnih vrst
Analiza in napovedovanje časovnih vrst
Anonim

Ljudje že vrsto let napovedujejo vremenske razmere, gospodarske in politične dogodke ter športne rezultate, pred kratkim je bil ta obsežen seznam dopolnjen s kriptovalutami. Za napovedovanje raznolikih dogodkov obstaja veliko načinov za razvoj napovedi. Na primer, intuicija, strokovna mnenja, uporaba preteklih rezultatov za primerjavo s tradicionalno statistiko in napovedovanje časovnih vrst je le eden izmed njih, medtem ko je najsodobnejša in natančna vrsta napovedi s široko paleto aplikacij.

Metoda časovnih vrst

Metoda časovnih vrst
Metoda časovnih vrst

Metoda časovne serije (TS) je nabor podatkov, ki zbira informacije v določenem časovnem obdobju. Obstajajo posebne metode za pridobivanje te vrste:

  • linearno in nelinearno;
  • parametrično in neparametrično;
  • enodimenzionalno in večdimenzionalno.

Napoved časaserija prinaša edinstven nabor zmogljivosti za soočanje z današnjimi izzivi. Modeliranje temelji na učenju, da se ugotovi gonilna sila za spremembo podatkov. Proces izhaja iz dolgoročnih trendov, sezonskih učinkov ali nepravilnih nihanj, ki so značilna za TS in jih ne opazimo pri drugih vrstah analiz.

Strojno učenje je veja računalništva, kjer so algoritmi sestavljeni iz podatkov in vključujejo umetne nevronske mreže, globoko učenje, asociacijska pravila, drevesa odločanja, učenje s krepitvijo in Bayesova omrežja. Različni algoritmi ponujajo možnosti za reševanje problemov in vsak ima svoje zahteve in kompromise glede vnosa podatkov, hitrosti in natančnosti rezultatov. Ti, skupaj z natančnostjo končnih napovedi, bodo ponderirani, ko se uporabnik odloči, kateri algoritem bo najbolje deloval za proučevano situacijo.

Napovedovanje časovnih vrst se sposoja s področja statistike, vendar daje nove pristope k modeliranju problemov. Glavna težava za strojno učenje in časovne serije je enaka – predvideti nove rezultate na podlagi predhodno znanih podatkov.

Cilj napovednega modela

Namen napovednega modela
Namen napovednega modela

TS je niz podatkovnih točk, zbranih v rednih intervalih. Analizirajo se za določitev dolgoročnega trenda, za napovedovanje prihodnosti ali za izvedbo kakšne druge vrste analize. Obstajata dve stvari, zaradi katerih se TS razlikuje od normalnega problema regresije:

  1. Odvisni so od časa. Torejosnovna predpostavka modela linearne regresije, da so opazovanja neodvisna, v tem primeru ne velja.
  2. Poleg naraščajočega ali padajočega trenda ima večina TS neko obliko sezonskosti, to je sprememb, ki so specifične za določeno časovno obdobje.

Cilj modela napovedovanja časovnih vrst je podati natančno napoved na zahtevo. Časovna vrsta ima čas (t) kot neodvisno spremenljivko in ciljno odvisno spremenljivko. V večini primerov je napoved določen rezultat, na primer prodajna cena hiše, športni rezultat tekmovanja, rezultati trgovanja na borzi. Napoved predstavlja mediano in povprečje ter vključuje interval zaupanja, ki izraža stopnjo zaupanja v območju 80-95%. Če so zabeleženi v rednih intervalih, se procesi imenujejo časovne vrste in so izraženi na dva načina:

  • enodimenzionalni s časovnim indeksom, ki ustvarja implicitni vrstni red;
  • nabor z dvema dimenzijama: čas z neodvisno spremenljivko in drugo odvisno spremenljivko.

Ustvarjanje funkcij je ena najpomembnejših in najbolj zamudnih nalog pri uporabnem strojnem učenju. Vendar napovedovanje časovnih vrst ne ustvarja značilnosti, vsaj ne v tradicionalnem smislu. To še posebej velja, če želite rezultat napovedati nekaj korakov naprej in ne le naslednje vrednosti.

To ne pomeni, da so funkcije popolnoma onemogočene. Uporabljati jih je treba previdno iz naslednjih razlogov:

  1. Nejasno, kakšna prihodnost je resničnavrednosti bodo za te funkcije.
  2. Če so predmeti predvidljivi in imajo nekaj vzorcev, lahko zgradite napovedni model za vsakega od njih.

Vendar se zavedajte, da bo uporaba napovednih vrednosti kot značilnosti razširila napako v ciljno spremenljivko in vodila do napak ali pristranskih napovedi.

komponente časovne serije

Komponente časovne vrste
Komponente časovne vrste

Trend obstaja, ko se niz poveča, zmanjša ali ostane na konstantni ravni skozi čas, zato se vzame kot funkcija. Sezonnost se nanaša na lastnost časovne serije, ki prikazuje periodične vzorce, ki se ponavljajo s konstantno frekvenco (m), na primer m=12 pomeni, da se vzorec ponavlja vsakih dvanajst mesecev.

Lažne spremenljivke, podobne sezonskosti, je mogoče dodati kot binarno funkcijo. Upoštevate lahko na primer praznike, posebne dogodke, marketinške akcije, ne glede na to, ali je vrednost tuja ali ne. Vendar se morate spomniti, da morajo imeti te spremenljivke določene vzorce. Vendar pa je število dni mogoče enostavno izračunati tudi za prihodnja obdobja in vplivati na napovedovanje časovnih vrst, zlasti na finančnem področju.

Cikli so letni časi, ki se ne dogajajo po fiksni stopnji. Na primer, letni atributi razmnoževanja kanadskega risa odražajo sezonske in ciklične vzorce. Ne ponavljajo se v rednih intervalih in se lahko pojavijo, tudi če je frekvenca 1 (m=1).

Zakasnjene vrednosti -zaostale vrednosti spremenljivke se lahko vključijo kot napovedovalci. Nekateri modeli, kot so ARIMA, vektorska avtoregresija (VAR) ali avtoregresivna nevronska omrežja (NNAR), delujejo na ta način.

Komponente spremenljivke, ki vas zanima, so zelo pomembne za analizo in napovedovanje časovnih vrst, za razumevanje njihovega vedenja, vzorcev in za izbiro ustreznega modela.

Atributi nabora podatkov

Atributi nabora podatkov
Atributi nabora podatkov

Morda ste navajeni vnašati na tisoče, milijone in milijarde podatkovnih točk v modele strojnega učenja, vendar to ni potrebno za časovne vrste. Dejansko je možno delati z majhnimi in srednjimi TS, odvisno od frekvence in vrste spremenljivke, kar ni slabost metode. Poleg tega ima ta pristop dejansko številne prednosti:

  1. Takšni nabori informacij bodo ustrezali zmožnostim domačega računalnika.
  2. V nekaterih primerih izvedite analizo časovnih vrst in napovedovanje z uporabo celotnega nabora podatkov, ne le vzorca.
  3. TS dolžina je uporabna za ustvarjanje grafov, ki jih je mogoče analizirati. To je zelo pomembna točka, ker se programerji v fazi analize zanašajo na grafiko. To ne pomeni, da ne delujejo z ogromnimi časovnimi vrstami, vendar bi na začetku morali biti sposobni obravnavati manjše TS.
  4. Vsak nabor podatkov, ki vsebuje časovno povezano polje, ima lahko koristi od analize in napovedovanja časovnih vrst. Če pa ima programer večji nabor podatkov, DB (TSDB)morda bolj primerno.

Nekateri od teh nizov izvirajo iz dogodkov, zabeleženih s časovnim žigom, sistemskimi dnevniki in finančnimi podatki. Ker TSDB izvirno deluje s časovnimi vrstami, je to odlična priložnost, da to tehniko uporabite za velike nabore podatkov.

strojno učenje

Strojno učenje (ML) lahko prekaša tradicionalne metode napovedovanja časovnih vrst. Obstaja veliko študij, ki primerjajo metode strojnega učenja z bolj klasičnimi statističnimi metodami na podatkih TS. Nevronske mreže so ena izmed tehnologij, ki so bile široko raziskane in uporabljajo TS pristope. Metode strojnega učenja vodijo na lestvici za zbiranje podatkov na podlagi časovnih vrst. Ti kompleti so se izkazali za učinkovite, saj so boljši od čistih kompletov TS proti M3 ali Kaggle.

MO ima svoje specifične težave. Razvijanje funkcij ali ustvarjanje novih napovedovalcev iz nabora podatkov je zanj pomemben korak in ima lahko velik vpliv na uspešnost ter je nujen način za reševanje težav s trendi in sezonskostjo podatkov TS. Nekateri modeli imajo tudi težave s tem, kako dobro se prilegajo podatkom, in če se ne, lahko zgrešijo glavni trend.

Pristopi časovne serije in strojnega učenja ne bi smeli obstajati ločeno drug od drugega. Lahko jih kombinirate skupaj, da zagotovite prednosti vsakega pristopa. Metode napovedovanja in analiza časovnih vrst so dobri pri razgradnji podatkov na trendne in sezonske podatke.elementov. Ta analiza se lahko nato uporabi kot vhod v model ML, ki ima v svojem algoritmu informacije o trendih in sezonskosti, kar daje najboljše iz obeh svetov.

Razumevanje izjave o problemu

Za primer si oglejte TS, ki se nanaša na napovedovanje števila potnikov na novi železniški storitvi za visoke hitrosti. Na primer, imate 2 leti podatkov (avgust 2016 - september 2018) in s temi podatki morate predvideti število potnikov za naslednjih 7 mesecev, pri čemer imate 2 leti podatkov (2016-2018) na urni ravni z število potnikov, kolikor jih je treba oceniti v prihodnosti.

Podnabor nabora podatkov za napovedovanje s časovnimi vrstami:

  1. Ustvarjanje datoteke vlaka in testa za simulacijo.
  2. Prvih 14 mesecev (avgust 2016 - oktober 2017) se uporabljajo kot podatki o usposabljanju, naslednja 2 meseca (november 2017 - december 2017) pa so podatki o testih.
  3. Agregirajte nabor podatkov na dnevni osnovi.
Združevanje nabora podatkov
Združevanje nabora podatkov

Izvedite vizualizacijo podatkov, da vidite, kako se spreminjajo v določenem časovnem obdobju.

Vizualizacija podatkov
Vizualizacija podatkov

Naivni pristop konstrukcijske metode

Knjižnica, ki se v tem primeru uporablja za napovedovanje TS, je statsmodels. Namestiti ga je treba, preden se lahko uporabi kateri koli od teh pristopov. Morda je statsmodels že nameščen v okolju Python, vendar ne podpira metodpredvidevanje, zato ga boste morali klonirati iz skladišča in namestiti iz vira.

Zaporedje
Zaporedje

V tem primeru to pomeni, da so cene potovanja kovancev stabilne od samega začetka in skozi celotno časovno obdobje. Ta metoda predpostavlja, da je naslednja pričakovana točka enaka zadnji opazovani točki in se imenuje naivni pristop.

Naivna metoda
Naivna metoda

Zdaj izračunajte standardni odklon, da preizkusite natančnost modela na testnem nizu podatkov. Iz vrednosti RMSE in zgornjega grafa lahko sklepamo, da Naive ni primerna za možnosti visoke volatilnosti, ampak se uporablja za stabilne.

Preprost srednji slog

Za demonstracijo metode se nariše grafikon, pri čemer predpostavljamo, da os Y predstavlja ceno, os X pa čas (dni).

Preprost srednji slog
Preprost srednji slog

Iz tega lahko sklepamo, da se cena naključno povečuje in znižuje z majhno maržo, tako da povprečna vrednost ostane konstantna. V tem primeru lahko predvidite ceno naslednjega obdobja, podobno povprečju za vse pretekle dni.

Ta metoda napovedovanja s pričakovanim povprečjem predhodno opazovanih točk se imenuje preprosta povprečna metoda.

V tem primeru se vzamejo predhodno znane vrednosti, izračuna se povprečje in se vzame kot naslednja vrednost. Seveda to ne bo točno, vendar je precej blizu in obstajajo situacije, ko ta metoda deluje najbolje.

Enostavno srednjemetoda
Enostavno srednjemetoda

Na podlagi rezultatov, prikazanih na grafu, ta metoda deluje najbolje, če povprečna vrednost v vsakem časovnem obdobju ostane nespremenjena. Čeprav je naivna metoda boljša od povprečja, vendar ne za vse nabore podatkov. Priporočljivo je, da preizkusite vsak model korak za korakom in preverite, ali izboljša rezultat ali ne.

Model drsečega povprečja

Model drsečega povprečja
Model drsečega povprečja

Na podlagi tega grafikona lahko sklepamo, da so se cene v preteklosti večkrat povečale za veliko razliko, zdaj pa so stabilne. Če želite uporabiti prejšnjo metodo povprečenja, morate vzeti povprečje vseh prejšnjih podatkov. Cene začetnega obdobja bodo močno vplivale na napoved naslednjega obdobja. Zato kot izboljšanje v primerjavi s preprostim povprečjem vzemite povprečje cen samo za zadnjih nekaj časovnih obdobij.

Ta tehnika napovedovanja se imenuje tehnika drsečega povprečja, včasih se imenuje tudi "premično okno" velikosti "n". Z uporabo preprostega modela se predvideva naslednja vrednost v TS za preverjanje natančnosti metode. Jasno je, da je Naive boljši od povprečja in drsečega povprečja za ta nabor podatkov.

Obstaja različica napovedi po metodi enostavnega eksponentnega glajenja. Pri metodi drsečega povprečja so pretekla opazovanja "n" enako obtežena. V tem primeru lahko naletite na situacije, ko vsak od preteklih 'n' vpliva na napoved na svoj način. Ta variacija, ki različno tehta pretekla opazovanja, se imenuje metodatehtano drseče povprečje.

Extrapolacija vzorcev

Ena najpomembnejših lastnosti, potrebnih za upoštevanje algoritmov za napovedovanje časovnih vrst, je zmožnost ekstrapolacije vzorcev izven domene podatkov usposabljanja. Številni algoritmi ML nimajo te zmožnosti, saj so ponavadi omejeni na regijo, ki je opredeljena s podatki o usposabljanju. Zato niso primerni za TS, katerih namen je projicirati rezultat v prihodnost.

Druga pomembna lastnost algoritma TS je možnost pridobivanja intervalov zaupanja. Čeprav je to privzeta lastnost za modele TS, večina modelov ML te zmožnosti nima, saj vsi ne temeljijo na statističnih porazdelitvah.

Ne mislite, da se za napovedovanje TS uporabljajo samo preproste statistične metode. Sploh ni tako. Obstaja veliko kompleksnih pristopov, ki so lahko zelo uporabni v posebnih primerih. Generalizirana avtoregresivna pogojna heteroskedastičnost (GARCH), Bayesian in VAR so le nekateri izmed njih.

Obstajajo tudi modeli nevronskih omrežij, ki jih je mogoče uporabiti za časovne serije, ki uporabljajo zaostajajoče napovedovalce in lahko obravnavajo funkcije, kot je avtoregresija nevronske mreže (NNAR). Obstajajo celo modeli časovnih vrst, izposojeni iz kompleksnega učenja, zlasti v družini ponavljajočih se nevronskih mrež, kot sta omrežja LSTM in GRU.

Metrike ocenjevanja in preostala diagnostika

Najpogostejše meritve napovedi sorms sredstva, ki jih mnogi uporabljajo pri reševanju regresijskih problemov:

  • MAPE, ker je neodvisen od lestvice in predstavlja razmerje napake do dejanskih vrednosti v odstotkih;
  • MASE, ki kaže, kako uspešna je napoved v primerjavi z naivno povprečno napovedjo.

Ko je metoda napovedovanja prilagojena, je pomembno oceniti, kako dobro je sposobna zajeti modele. Čeprav meritve vrednotenja pomagajo ugotoviti, kako blizu so vrednosti dejanskim vrednostim, ne ocenjujejo, ali model ustreza TS. Ostanki so dober način za oceno tega. Ker programer poskuša uporabiti vzorce TS, lahko pričakuje, da se bodo napake obnašale kot "beli šum", saj predstavljajo nekaj, česar model ne more zajeti.

"Beli šum" mora imeti naslednje lastnosti:

  1. Nekorelirani ostanki (Acf=0)
  2. Ostanki sledijo normalni porazdelitvi z ničelno srednjo vrednostjo (nepristransko) in konstantno varianco.
  3. Če katera od obeh lastnosti manjka, obstaja prostor za izboljšave v modelu.
  4. Lastnost ničelne srednje vrednosti je mogoče enostavno preizkusiti s T-testom.
  5. Lastnosti normalnosti in konstantne variance se vizualno nadzorujejo s histogramom ostankov ali z ustreznim enovariantnim testom normalnosti.

ARIMA model

ARIMA - Avtoregresivni integrirani model drsečega povprečja je ena izmed najbolj priljubljenih metod, ki se uporabljajo pri napovedovanju TS, predvsemprek samodejne korelacije podatkov za ustvarjanje visokokakovostnih modelov.

Pri ocenjevanju koeficientov ARIMA je glavna predpostavka, da so podatki stacionarni. To pomeni, da trend in sezonskost ne moreta vplivati na variance. Kakovost modela je mogoče oceniti s primerjavo časovnega grafa dejanskih vrednosti s predvidenimi vrednostmi. Če sta obe krivulji blizu, potem lahko domnevamo, da model ustreza analiziranemu primeru. Razkriti mora morebitne trende in sezonskost.

Analiza ostankov mora nato pokazati, ali model ustreza: naključni ostanki pomenijo, da je točen. Namestitev ARIMA s parametri (0, 1, 1) bo dala enake rezultate kot eksponentno glajenje, uporaba parametrov (0, 2, 2) pa bo dala dvojne rezultate eksponentnega glajenja.

Algoritmi časovnih vrst v strežniku SQL
Algoritmi časovnih vrst v strežniku SQL

Nastavitev ARIMA lahko dostopate v Excelu:

  1. Zaženi Excel.
  2. Poiščite XL MINER v orodni vrstici.
  3. Na traku izberite ARIMA v spustnem meniju.

Povzetek zmogljivosti modela ARIMA:

  1. ARIMA - Avtoregresivno integrirano drseče povprečje.
  2. Model napovedovanja, uporabljen pri analizi časovnih vrst.
  3. Sintaksa parametra ARIMA: ARIMA (p, d, q), kjer je p=število avtoregresivnih izrazov, d=število sezonskih razlik in q=število izrazov drsečega povprečja.

Algoritmi v strežniku SQL

Izvajanje navzkrižnih napovedi je ena izmed pomembnihznačilnosti časovnih vrst pri napovedovanju finančnih nalog. Če se uporabita dve povezani seriji, se lahko dobljeni model uporabi za napovedovanje rezultatov ene serije na podlagi obnašanja drugih.

SQL Server 2008 ima zmogljive nove funkcije časovnih vrst, ki jih je treba naučiti in uporabljati. Orodje ima lahko dostopne podatke TS, vmesnik za simulacijo in reprodukcijo algoritmov, ki je enostaven za uporabo, in okno z razlago s povezavo do poizvedb DMX na strani strežnika, tako da lahko razumete, kaj se dogaja znotraj.

Tržna časovna vrsta je široko področje, na katerem je mogoče uporabiti modele in algoritme globokega učenja. Banke, posredniki in skladi zdaj eksperimentirajo z uporabo analiz in napovedi za indekse, menjalne tečaje, terminske pogodbe, cene kriptovalut, državne delnice in še več.

Pri napovedovanju časovnih vrst nevronska mreža najde predvidljive vzorce s preučevanjem struktur in trendov trgov ter svetuje trgovcem. Ta omrežja lahko pomagajo tudi pri odkrivanju anomalij, kot so nepričakovani vrhovi, padci, spremembe trendov in premiki ravni. Za finančne napovedi se uporablja veliko modelov umetne inteligence.

Priporočena: