Analiza i predviđanje vremenskih serija

Sadržaj:

Analiza i predviđanje vremenskih serija
Analiza i predviđanje vremenskih serija
Anonim

Dugi niz godina ljudi su predviđali vremenske prilike, gospodarske i političke događaje i sportske rezultate, a nedavno je ovaj opsežan popis nadopunjen kriptovalutama. Za predviđanje raznovrsnih događaja postoji mnogo načina za razvoj prognoza. Na primjer, intuicija, mišljenja stručnjaka, korištenje prošlih rezultata za usporedbu s tradicionalnom statistikom i predviđanje vremenskih serija samo je jedan od njih, dok je najsuvremenija i najtočnija vrsta prognoza sa širokim spektrom primjena.

Metoda vremenskog niza

Metoda vremenske serije
Metoda vremenske serije

Metoda vremenske serije (TS) skup je podataka koji prikuplja informacije tijekom određenog vremenskog razdoblja. Postoje posebne metode za izdvajanje ove vrste:

  • linearno i nelinearno;
  • parametrijski i neparametarski;
  • jednodimenzionalno i višedimenzionalno.

Prognoziranje vremenaserija sa sobom donosi jedinstveni skup mogućnosti za suočavanje s današnjim izazovima. Modeliranje se oslanja na učenje kako bi se uspostavila pokretačka snaga koja stoji iza promjene podataka. Proces dolazi iz dugoročnih trendova, sezonskih učinaka ili nepravilnih fluktuacija koje su karakteristične za TS i koje se ne vide u drugim vrstama analiza.

Strojno učenje je grana računalne znanosti u kojoj se algoritmi kompiliraju iz podataka i uključuju umjetne neuronske mreže, duboko učenje, pravila asocijacija, stabla odlučivanja, učenje s pojačanjem i Bayesove mreže. Različiti algoritmi pružaju opcije za rješavanje problema, a svaki ima svoje zahtjeve i kompromise u pogledu unosa podataka, brzine i točnosti rezultata. Oni će, zajedno s točnošću konačnih predviđanja, biti ponderirani kada korisnik odluči koji će algoritam najbolje funkcionirati za situaciju koja se proučava.

Predviđanje vremenskih serija posuđuje iz područja statistike, ali daje nove pristupe modeliranju problema. Glavni problem za strojno učenje i vremenske serije je isti - predvidjeti nove ishode na temelju prethodno poznatih podataka.

Cilj prediktivnog modela

Svrha prediktivnog modela
Svrha prediktivnog modela

TS je skup točaka podataka koji se prikupljaju u redovitim intervalima. Analiziraju se kako bi se odredio dugoročni trend, kako bi se predvidjela budućnost ili radi neke druge vrste analize. Dvije su stvari koje čine TS drugačijim od normalnog problema regresije:

  1. Ovise o vremenu. Takoosnovna pretpostavka modela linearne regresije da su promatranja neovisna u ovom slučaju ne vrijedi.
  2. Zajedno s trendom povećanja ili smanjenja, većina TS-ova ima neki oblik sezonskog karaktera, tj. promjene koje su specifične za određeno vremensko razdoblje.

Cilj modela predviđanja vremenske serije je dati točnu prognozu na zahtjev. Vremenski niz ima vrijeme (t) kao nezavisnu varijablu i ciljnu ovisnu varijablu. U većini slučajeva, prognoza je konkretan rezultat, na primjer, prodajna cijena kuće, sportski rezultat natjecanja, rezultati trgovanja na burzi. Predviđanje predstavlja medijan i srednju vrijednost i uključuje interval pouzdanosti koji izražava razinu povjerenja u rasponu od 80-95%. Kada se bilježe u pravilnim intervalima, procesi se nazivaju vremenskim nizom i izražavaju se na dva načina:

  • jednodimenzionalni s vremenskim indeksom koji stvara implicitni poredak;
  • skup s dvije dimenzije: vrijeme s nezavisnom varijablom i drugom ovisnom varijablom.

Stvaranje značajki jedan je od najvažnijih i dugotrajnih zadataka u primijenjenom strojnom učenju. Međutim, predviđanje vremenskih serija ne stvara značajke, barem ne u tradicionalnom smislu. To je osobito istinito kada želite predvidjeti rezultat nekoliko koraka unaprijed, a ne samo sljedeću vrijednost.

To ne znači da su značajke potpuno onemogućene. Treba ih koristiti samo s oprezom iz sljedećih razloga:

  1. Nejasno kakva je budućnost stvarnavrijednosti će biti za ove značajke.
  2. Ako su objekti predvidljivi i imaju neke uzorke, možete izgraditi prediktivni model za svaki od njih.

Međutim, imajte na umu da će korištenje prediktivnih vrijednosti kao značajki prenijeti pogrešku u ciljnu varijablu i dovesti do pogrešaka ili pristranih predviđanja.

Komponente vremenske serije

Komponente vremenske serije
Komponente vremenske serije

Trend postoji kada se niz povećava, smanjuje ili ostaje na konstantnoj razini tijekom vremena, pa se uzima kao funkcija. Sezonalnost se odnosi na svojstvo vremenske serije koja prikazuje periodične obrasce koji se ponavljaju stalnom frekvencijom (m), na primjer, m=12 znači da se uzorak ponavlja svakih dvanaest mjeseci.

Lažne varijable slične sezonalnosti mogu se dodati kao binarna funkcija. Možete, primjerice, uzeti u obzir praznike, posebne događaje, marketinške kampanje, bez obzira je li vrijednost strana ili ne. Međutim, morate imati na umu da ove varijable moraju imati određene obrasce. Međutim, broj dana se može lako izračunati čak i za buduća razdoblja i utjecati na predviđanje vremenskih serija, posebno u financijskom području.

Ciklusi su godišnja doba koja se ne odvijaju po fiksnoj stopi. Na primjer, godišnji atributi reprodukcije kanadskog risa odražavaju sezonske i cikličke obrasce. Ne ponavljaju se u pravilnim intervalima i mogu se pojaviti čak i ako je frekvencija 1 (m=1).

Zakašnjele vrijednosti -zaostale vrijednosti varijable mogu se uključiti kao prediktori. Neki modeli, kao što su ARIMA, Vector Autoregression (VAR) ili Autoregressive Neural Networks (NNAR), rade na ovaj način.

Komponente varijable od interesa vrlo su važne za analizu i predviđanje vremenskih serija, za razumijevanje njihovog ponašanja, obrazaca i za odabir odgovarajućeg modela.

Atributi skupa podataka

Atributi skupa podataka
Atributi skupa podataka

Možda ste navikli unositi tisuće, milijune i milijarde točaka podataka u modele strojnog učenja, ali to nije potrebno za vremenske serije. Zapravo, moguće je raditi s malim i srednjim TS, ovisno o učestalosti i vrsti varijable, a to nije nedostatak metode. Štoviše, ovaj pristup zapravo ima niz prednosti:

  1. Takvi skupovi informacija odgovarat će mogućnostima kućnog računala.
  2. U nekim slučajevima izvršite analizu vremenskih serija i predviđanje koristeći cijeli skup podataka, a ne samo uzorak.
  3. TS duljina korisna je za izradu grafikona koji se mogu analizirati. Ovo je vrlo važna točka jer se programeri oslanjaju na grafiku u fazi analize. To ne znači da ne rade s ogromnim vremenskim serijama, ali u početku bi trebali biti u stanju nositi se s manjim TS.
  4. Svaki skup podataka koji sadrži polje vezano za vrijeme može imati koristi od analize i predviđanja vremenskih serija. Međutim, ako programer ima veći skup podataka, DB (TSDB)može biti prikladnije.

Neki od ovih skupova potječu od događaja snimljenih s vremenskom oznakom, zapisnicima sustava i financijskim podacima. Budući da TSDB izvorno radi s vremenskim serijama, ovo je sjajna prilika za primjenu ove tehnike na skupove podataka velikih razmjera.

Strojno učenje

Strojno učenje (ML) može nadmašiti tradicionalne metode predviđanja vremenskih serija. Postoji tona studija koje uspoređuju metode strojnog učenja s klasičnijim statističkim metodama na TS podacima. Neuronske mreže su jedna od tehnologija koja je široko istražena i primjenjuje TS pristupe. Metode strojnog učenja vode na ljestvici za prikupljanje podataka na temelju vremenskih serija. Ovi setovi su se pokazali učinkovitima, nadmašujući čiste TS setove u odnosu na M3 ili Kaggle.

MO ima svoje specifične probleme. Razvijanje značajki ili generiranje novih prediktora iz skupa podataka važan je korak za to i može imati ogroman utjecaj na izvedbu i biti nužan način za rješavanje problema trenda i sezonskosti TS podataka. Također, neki modeli imaju problema s time koliko dobro odgovaraju podacima, a ako ne uspiju, možda će propustiti glavni trend.

Pristupi vremenskog niza i strojnog učenja ne bi trebali postojati odvojeno jedan od drugog. Mogu se kombinirati zajedno kako bi se pružile prednosti svakog pristupa. Metode predviđanja i analiza vremenskih serija dobre su u dekomponiranju podataka na trendove i sezonske podatke.elementi. Ova se analiza zatim može koristiti kao ulaz u model ML-a koji u svom algoritmu ima informacije o trendovima i sezonalnosti, dajući najbolje od oba svijeta.

Razumijevanje izjave problema

Za primjer, uzmite u obzir TS koji se odnosi na predviđanje broja putnika na novoj željezničkoj usluzi velike brzine. Na primjer, imate 2 godine podataka (kolovoz 2016. - rujan 2018.) i s tim podacima trebate predvidjeti broj putnika za sljedećih 7 mjeseci, s podacima za 2 godine (2016.-2018.) na satnoj razini s broj putnika koji putuju, a potrebno ih je procijeniti u budućnosti.

Podskup skupa podataka za predviđanje s vremenskim nizom:

  1. Izrada datoteke vlaka i testa za simulaciju.
  2. Prvih 14 mjeseci (kolovoz 2016. - listopad 2017.) koriste se kao podaci o obuci, a sljedeća 2 mjeseca (studeni 2017. - prosinac 2017.) podaci su testa.
  3. Agregirajte skup podataka na dnevnoj bazi.
Agregacija skupa podataka
Agregacija skupa podataka

Izvršite vizualizaciju podataka da vidite kako se mijenjaju tijekom određenog vremenskog razdoblja.

Vizualizacija podataka
Vizualizacija podataka

Naivna metoda konstrukcije pristupa

Biblioteka koja se u ovom slučaju koristi za TS predviđanje je statsmodels. Mora se instalirati prije nego što se može primijeniti bilo koji od ovih pristupa. Možda je statsmodels već instaliran u Python okruženju, ali ne podržava metodepredviđanje, pa ćete ga morati klonirati iz spremišta i instalirati iz izvora.

Sekvenciranje
Sekvenciranje

Za ovaj primjer, to znači da su cijene putovanja kovanicama stabilne od samog početka i tijekom cijelog vremenskog razdoblja. Ova metoda pretpostavlja da je sljedeća očekivana točka jednaka posljednjoj promatranoj točki i naziva se naivni pristup.

Naivna metoda
Naivna metoda

Sada izračunajte standardnu devijaciju kako biste testirali točnost modela na skupu testnih podataka. Iz RMSE vrijednosti i gornjeg grafikona možemo zaključiti da Naive nije prikladna za opcije visoke volatilnosti, ali se koristi za stabilne.

Jednostavan srednji stil

Da bi se demonstrirala metoda, nacrta se grafikon, uz pretpostavku da os Y predstavlja cijenu, a os X vrijeme (dane).

Jednostavan srednji stil
Jednostavan srednji stil

Iz toga možemo zaključiti da se cijena nasumično povećava i smanjuje s malom maržom, tako da prosječna vrijednost ostaje konstantna. U tom slučaju možete predvidjeti cijenu sljedećeg razdoblja, sličnu prosjeku za sve protekle dane.

Ova metoda predviđanja s očekivanim prosjekom prethodno promatranih točaka naziva se jednostavna prosječna metoda.

U ovom slučaju se uzimaju prethodno poznate vrijednosti, izračunava se prosjek i uzima se kao sljedeća vrijednost. Naravno, ovo neće biti točno, ali je prilično blizu, a postoje situacije u kojima ova metoda najbolje funkcionira.

Jednostavan srednjimetoda
Jednostavan srednjimetoda

Na temelju rezultata prikazanih na grafikonu, ova metoda najbolje funkcionira kada prosječna vrijednost u svakom vremenskom razdoblju ostane konstantna. Iako je naivna metoda bolja od prosjeka, ali ne za sve skupove podataka. Preporuča se isprobati svaki model korak po korak i vidjeti hoće li poboljšati rezultat ili ne.

Model pokretnog prosjeka

Model pokretnog prosjeka
Model pokretnog prosjeka

Na temelju ovog grafikona možemo zaključiti da su cijene u prošlosti nekoliko puta porasle za veliku maržu, ali su sada stabilne. Da biste koristili prethodnu metodu usrednjavanja, morate uzeti prosjek svih prethodnih podataka. Cijene početnog razdoblja snažno će utjecati na prognozu sljedećeg razdoblja. Stoga, kao poboljšanje u odnosu na jednostavan prosjek, uzmite prosjek cijena samo za posljednjih nekoliko vremenskih razdoblja.

Ova tehnika predviđanja naziva se tehnika pomičnog prosjeka, ponekad se naziva i "pokretnim prozorom" veličine "n". Koristeći jednostavan model, predviđa se sljedeća vrijednost u TS kako bi se provjerila točnost metode. Jasno je da naivni nadmašuje i Prosjek i Pomični prosjek za ovaj skup podataka.

Postoji varijanta prognoze metodom jednostavnog eksponencijalnog izglađivanja. U metodi pomičnog prosjeka, prošla "n" opažanja su jednako ponderirana. U ovom slučaju možete naići na situacije u kojima svaki od prošlih 'n' utječe na prognozu na svoj način. Ova varijacija, koja različito ponderira prošla opažanja, naziva se metodaponderirani pokretni prosjek.

Ekstrapolacija uzoraka

Jedno od najvažnijih svojstava potrebnih za razmatranje algoritama predviđanja vremenskih serija je sposobnost ekstrapolacije uzoraka izvan domene podataka o obuci. Mnogi ML algoritmi nemaju tu mogućnost jer su obično ograničeni na regiju koja je definirana podacima o obuci. Stoga nisu prikladni za TS, čija je svrha projicirati rezultat u budućnost.

Još jedno važno svojstvo TS algoritma je mogućnost dobivanja intervala povjerenja. Iako je ovo zadano svojstvo za TS modele, većina ML modela nema tu mogućnost jer se svi ne temelje na statističkim distribucijama.

Nemojte misliti da se za predviđanje TS-a koriste samo jednostavne statističke metode. To uopće nije tako. Postoji mnogo složenih pristupa koji mogu biti vrlo korisni u posebnim slučajevima. Generalizirana autoregresivna uvjetna heteroskedastičnost (GARCH), Bayesian i VAR samo su neki od njih.

Postoje i modeli neuronske mreže koji se mogu primijeniti na vremenske serije koje koriste zaostajuće prediktore i mogu upravljati značajkama kao što je autoregresija neuronske mreže (NNAR). Postoje čak i modeli vremenskih serija posuđeni iz složenog učenja, posebno u obitelji rekurentnih neuronskih mreža, kao što su LSTM i GRU mreže.

Mjerne vrijednosti procjene i preostala dijagnostika

Najčešći pokazatelji predviđanja surms sredstva koja mnogi ljudi koriste pri rješavanju regresijskih problema:

  • MAPE jer je neovisan o mjerilu i predstavlja omjer pogreške i stvarnih vrijednosti kao postotak;
  • MASE, što pokazuje koliko je dobro predviđanje u usporedbi s naivnim prosječnim predviđanjem.

Kada je metoda predviđanja prilagođena, važno je procijeniti koliko je ona u stanju uhvatiti modele. Iako metrika evaluacije pomaže u određivanju koliko su vrijednosti bliske stvarnim vrijednostima, one ne ocjenjuju odgovara li model TS-u. Ostaci su dobar način za procjenu ovoga. Budući da programer pokušava primijeniti TS obrasce, može očekivati da će se pogreške ponašati kao "bijeli šum" jer predstavljaju nešto što model ne može uhvatiti.

"Bijeli šum" mora imati sljedeća svojstva:

  1. Nekorelirani ostaci (Acf=0)
  2. Reziduali slijede normalnu distribuciju s nultom srednjom (nepristranom) i konstantnom varijansom.
  3. Ako neko od dva svojstva nedostaje, postoji prostor za poboljšanje modela.
  4. Svojstvo nulte srednje vrijednosti može se lako testirati pomoću T-testa.
  5. Svojstva normalnosti i konstantne varijance vizualno se kontroliraju pomoću histograma reziduala ili odgovarajućeg univarijantnog testa normalnosti.

ARIMA model

ARIMA - Autoregresivni integrirani model pokretnog prosjeka, jedna je od najpopularnijih metoda koje se koriste u TS predviđanju, uglavnomputem autokorelacije podataka za stvaranje visokokvalitetnih modela.

Kada se procjenjuju ARIMA koeficijenti, glavna je pretpostavka da su podaci stacionarni. To znači da trend i sezonalnost ne mogu utjecati na varijancu. Kvaliteta modela može se ocijeniti usporedbom vremenskog dijagrama stvarnih vrijednosti s predviđenim vrijednostima. Ako su obje krivulje bliske, onda se može pretpostaviti da model odgovara analiziranom slučaju. Trebao bi otkriti sve trendove i sezonalnost, ako ih ima.

Analiza reziduala bi tada trebala pokazati odgovara li model: nasumični ostaci znače da je točan. Postavljanje ARIMA parametara (0, 1, 1) dat će iste rezultate kao eksponencijalno izglađivanje, a korištenje parametara (0, 2, 2) dat će rezultate dvostrukog eksponencijalnog izglađivanja.

Algoritmi vremenskog niza u SQL Serveru
Algoritmi vremenskog niza u SQL Serveru

Možete pristupiti ARIMA postavkama u Excelu:

  1. Pokreni Excel.
  2. Pronađi XL MINER na alatnoj traci.
  3. Na vrpci odaberite ARIMA s padajućeg izbornika.

Sažetak mogućnosti modela ARIMA:

  1. ARIMA - autoregresivni integrirani pomični prosjek.
  2. Model predviđanja koji se koristi u analizi vremenskih serija.
  3. ARIMA sintaksa parametra: ARIMA (p, d, q) gdje je p=broj autoregresivnih pojmova, d=broj sezonskih razlika i q=broj pojmova pokretnog prosjeka.

Algoritmi u SQL Serveru

Izvođenje unakrsnog predviđanja jedno je od važnihznačajke vremenskih serija u predviđanju financijskih zadataka. Ako se koriste dvije povezane serije, rezultirajući model se može koristiti za predviđanje rezultata jedne serije na temelju ponašanja ostalih.

SQL Server 2008 ima moćne nove značajke vremenskog niza za učenje i korištenje. Alat ima lako dostupne TS podatke, sučelje jednostavno za korištenje za simulaciju i reprodukciju funkcija algoritma i prozor s objašnjenjem s vezom na DMX upite na strani poslužitelja tako da možete razumjeti što se događa unutra.

Tržišne vremenske serije široko su područje na koje se mogu primijeniti modeli i algoritmi dubokog učenja. Banke, brokeri i fondovi sada eksperimentiraju sa svojom primjenom analize i predviđanja za indekse, tečajeve, fjučerse, cijene kriptovaluta, državne dionice i još mnogo toga.

U predviđanju vremenskih serija, neuronska mreža pronalazi predvidljive obrasce proučavajući strukture i trendove tržišta i daje savjete trgovcima. Ove mreže također mogu pomoći u otkrivanju anomalija kao što su neočekivani vrhovi, padovi, promjene trenda i pomaci razine. Mnogi modeli umjetne inteligencije koriste se za financijska predviđanja.

Preporučeni: