Daudzus gadus cilvēki ir prognozējuši laikapstākļus, ekonomiskos un politiskos notikumus un sporta rezultātus, nesen šis apjomīgais saraksts ir papildināts ar kriptovalūtām. Lai prognozētu daudzpusīgus notikumus, ir daudz veidu, kā izstrādāt prognozes. Piemēram, intuīcija, ekspertu viedokļi, pagātnes rezultātu izmantošana salīdzināšanai ar tradicionālo statistiku un laikrindu prognozēšana ir tikai viens no tiem, savukārt modernākais un precīzākais prognožu veids ar plašu pielietojumu.
Laika rindas metode
Laika rindas (TS) metode ir datu kopa, kas apkopo informāciju noteiktā laika periodā. Šāda veida iegūšanai ir īpašas metodes:
- lineārs un nelineārs;
- parametrisks un neparametrisks;
- viendimensionāls un daudzdimensionāls.
Prognozējams laikssērija piedāvā unikālu iespēju kopumu mūsdienu izaicinājumiem. Modelēšana balstās uz mācīšanos, lai noteiktu datu izmaiņu virzītājspēku. Process izriet no ilgtermiņa tendencēm, sezonālām sekām vai neregulārām svārstībām, kas raksturīgas TS un nav redzamas cita veida analīzēs.
Mašīnmācība ir datorzinātnes nozare, kurā algoritmi tiek apkopoti no datiem un ietver mākslīgos neironu tīklus, dziļo mācīšanos, asociācijas noteikumus, lēmumu kokus, pastiprināšanas mācīšanos un Bajeza tīklus. Problēmu risināšanas iespējas nodrošina dažādi algoritmi, un katram no tiem ir savas prasības un kompromisi attiecībā uz datu ievadi, ātrumu un rezultātu precizitāti. Tie kopā ar galīgo prognožu precizitāti tiks novērtēti, kad lietotājs izlems, kurš algoritms vislabāk darbosies pētāmajā situācijā.
Laika rindas prognozēšana aizņemas no statistikas jomas, bet dod jaunas pieejas problēmu modelēšanai. Mašīnmācības un laikrindu galvenā problēma ir tā pati - paredzēt jaunus rezultātus, pamatojoties uz iepriekš zināmiem datiem.
Prognozējošā modeļa mērķis
TS ir regulāri apkopotu datu punktu kopa. Tie tiek analizēti, lai noteiktu ilgtermiņa tendenci, prognozētu nākotni vai veiktu cita veida analīzi. Ir 2 lietas, kas TS atšķir no parastās regresijas problēmas:
- Tie ir atkarīgi no laika. Tātadlineārās regresijas modeļa pamatpieņēmums, ka novērojumi ir neatkarīgi, šajā gadījumā nav spēkā.
- Līdztekus pieaugošai vai samazinošai tendencei lielākajai daļai TS ir kāda veida sezonalitāte, t.i., izmaiņas, kas raksturīgas noteiktam laika periodam.
Laika rindu prognozēšanas modeļa mērķis ir sniegt precīzu prognozi pēc pieprasījuma. Laika rindai ir laiks (t) kā neatkarīgais mainīgais un mērķa atkarīgais mainīgais. Vairumā gadījumu prognoze ir konkrēts rezultāts, piemēram, mājas pārdošanas cena, sacensību sportiskais rezultāts, biržas tirdzniecības rezultāti. Prognoze atspoguļo vidējo un vidējo vērtību, un tajā ir ietverts ticamības intervāls, kas izsaka ticamības līmeni diapazonā no 80 līdz 95%. Ja tos ieraksta ar regulāriem intervāliem, procesus sauc par laikrindām un izsaka divos veidos:
- viendimensionāls ar laika indeksu, kas rada netiešu secību;
- komplekts ar divām dimensijām: laiks ar neatkarīgu mainīgo un citu atkarīgo mainīgo.
Funkciju izveide ir viens no svarīgākajiem un laikietilpīgākajiem uzdevumiem lietišķajā mašīnmācībā. Tomēr laika rindu prognozēšana nerada pazīmes, vismaz ne tradicionālajā izpratnē. Tas jo īpaši attiecas uz gadījumiem, kad vēlaties paredzēt rezultātu vairākas darbības uz priekšu, nevis tikai nākamo vērtību.
Tas nenozīmē, ka funkcijas ir pilnībā atspējotas. Tos vajadzētu lietot piesardzīgi šādu iemeslu dēļ:
- Nav skaidrs, kāda nākotne ir īstavērtības būs šīm funkcijām.
- Ja objekti ir paredzami un tiem ir daži modeļi, katram no tiem varat izveidot paredzamo modeli.
Tomēr ņemiet vērā, ka, izmantojot paredzamās vērtības kā līdzekļus, kļūda tiks izplatīta mērķa mainīgajā un radīsies kļūdas vai neobjektīvas prognozes.
Laika rindas komponenti
Tendence pastāv, kad sērija laika gaitā palielinās, samazinās vai paliek nemainīgā līmenī, tāpēc tā tiek uztverta kā funkcija. Sezonalitāte attiecas uz laika rindas īpašību, kas parāda periodiskus modeļus, kas atkārtojas nemainīgā frekvencē (m), piemēram, m=12 nozīmē, ka modelis atkārtojas ik pēc divpadsmit mēnešiem.
Faktus mainīgos, kas līdzīgi sezonalitātei, var pievienot kā bināru funkciju. Var ņemt vērā, piemēram, svētku dienas, īpašus pasākumus, mārketinga kampaņas, neatkarīgi no tā, vai vērtība ir sveša vai nē. Tomēr jums jāatceras, ka šiem mainīgajiem ir jābūt noteiktiem modeļiem. Tomēr dienu skaitu var viegli aprēķināt pat nākamajiem periodiem un ietekmēt laikrindu prognozēšanu, īpaši finanšu jomā.
Cikli ir sezonas, kas nenotiek ar noteiktu ātrumu. Piemēram, Kanādas lūšu ikgadējie vairošanās atribūti atspoguļo sezonālos un cikliskos modeļus. Tie neatkārtojas ar regulāriem intervāliem un var rasties pat tad, ja biežums ir 1 (m=1).
Atliktās vērtības -Mainīgā lieluma atpaliekošās vērtības var iekļaut kā prognozētājus. Daži modeļi, piemēram, ARIMA, Vector Autoregression (VAR) vai Autoregresīvie neironu tīkli (NNAR), darbojas šādi.
Interesējošā mainīgā komponenti ir ļoti svarīgi laikrindu analīzei un prognozēšanai, lai izprastu to uzvedību, modeļus un varētu izvēlēties atbilstošo modeli.
Datu kopas atribūti
Iespējams, esat pieradis ievadīt tūkstošiem, miljonu un miljardu datu punktu mašīnmācīšanās modeļos, taču tas nav nepieciešams laikrindām. Faktiski ir iespējams strādāt ar mazu un vidēju TS atkarībā no mainīgā lieluma frekvences un veida, un tas nav metodes trūkums. Turklāt šai pieejai faktiski ir vairākas priekšrocības:
- Šādas informācijas kopas atbildīs mājas datora iespējām.
- Dažos gadījumos veiciet laikrindu analīzi un prognozēšanu, izmantojot visu datu kopu, nevis tikai paraugu.
- TS garums ir noderīgs, lai izveidotu grafikus, ko var analizēt. Tas ir ļoti svarīgs punkts, jo programmētāji analīzes fāzē paļaujas uz grafiku. Tas nenozīmē, ka tie nedarbojas ar milzīgām laikrindām, taču sākotnēji tiem vajadzētu būt spējīgiem apstrādāt mazākus TS.
- Jebkura datu kopa, kas satur ar laiku saistītu lauku, var gūt labumu no laikrindu analīzes un prognozēšanas. Tomēr, ja programmētājam ir lielāks datu kopums, DB (TSDB)var būt piemērotāks.
Dažas no šīm kopām nāk no notikumiem, kas reģistrēti ar laikspiedolu, sistēmas žurnāliem un finanšu datiem. Tā kā TSDB sākotnēji darbojas ar laika rindām, šī ir lieliska iespēja izmantot šo paņēmienu liela mēroga datu kopām.
Mašīnmācība
Mašīnmācība (ML) var pārspēt tradicionālās laikrindu prognozēšanas metodes. Ir daudz pētījumu, kuros mašīnmācīšanās metodes tiek salīdzinātas ar klasiskākām TS datu statistikas metodēm. Neironu tīkli ir viena no tehnoloģijām, kas ir plaši pētīta un izmanto TS pieejas. Mašīnmācīšanās metodes nosaka datu vākšanas klasifikāciju, pamatojoties uz laikrindām. Šie komplekti ir izrādījušies efektīvi, pārspējot tīros TS komplektus salīdzinājumā ar M3 vai Kaggle.
MO ir savas specifiskas problēmas. Funkciju izstrāde vai jaunu prognozētāju ģenerēšana no datu kopas ir svarīgs solis, un tas var būtiski ietekmēt veiktspēju, un tas var būt nepieciešams veids, kā risināt TS datu tendences un sezonalitātes problēmas. Turklāt dažiem modeļiem ir problēmas ar to, cik labi tie atbilst datiem, un, ja tie neatbilst, tie var nepamanīt galveno tendenci.
Laika rindas un mašīnmācīšanās pieejas nedrīkst pastāvēt atsevišķi viena no otras. Tos var apvienot, lai sniegtu katras pieejas priekšrocības. Prognozēšanas metodes un laikrindu analīze ir piemērota datu sadalīšanai tendenču un sezonas datos.elementi. Pēc tam šo analīzi var izmantot kā ievadi ML modelī, kura algoritmā ir informācija par tendencēm un sezonalitāti, nodrošinot labāko no abām pasaulēm.
Problēmas izklāsta izpratne
Piemēram apsveriet TS, kas saistīta ar pasažieru skaita prognozēšanu jaunā ātrgaitas dzelzceļa pakalpojumā. Piemēram, jums ir 2 gadu dati (2016. gada augusts – 2018. gada septembris), un ar šiem datiem jums ir jāparedz pasažieru skaits nākamajiem 7 mēnešiem, ņemot vērā 2 gadu datus (2016–2018) stundas līmenī ar ceļojošo pasažieru skaits, un ir nepieciešams novērtēt to skaitu nākotnē.
Datu kopas apakškopa prognozēšanai ar laika rindām:
- Vilciena un testa faila izveide simulācijai.
- Pirmie 14 mēneši (2016. gada augusts–2017. gada oktobris) tiek izmantoti kā treniņu dati, bet nākamie 2 mēneši (2017. gada novembris–2017. gada decembris) ir testa dati.
- Apkopojiet datu kopu katru dienu.
Veiciet datu vizualizāciju, lai redzētu, kā tie mainās noteiktā laika periodā.
Naivās pieejas konstruēšanas metode
Šajā gadījumā TS prognozēšanai izmantotā bibliotēka ir statistikas modeļi. Tas ir jāinstalē, pirms var izmantot kādu no šīm pieejām. Iespējams, ka statsmodels jau ir instalēts Python vidē, taču tas neatbalsta metodesprognozes, tāpēc jums tas būs jāklonē no repozitorija un jāinstalē no avota.
Šajā piemērā tas nozīmē, ka monētu ceļojumu cenas ir stabilas jau no paša sākuma un visā laika periodā. Šī metode pieņem, ka nākamais paredzamais punkts ir vienāds ar pēdējo novēroto punktu, un to sauc par naivu pieeju.
Tagad aprēķiniet standarta novirzi, lai pārbaudītu modeļa precizitāti testa datu kopā. No RMSE vērtības un iepriekš redzamā grafika var secināt, ka Naive nav piemērota augstas nepastāvības opcijām, bet tiek izmantota stabilām opcijām.
Vienkāršs vidējs stils
Lai parādītu metodi, tiek uzzīmēta diagramma, pieņemot, ka Y ass apzīmē cenu un X ass laiku (dienas).
No tā varam secināt, ka cena pieaug un samazinās nejauši ar nelielu rezervi, tā ka vidējā vērtība paliek nemainīga. Šādā gadījumā varat paredzēt nākamā perioda cenu, kas ir līdzīga visu pēdējo dienu vidējai cenai.
Šo prognozēšanas metodi ar iepriekš novēroto punktu paredzamo vidējo vērtību sauc par vienkāršo vidējo metodi.
Šajā gadījumā tiek ņemtas iepriekš zināmās vērtības, tiek aprēķināts vidējais un ņemts par nākamo vērtību. Protams, tas nebūs precīzi, taču tas ir diezgan tuvu, un ir situācijas, kad šī metode darbojas vislabāk.
Pamatojoties uz diagrammā parādītajiem rezultātiem, šī metode vislabāk darbojas, ja vidējā vērtība katrā laika periodā paliek nemainīga. Lai gan naivā metode ir labāka par vidējo, bet ne visām datu kopām. Ieteicams soli pa solim izmēģināt katru modeli un redzēt, vai tas uzlabo rezultātu vai nē.
Slīdošais vidējais modelis
Pamatojoties uz šo diagrammu, mēs varam secināt, ka cenas pagātnē ir vairākas reizes pieaugušas ar lielu starpību, bet tagad ir stabilas. Lai izmantotu iepriekšējo vidējo aprēķināšanas metodi, ir jāņem visu iepriekšējo datu vidējais lielums. Sākotnējā perioda cenas spēcīgi ietekmēs nākamā perioda prognozi. Tāpēc, lai uzlabotu vidējo rādītāju, ņemiet vidējo cenu tikai par dažiem pēdējiem laika periodiem.
Šo prognozēšanas paņēmienu sauc par mainīgā vidējā paņēmienu, ko dažreiz dēvē par "n" izmēra "kustīgo logu". Izmantojot vienkāršu modeli, tiek prognozēta nākamā TS vērtība, lai pārbaudītu metodes precizitāti. Šai datu kopai nepārprotami Naive pārspēj gan vidējo, gan mainīgo vidējo.
Pastāv prognozes variants ar vienkāršas eksponenciālās izlīdzināšanas metodi. Slīdošā vidējā metodē pagātnes "n" novērojumi tiek svērti vienādi. Šajā gadījumā jūs varat saskarties ar situācijām, kad katrs no pagātnes “n” ietekmē prognozi savā veidā. Šo variāciju, kas atšķirīgi nosver pagātnes novērojumus, sauc par metodisvērtais mainīgais vidējais.
Paraugu ekstrapolācija
Viena no svarīgākajām īpašībām, kas nepieciešama, lai ņemtu vērā laika rindu prognozēšanas algoritmus, ir iespēja ekstrapolēt modeļus ārpus apmācības datu domēna. Daudziem ML algoritmiem nav šīs iespējas, jo tie parasti ir ierobežoti ar reģionu, ko nosaka apmācības dati. Tāpēc tie nav piemēroti TS, kuras mērķis ir projicēt rezultātu nākotnē.
Vēl viena svarīga TS algoritma īpašība ir iespēja iegūt ticamības intervālus. Lai gan šis ir noklusējuma rekvizīts TS modeļiem, lielākajai daļai ML modeļu šīs iespējas nav, jo tie visi nav balstīti uz statistisko sadalījumu.
Nedomājiet, ka TS prognozēšanai tiek izmantotas tikai vienkāršas statistikas metodes. Tā nemaz nav. Ir daudzas sarežģītas pieejas, kas var būt ļoti noderīgas īpašos gadījumos. Ģeneralizētā autoregresīvā nosacītā heteroskedasticitāte (GARCH), Bajesa un VAR ir tikai daži no tiem.
Ir arī neironu tīklu modeļi, kurus var lietot laika rindām, kas izmanto atpaliekošus prognozētājus un var apstrādāt tādas funkcijas kā neironu tīkla autoregresija (NNAR). Ir pat laikrindu modeļi, kas aizgūti no sarežģītas mācīšanās, jo īpaši atkārtotu neironu tīklu saimē, piemēram, LSTM un GRU tīklos.
Aprēķinu metrika un atlikušā diagnostika
Visizplatītākie prognozēšanas rādītāji irrms nozīmē, ko daudzi cilvēki izmanto, risinot regresijas uzdevumus:
- MAPE, jo tā ir neatkarīga no mēroga un parāda kļūdu attiecību pret faktiskajām vērtībām procentos;
- MASE, kas parāda, cik labi prognoze darbojas salīdzinājumā ar naivo vidējo prognozi.
Kad prognozēšanas metode ir pielāgota, ir svarīgi novērtēt, cik labi tā spēj uztvert modeļus. Lai gan novērtēšanas metrika palīdz noteikt, cik tuvu vērtības ir faktiskajām vērtībām, tās nenovērtē, vai modelis atbilst TS. Pārpalikumi ir labs veids, kā to novērtēt. Tā kā programmētājs mēģina lietot TS modeļus, viņš var sagaidīt, ka kļūdas izturēsies kā "b altais troksnis", jo tās ir kaut kas tāds, ko modelis nevar uztvert.
“B altajam troksnim” ir jābūt šādām īpašībām:
- Nekorelēti atlikumi (Acf=0)
- Atlikumi atbilst normālam sadalījumam ar nulles vidējo (neobjektīvu) un nemainīgu dispersiju.
- Ja trūkst kāda no divām īpašībām, modeli var uzlabot.
- Nulles vidējo īpašību var viegli pārbaudīt, izmantojot T-testu.
- Normalitātes un nemainīgas dispersijas īpašības tiek vizuāli kontrolētas, izmantojot atlikuma histogrammu vai atbilstošu vienfaktoru normalitātes testu.
ARIMA modelis
ARIMA - AutoRegressive Integrated Moving-Average modelis, ir viena no populārākajām metodēm, ko izmanto TS prognozēšanā, galvenokārtizmantojot datu autokorelāciju, lai izveidotu augstas kvalitātes modeļus.
Vērtējot ARIMA koeficientus, galvenais pieņēmums ir, ka dati ir stacionāri. Tas nozīmē, ka tendence un sezonalitāte nevar ietekmēt novirzi. Modeļa kvalitāti var novērtēt, salīdzinot faktisko vērtību laika grafiku ar prognozētajām vērtībām. Ja abas līknes ir tuvas, tad var pieņemt, ka modelis atbilst analizētajam gadījumam. Tajā ir jāatklāj visas tendences un sezonalitāte, ja tāda ir.
Atlikumu analīzei pēc tam vajadzētu parādīt, vai modelis ir piemērots: nejaušas atlikuma vērtības nozīmē, ka tas ir precīzs. Pielāgojot ARIMA parametrus (0, 1, 1), tiks iegūti tādi paši rezultāti kā eksponenciālai izlīdzināšanai, un, izmantojot parametrus (0, 2, 2), tiks iegūti dubulti eksponenciāli izlīdzināšanas rezultāti.
Varat piekļūt ARIMA iestatījumiem programmā Excel:
- Sākt programmu Excel.
- Rīkjoslā atrodiet XL MINER.
- Lentē nolaižamajā izvēlnē atlasiet ARIMA.
ARIMA modeļa iespēju kopsavilkums:
- ARIMA - automātiski regresīvs integrētais mainīgais vidējais.
- Laika rindu analīzē izmantotais prognozēšanas modelis.
- ARIMA parametra sintakse: ARIMA (p, d, q), kur p=autoregresīvo vārdu skaits, d=sezonālo atšķirību skaits un q=mainīgo vidējo vienumu skaits.
Algoritmi SQL serverī
Savstarpējās prognozēšanas veikšana ir viens no svarīgākajiemlaikrindu iezīmes finanšu uzdevumu prognozēšanā. Ja tiek izmantotas divas saistītas sērijas, iegūto modeli var izmantot, lai prognozētu vienas sērijas rezultātus, pamatojoties uz pārējo sēriju uzvedību.
SQL Server 2008 ir jaudīgi jauni laikrindu līdzekļi, kas jāapgūst un jāizmanto. Rīkam ir viegli pieejami TS dati, ērti lietojams interfeiss algoritma funkciju simulēšanai un reproducēšanai, kā arī paskaidrojuma logs ar saiti uz servera puses DMX vaicājumiem, lai jūs varētu saprast, kas notiek iekšā.
Tirgus laikrindas ir plaša joma, kurā var izmantot dziļās mācīšanās modeļus un algoritmus. Bankas, brokeri un fondi tagad eksperimentē ar indeksu, valūtas maiņas kursu, fjūčeru, kriptovalūtu cenu, valsts akciju un citu analīžu un prognozēšanas ieviešanu.
Laika rindu prognozēšanā neironu tīkls atrod paredzamos modeļus, pētot tirgu struktūras un tendences, un sniedz padomus tirgotājiem. Šie tīkli var arī palīdzēt atklāt anomālijas, piemēram, negaidītas virsotnes, kritumus, tendenču izmaiņas un līmeņa izmaiņas. Finanšu prognozēm tiek izmantoti daudzi mākslīgā intelekta modeļi.