Dugi niz godina ljudi su predviđali vremenske prilike, ekonomske i političke događaje i sportske rezultate, a nedavno je ova opsežna lista dopunjena kriptovalutama. Za predviđanje raznovrsnih događaja postoji mnogo načina da se razviju prognoze. Na primjer, intuicija, mišljenja stručnjaka, korištenje prošlih rezultata za poređenje sa tradicionalnom statistikom, i predviđanje vremenskih serija samo je jedan od njih, dok je najmodernija i najpreciznija vrsta prognoza sa širokim spektrom primjena.
Metoda vremenske serije
Metoda vremenske serije (TS) je skup podataka koji prikuplja informacije tokom određenog vremenskog perioda. Postoje posebne metode za izdvajanje ove vrste:
- linearni i nelinearni;
- parametrijski i neparametarski;
- jednodimenzionalni i višedimenzionalni.
Prognoza vremenaserija sa sobom donosi jedinstven skup mogućnosti za suočavanje sa današnjim izazovima. Modeliranje se oslanja na učenje kako bi se uspostavila pokretačka snaga koja stoji iza promjene podataka. Proces dolazi od dugoročnih trendova, sezonskih efekata ili nepravilnih fluktuacija koje su karakteristične za TS i koje se ne vide u drugim vrstama analiza.
Mašinsko učenje je grana računarske nauke 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 tačnosti rezultata. Oni će, zajedno sa tačnošću konačnih predviđanja, biti ponderisani kada korisnik odluči koji će algoritam najbolje funkcionirati za situaciju koja se proučava.
Predviđanje vremenskih serija posuđuje iz oblasti statistike, ali daje nove pristupe modeliranju problema. Glavni problem za mašinsko učenje i vremenske serije je isti - predviđanje novih ishoda na osnovu prethodno poznatih podataka.
Cilja prediktivnog modela
TS je skup podataka prikupljenih u redovnim intervalima. Analiziraju se da bi se odredio dugoročni trend, da se predvidi budućnost ili da se izvrši neka druga vrsta analize. Postoje 2 stvari koje čine TS drugačijim od normalnog problema regresije:
- Oni zavise od vremena. Dakleosnovna pretpostavka modela linearne regresije da su zapažanja nezavisna u ovom slučaju ne vrijedi.
- Zajedno sa trendom povećanja ili smanjenja, većina TS-ova ima neki oblik sezonskog karaktera, tj. promjene koje su specifične za određeni vremenski period.
Cilj modela predviđanja vremenske serije je dati tačnu prognozu na zahtjev. Vremenska serija ima vrijeme (t) kao nezavisnu varijablu i ciljnu zavisnu varijablu. U većini slučajeva, prognoza je konkretan rezultat, na primjer, prodajna cijena kuće, sportski rezultat takmičenja, rezultati trgovanja na berzi. Predviđanje predstavlja medijanu i srednju vrijednost i uključuje interval povjerenja koji izražava nivo povjerenja u rasponu od 80-95%. Kada se bilježe u pravilnim intervalima, procesi se nazivaju vremenske serije i izražavaju se na dva načina:
- jednodimenzionalni sa vremenskim indeksom koji stvara implicitni poredak;
- skup sa dvije dimenzije: vrijeme sa nezavisnom varijablom i drugom zavisnom varijablom.
Kreiranje funkcija je jedan od najvažnijih zadataka koji oduzimaju mnogo vremena u primijenjenom mašinskom učenju. Međutim, predviđanje vremenskih serija ne stvara karakteristike, barem ne u tradicionalnom smislu. Ovo je posebno tačno kada želite da predvidite rezultat nekoliko koraka unapred, a ne samo sledeću vrednost.
Ovo ne znači da su funkcije potpuno onemogućene. Samo ih treba koristiti oprezno iz sljedećih razloga:
- Nejasno kakva je budućnost stvarnavrijednosti će biti za ove karakteristike.
- Ako su objekti predvidljivi i imaju neke obrasce, možete izgraditi prediktivni model za svaki od njih.
Međutim, imajte na umu da će korištenje prediktivnih vrijednosti kao karakteristika propagirati grešku u ciljnu varijablu i dovesti do grešaka ili pristranih predviđanja.
Komponente vremenske serije
Trend postoji kada se serija povećava, smanjuje ili ostaje na konstantnom nivou tokom vremena, pa se uzima kao funkcija. Sezonalnost se odnosi na svojstvo vremenske serije koja prikazuje periodične obrasce koji se ponavljaju konstantnom frekvencijom (m), na primjer, m=12 znači da se obrazac ponavlja svakih dvanaest mjeseci.
Lažne varijable slične sezonalnosti mogu se dodati kao binarna funkcija. Možete, na primjer, uzeti u obzir praznike, posebne događaje, marketinške kampanje, bez obzira da li je vrijednost strana ili ne. Međutim, morate zapamtiti da ove varijable moraju imati određene obrasce. Međutim, broj dana se može lako izračunati čak i za buduće periode i uticati na predviđanje vremenskih serija, posebno u finansijskoj oblasti.
Ciklusi su sezone koje se ne dešavaju po fiksnoj stopi. Na primjer, godišnji atributi reprodukcije kanadskog risa odražavaju sezonske i ciklične 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 su veoma važne za analizu i predviđanje vremenskih serija, za razumijevanje njihovog ponašanja, obrazaca i za odabir odgovarajućeg modela.
Atributi skupa podataka
Možda ste navikli da unosite hiljade, milione i milijarde tačaka podataka u modele mašinskog učenja, ali to nije potrebno za vremenske serije. Zapravo, moguće je raditi sa malim i srednjim TS, ovisno o frekvenciji i vrsti varijable, a to nije nedostatak metode. Štaviše, postoji niz prednosti ovog pristupa:
- Takvi skupovi informacija će odgovarati mogućnostima kućnog računara.
- U nekim slučajevima izvršite analizu vremenskih serija i predviđanje koristeći cijeli skup podataka, a ne samo uzorak.
- TS dužina je korisna za kreiranje grafikona koji se mogu analizirati. Ovo je veoma važna tačka jer se programeri oslanjaju na grafiku u fazi analize. To ne znači da oni ne rade sa ogromnim vremenskim serijama, ali u početku bi trebali biti u stanju da obrađuju manje TS.
- Svaki skup podataka koji sadrži vremensko polje 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 dolaze iz događaja snimljenih s vremenskom oznakom, sistemskim evidencijama i finansijskim podacima. Pošto TSDB izvorno radi sa vremenskim serijama, ovo je odlična prilika da se ova tehnika primeni na skupove podataka velikih razmera.
Mašinsko učenje
Mašinsko učenje (ML) može nadmašiti tradicionalne metode predviđanja vremenskih serija. Postoji tona studija koje upoređuju metode mašinskog učenja sa klasičnijim statistikama o TS podacima. Neuronske mreže su jedna od tehnologija koje su široko istražene i primjenjuju TS pristupe. Metode mašinskog učenja vode rangiranje za prikupljanje podataka na osnovu vremenskih serija. Ovi setovi su se pokazali efikasnim, nadmašujući čiste TS setove u odnosu na M3 ili Kaggle.
MO ima svoje specifične probleme. Razvoj karakteristika ili generisanje novih prediktora iz skupa podataka je važan korak za to i može imati ogroman uticaj na performanse i biti neophodan način za rešavanje problema trenda i sezonskosti TS podataka. Također, neki modeli imaju problema s tim koliko dobro se uklapaju u podatke, a ako to ne učine, možda će propustiti glavni trend.
Vremenske serije i pristupi mašinskom učenju ne bi trebali postojati izolovani jedan od drugog. Mogu se kombinovati zajedno kako bi se pružile prednosti svakog pristupa. Metode predviđanja i analiza vremenskih serija dobro rade na dekomponovanju podataka na trendove i sezonske podatke.elementi. Ova analiza se zatim može koristiti kao ulaz za ML model 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 (avgust 2016. - septembar 2018.) i sa tim podacima trebate predvidjeti broj putnika za narednih 7 mjeseci, imajući podatke za 2 godine (2016-2018) na satnom nivou sa broj putnika koji putuju, a potrebno je procijeniti njihov broj u budućnosti.
Podskup skupa podataka za predviđanje sa vremenskim serijama:
- Kreiranje datoteke voza i testa za simulaciju.
- Prvih 14 mjeseci (avgust 2016. - oktobar 2017.) se koriste kao podaci o obuci, a sljedeća 2 mjeseca (novembar 2017. - decembar 2017.) su podaci za testiranje.
- Agregirajte skup podataka na dnevnoj bazi.
Izvršite vizualizaciju podataka da vidite kako se mijenjaju tokom određenog vremenskog perioda.
Naivni pristup metoda izgradnje
Biblioteka koja se koristi u ovom slučaju 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, tako da ćete morati da ga klonirate iz spremišta i instalirate iz izvora.
Za ovaj primjer, to znači da su cijene putovanja novčićima stabilne od samog početka i tokom cijelog vremenskog perioda. Ova metoda pretpostavlja da je sljedeća očekivana tačka jednaka posljednjoj promatranoj tački i naziva se naivni pristup.
Sada izračunajte standardnu devijaciju da testirate tačnost modela na skupu podataka za testiranje. Iz RMSE vrijednosti i gornjeg grafikona možemo zaključiti da Naive nije pogodan za opcije visoke volatilnosti, ali se koristi za stabilne.
Jednostavan srednji stil
Da bi se demonstrirao metod, nacrtan je grafikon, pod pretpostavkom da Y-osa predstavlja cijenu, a X-osa predstavlja vrijeme (dane).
Iz toga možemo zaključiti da se cijena nasumično povećava i smanjuje sa malom maržom, tako da prosječna vrijednost ostaje konstantna. U ovom slučaju možete predvidjeti cijenu sljedećeg perioda, sličnu prosjeku za sve protekle dane.
Ova metoda predviđanja sa očekivanim prosjekom prethodno uočenih tač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 tačno, ali je prilično blizu, a postoje situacije u kojima ova metoda najbolje funkcionira.
Na osnovu rezultata prikazanih na grafikonu, ova metoda najbolje funkcionira kada prosječna vrijednost u svakom vremenskom periodu ostane konstantna. Iako je naivna metoda bolja od prosjeka, ali ne za sve skupove podataka. Preporučuje se da isprobate svaki model korak po korak i vidite da li poboljšava rezultat ili ne.
Model s pokretnim prosjekom
Na osnovu ovog grafikona možemo zaključiti da su cijene porasle nekoliko puta u prošlosti za veliku maržu, ali da su sada stabilne. Da biste koristili prethodnu metodu usrednjavanja, potrebno je da uzmete prosek svih prethodnih podataka. Cijene početnog perioda će snažno uticati na prognozu za naredni period. Stoga, kao poboljšanje u odnosu na prosti prosjek, uzmite prosjek cijena samo za posljednjih nekoliko vremenskih perioda.
Ova tehnika predviđanja naziva se tehnika pokretnog prosjeka, ponekad se naziva "n" "pokretni prozor". Koristeći jednostavan model, predviđa se sljedeća vrijednost u TS kako bi se provjerila tačnost metode. Jasno je da naivni nadmašuje i Prosjek i Pokretni prosjek za ovaj skup podataka.
Postoji varijanta prognoze metodom jednostavnog eksponencijalnog izglađivanja. U metodi pokretnog prosjeka, prošla "n" zapažanja su jednako ponderirana. U ovom slučaju možete naići na situacije u kojima svako od prošlih 'n' utiče na prognozu na svoj način. Ova varijacija, koja razlikuje prošla opažanja, naziva se metodaponderirani pokretni prosjek.
Ekstrapolacija uzoraka
Jedno od najvažnijih svojstava potrebnih za razmatranje algoritama za predviđanje vremenskih serija je sposobnost ekstrapolacije obrazaca izvan domene podataka obuke. Mnogi ML algoritmi nemaju ovu mogućnost jer imaju tendenciju da budu ograničeni na region koji je definisan podacima obuke. Stoga nisu prikladni za TS, čija je svrha da projektuje rezultat u budućnost.
Još jedno važno svojstvo TS algoritma je mogućnost dobijanja intervala pouzdanosti. Iako je ovo zadano svojstvo za TS modele, većina ML modela nema ovu mogućnost jer nisu svi zasnovani na statističkim distribucijama.
Nemojte misliti da se samo jednostavne statističke metode koriste za predviđanje TS. To uopšte 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 su samo neki od njih.
Postoje i modeli neuronske mreže koji se mogu primijeniti na vremenske serije koje koriste zaostajuće prediktore i mogu upravljati funkcijama kao što je autoregresija neuronske mreže (NNAR). Postoje čak i modeli vremenskih serija posuđeni iz složenog učenja, posebno u porodici rekurentnih neuronskih mreža, kao što su LSTM i GRU mreže.
Metrike procjene i rezidualna dijagnostika
Najčešći pokazatelji predviđanja surms sredstva koja mnogi ljudi koriste prilikom rješavanja regresijskih problema:
- MAPE jer je nezavisan od skale i predstavlja omjer greške i stvarnih vrijednosti kao postotak;
- MASE, koji pokazuje koliko dobro predviđanje radi u poređenju sa naivnim prosječnim predviđanjem.
Kada je metoda predviđanja prilagođena, važno je procijeniti koliko je ona u stanju da uhvati modele. Iako metrika evaluacije pomaže u određivanju koliko su vrijednosti bliske stvarnim vrijednostima, one ne procjenjuju da li model odgovara TS. Ostaci su dobar način da se ovo procijeni. Budući da programer pokušava primijeniti TS obrasce, može očekivati da će se greške ponašati kao "bijeli šum" jer predstavljaju nešto što model ne može uhvatiti.
"Bijeli šum" mora imati sljedeća svojstva:
- Nekorelirani ostaci (Acf=0)
- Reziduali prate normalnu distribuciju sa nultom srednjom (nepristrasnom) i konstantnom varijansom.
- Ako neko od ova dva svojstva nedostaje, postoji prostor za poboljšanje modela.
- Svojstvo nulte srednje vrijednosti može se lako testirati korištenjem T-testa.
- Svojstva normalnosti i konstantne varijanse se vizuelno kontrolišu pomoću histograma reziduala ili odgovarajućeg univarijantnog testa normalnosti.
ARIMA Model
ARIMA - Autoregresivni integrisani pokretni prosek, jedan je od najpopularnijih metoda koji se koriste u TS predviđanju, uglavnomputem autokorelacije podataka za kreiranje modela visokog kvaliteta.
Kada se procjenjuju ARIMA koeficijenti, glavna pretpostavka je da su podaci stacionarni. To znači da trend i sezonalnost ne mogu utjecati na varijansu. Kvalitet modela se može ocijeniti poređenjem vremenskog dijagrama stvarnih vrijednosti sa predviđenim vrijednostima. Ako su obje krive bliske, onda se može pretpostaviti da model odgovara analiziranom slučaju. Trebalo bi otkriti sve trendove i sezonalnost, ako ih ima.
Analiza ostataka bi tada trebala pokazati da li model odgovara: nasumični reziduali znače da je tačan. Postavljanje ARIMA parametara (0, 1, 1) će dati iste rezultate kao eksponencijalno izglađivanje, a korištenje parametara (0, 2, 2) će dati dvostruko eksponencijalno izglađivanje.
Možete pristupiti ARIMA postavkama u Excelu:
- Pokreni Excel.
- Pronađi XL MINER na alatnoj traci.
- Na traci izaberite ARIMA sa padajućeg menija.
Sažetak mogućnosti ARIMA modela:
- ARIMA - Autoregresivni integrisani pokretni prosek.
- Model predviđanja koji se koristi u analizi vremenskih serija.
- ARIMA sintaksa parametra: ARIMA (p, d, q) gdje je p=broj autoregresivnih termina, d=broj sezonskih razlika i q=broj pojmova pokretnog prosjeka.
Algoritmi u SQL Serveru
Izvođenje unakrsnog predviđanja je jedno od važnihkarakteristike vremenskih serija u predviđanju finansijskih zadataka. Ako se koriste dvije povezane serije, rezultirajući model se može koristiti za predviđanje rezultata jedne serije na osnovu ponašanja drugih.
SQL Server 2008 ima moćne nove funkcije vremenske serije koje možete naučiti i koristiti. Alat ima lako dostupne TS podatke, sučelje lako za korištenje za simulaciju i reprodukciju algoritamskih funkcija i prozor s objašnjenjem sa vezom na DMX upite na strani servera tako da možete razumjeti šta se dešava unutra.
Tržišne vremenske serije su široko područje na koje se mogu primijeniti modeli i algoritmi dubokog učenja. Banke, brokeri i fondovi sada eksperimentišu sa svojom primjenom analiza i predviđanja za indekse, kurseve, 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 usponi, padovi, promjene trenda i promjene nivoa. Mnogi modeli umjetne inteligencije se koriste za finansijske prognoze.