Aikasarjojen analyysi ja ennustaminen

Sisällysluettelo:

Aikasarjojen analyysi ja ennustaminen
Aikasarjojen analyysi ja ennustaminen
Anonim

Ihmiset ovat ennustaneet sääolosuhteita, taloudellisia ja poliittisia tapahtumia ja urheilutuloksia useiden vuosien ajan, mutta viime aikoina tätä laajaa listaa on täydennetty kryptovaluutoilla. Monipuolisten tapahtumien ennustamiseen on olemassa monia tapoja kehittää ennusteita. Esimerkiksi intuitio, asiantuntijalausunnot, aikaisempien tulosten käyttäminen perinteisiin tilastoihin vertaamiseen ja aikasarjaennusteet ovat vain yksi niistä, kun taas nykyaikaisin ja tarkin ennustetyyppi monenlaisilla sovelluksilla.

Aikasarjamenetelmä

Aikasarjamenetelmä
Aikasarjamenetelmä

Aikasarjamenetelmä (TS) on tietojoukko, joka kerää tietoa tietyltä ajanjaksolta. Tämän tyypin purkamiseen on olemassa erityisiä menetelmiä:

  • lineaarinen ja epälineaarinen;
  • parametrinen ja ei-parametrinen;
  • yksi- ja moniulotteinen.

Ennuste aikasarja tuo mukanaan ainutlaatuisen joukon ominaisuuksia vastaamaan nykypäivän haasteisiin. Mallintaminen perustuu oppimiseen, jotta saadaan selville tiedon muutoksen taustalla oleva voima. Prosessi johtuu pitkän aikavälin trendeistä, kausittaisista vaikutuksista tai epäsäännöllisistä vaihteluista, jotka ovat tyypillisiä TS:lle ja joita ei nähdä muun tyyppisissä analyyseissä.

Koneoppiminen on tietojenkäsittelytieteen ala, jossa algoritmit kootaan datasta ja sisältävät keinotekoisia hermoverkkoja, syväoppimista, assosiaatiosääntöjä, päätöspuita, vahvistusoppimista ja Bayesin verkkoja. Useat algoritmit tarjoavat vaihtoehtoja ongelmien ratkaisemiseen, ja jokaisella on omat vaatimuksensa ja kompromissinsa tietojen syöttämisen, nopeuden ja tulosten tarkkuuden suhteen. Nämä ja lopullisten ennusteiden tarkkuus painotetaan, kun käyttäjä päättää, mikä algoritmi toimii parhaiten tutkittavassa tilanteessa.

Aikasarjaennuste lainaa tilastoal alta, mutta antaa uusia lähestymistapoja ongelmamallinnukseen. Koneoppimisen ja aikasarjojen pääongelma on sama – uusien tulosten ennustaminen aiemmin tunnetun datan perusteella.

Ennustavan mallin kohde

Ennustavan mallin tarkoitus
Ennustavan mallin tarkoitus

TS on joukko säännöllisin väliajoin kerättyjä tietopisteitä. Niitä analysoidaan pitkän aikavälin trendin määrittämiseksi, tulevaisuuden ennustamiseksi tai muun tyyppisen analyysin suorittamiseksi. On kaksi asiaa, jotka tekevät TS:stä eron tavallisesta regressio-ongelmasta:

  1. Ne riippuvat ajasta. Niinlineaarisen regressiomallin perusoletus, että havainnot ovat riippumattomia, ei päde tässä tapauksessa.
  2. Nousevan tai laskevan trendin ohella useimmilla TS:illä on jonkinlaista kausiluonteisuutta, eli muutoksia, jotka ovat ominaisia tietylle ajanjaksolle.

Aikasarjaennustemallin tavoitteena on antaa tarkka ennuste kysynnän mukaan. Aikasarjan riippumattomana muuttujana on aika (t) ja tavoitteesta riippuvaisena muuttujana. Useimmissa tapauksissa ennuste on tietty tulos, esimerkiksi talon myyntihinta, kilpailun urheilutulos, pörssikaupan tulokset. Ennuste edustaa mediaania ja keskiarvoa ja sisältää luottamusvälin, joka ilmaisee luottamustasoa välillä 80-95 %. Kun ne tallennetaan säännöllisin väliajoin, prosesseja kutsutaan aikasarjoiksi ja ne ilmaistaan kahdella tavalla:

  • yksiulotteinen aikaindeksillä, joka luo implisiittisen järjestyksen;
  • joukko kahdella ulottuvuudella: aika riippumattomalla muuttujalla ja toisella riippuvaisella muuttujalla.

Ominaisuuksien luominen on yksi soveltavan koneoppimisen tärkeimmistä ja aikaavievimmistä tehtävistä. Aikasarjaennuste ei kuitenkaan luo piirteitä, ainakaan perinteisessä mielessä. Tämä pätee erityisesti silloin, kun haluat ennustaa tuloksen useita vaiheita eteenpäin, etkä vain seuraavaa arvoa.

Tämä ei tarkoita, että ominaisuudet olisivat kokonaan pois käytöstä. Niitä tulee käyttää varoen seuraavista syistä:

  1. Epäselvää, mikä tulevaisuus on todellinenarvot ovat näille ominaisuuksille.
  2. Jos objektit ovat ennustettavissa ja niillä on joitain kuvioita, voit rakentaa jokaiselle niistä ennakoivan mallin.

Huomaa kuitenkin, että ennakoivien arvojen käyttäminen ominaisuuksina siirtää virheen kohdemuuttujaan ja johtaa virheisiin tai puolueellisiin ennusteisiin.

Aikasarjakomponentit

Aikasarjan komponentit
Aikasarjan komponentit

Trendi on olemassa, kun sarja kasvaa, pienenee tai pysyy vakiotasolla ajan myötä, joten se otetaan funktiona. Kausiluonteisuus viittaa aikasarjan ominaisuuteen, joka näyttää jaksollisia kuvioita, jotka toistuvat vakiotaajuudella (m), esimerkiksi m=12 tarkoittaa, että kuvio toistuu kahdentoista kuukauden välein.

Kausiluontoa muistuttavia valemuuttujia voidaan lisätä binäärifunktiona. Voit ottaa huomioon esimerkiksi juhlapäivät, erikoistapahtumat, markkinointikampanjat riippumatta siitä, onko arvo ulkomainen vai ei. Sinun on kuitenkin muistettava, että näillä muuttujilla on oltava tietyt mallit. Päivien lukumäärä on kuitenkin helposti laskettavissa myös tuleville jaksoille ja se vaikuttaa aikasarjan ennustamiseen erityisesti talousalueella.

Pyörät ovat vuodenaikoja, jotka eivät tapahdu kiinteällä nopeudella. Esimerkiksi Kanadan ilveksen vuotuiset lisääntymisominaisuudet heijastavat vuodenaikojen ja syklisiä malleja. Ne eivät toistu säännöllisin väliajoin ja voivat esiintyä, vaikka taajuus on 1 (m=1).

Viiveet arvot -muuttujan jäljessä olevat arvot voidaan sisällyttää ennustajiksi. Jotkut mallit, kuten ARIMA, Vector Autoregression (VAR) tai Autoregressive Neural Networks (NNAR), toimivat tällä tavalla.

Kiinnostavan muuttujan komponentit ovat erittäin tärkeitä aikasarjojen analysoinnissa ja ennustamisessa, niiden käyttäytymisen, kuvioiden ymmärtämisessä ja oikean mallin valinnassa.

Tietojoukon attribuutit

Tietojoukon attribuutit
Tietojoukon attribuutit

Saatat olla tottunut syöttämään tuhansia, miljoonia ja miljardeja datapisteitä koneoppimismalleihin, mutta tätä ei vaadita aikasarjoissa. Itse asiassa on mahdollista työskennellä pienen ja keskisuuren TS:n kanssa riippuen muuttujan taajuudesta ja tyypistä, eikä tämä ole menetelmän haitta. Lisäksi tällä lähestymistavalla on itse asiassa useita etuja:

  1. Tällaiset tietojoukot vastaavat kotitietokoneen ominaisuuksia.
  2. Joissakin tapauksissa suorita aikasarjaanalyysi ja ennusteet käyttämällä koko tietojoukkoa, ei vain näytettä.
  3. TS-pituus on hyödyllinen analysoitavien kaavioiden luomisessa. Tämä on erittäin tärkeä kohta, koska ohjelmoijat luottavat grafiikkaan analyysivaiheessa. Tämä ei tarkoita, etteivätkö ne toimisi suurien aikasarjojen kanssa, mutta aluksi niiden pitäisi pystyä käsittelemään pienempiä TS.
  4. Kaikki tietojoukot, jotka sisältävät aikaan liittyvän kentän, voivat hyötyä aikasarjaanalyysistä ja ennustamisesta. Jos ohjelmoijalla on kuitenkin suurempi joukko tietoja, DB (TSDB)voi olla sopivampi.

Jotkin näistä sarjoista ovat peräisin tapahtumista, jotka on tallennettu aikaleimalla, järjestelmälokeilla ja taloustiedoilla. Koska TSDB toimii natiivisti aikasarjojen kanssa, tämä on loistava tilaisuus soveltaa tätä tekniikkaa suuriin tietokokonaisuuksiin.

Koneoppiminen

Koneoppiminen (ML) voi ylittää perinteiset aikasarjaennustusmenetelmät. Siellä on paljon tutkimuksia, joissa koneoppimismenetelmiä verrataan klassisempiin TS-tietojen tilastomenetelmiin. Neuroverkot ovat yksi laajasti tutkituista teknologioista, jotka soveltavat TS-lähestymistapoja. Koneoppimismenetelmät johtavat aikasarjoihin perustuvan tiedonkeruun rankingissa. Nämä sarjat ovat osoittautuneet tehokkaiksi, ja ne ovat parempia kuin puhtaat TS-sarjat M3:a tai Kagglea vastaan.

MO:lla on omat erityisongelmansa. Ominaisuuksien kehittäminen tai uusien ennustajien luominen tietojoukosta on sille tärkeä askel, ja sillä voi olla v altava vaikutus suorituskykyyn ja välttämätön tapa käsitellä TS-tietojen trendi- ja kausivaihteluongelmia. Joillakin malleilla on myös ongelmia sen suhteen, kuinka hyvin ne sopivat dataan, ja jos ne eivät sovi, päätrendi saattaa jäädä huomiotta.

Aikasarjat ja koneoppimislähestymistavat eivät saisi olla erillään toisistaan. Niitä voidaan yhdistää, jolloin saadaan kunkin lähestymistavan edut. Ennustemenetelmät ja aikasarjaanalyysit ovat hyviä hajottamaan tiedot trendi- ja kausitiedoiksi.elementtejä. Tätä analyysiä voidaan sitten käyttää syötteenä ML-malliin, jonka algoritmi sisältää trendejä ja kausivaihteluita, mikä antaa molempien maailmojen parhaat puolet.

Ongelman ilmaisun ymmärtäminen

Otetaan esimerkiksi TS, joka liittyy uuden suurnopeusjunaliikenteen matkustajamäärän ennustamiseen. Sinulla on esimerkiksi 2 vuoden tiedot (elokuu 2016 - syyskuu 2018) ja näillä tiedoilla sinun täytyy ennustaa matkustajien määrä seuraavan 7 kuukauden aj alta, kun data on 2 vuotta (2016-2018) tuntitasolla. matkustavien matkustajien määrä, ja heidän lukumääränsä on arvioitava tulevaisuudessa.

Tietojoukon osajoukko ennustamista varten aikasarjoilla:

  1. Luodaan juna- ja testitiedosto simulaatiota varten.
  2. Ensimmäiset 14 kuukautta (elo 2016 - loka 2017) käytetään harjoitustietoina ja seuraavat 2 kuukautta (marraskuu 2017 - joulukuu 2017) ovat testitietoja.
  3. Aggregoi tietojoukko päivittäin.
Tietojoukon yhdistäminen
Tietojoukon yhdistäminen

Suorita tietojen visualisointi nähdäksesi, kuinka ne muuttuvat ajan kuluessa.

Tietojen visualisointi
Tietojen visualisointi

Naiivin lähestymistavan rakennusmenetelmä

Tässä tapauksessa TS-ennustukseen käytetty kirjasto on tilastomallit. Se on asennettava ennen kuin mitään näistä lähestymistavoista voidaan soveltaa. Ehkä statsmodels on jo asennettu Python-ympäristöön, mutta se ei tue menetelmiäennuste, joten sinun on kloonattava se arkistosta ja asennettava se lähteestä.

Jaksotus
Jaksotus

Tässä esimerkissä se tarkoittaa, että kolikoiden matkahinnat ovat vakaat alusta alkaen ja koko ajan. Tämä menetelmä olettaa, että seuraava odotettu piste on yhtä suuri kuin viimeksi havaittu piste, ja sitä kutsutaan naiiviksi lähestymistavaksi.

Naiivi menetelmä
Naiivi menetelmä

Laske nyt standardipoikkeama testataksesi mallin tarkkuuden testitietojoukossa. RMSE-arvon ja yllä olevan kaavion perusteella voimme päätellä, että Naive ei sovellu korkean volatiliteetin vaihtoehdoille, mutta sitä käytetään vakaille.

Yksinkertainen keskipitkätyyli

Menetelmän esittelemiseksi piirretään kaavio, jossa oletetaan, että Y-akseli edustaa hintaa ja X-akseli aikaa (päiviä).

Yksinkertainen keskikokoinen tyyli
Yksinkertainen keskikokoinen tyyli

Siitä voimme päätellä, että hinta nousee ja laskee satunnaisesti pienellä marginaalilla niin, että keskiarvo pysyy vakiona. Tässä tapauksessa voit ennustaa seuraavan jakson hinnan, joka on samanlainen kuin kaikkien viime päivien keskiarvo.

Tätä ennustemenetelmää aiemmin havaittujen pisteiden odotetulla keskiarvolla kutsutaan yksinkertaiseksi keskiarvomenetelmäksi.

Tässä tapauksessa otetaan aiemmin tunnetut arvot, keskiarvo lasketaan ja otetaan seuraavaksi arvoksi. Tämä ei tietenkään ole tarkka, mutta se on melko lähellä, ja on tilanteita, joissa tämä menetelmä toimii parhaiten.

Yksinkertainen keskikokoinenmenetelmä
Yksinkertainen keskikokoinenmenetelmä

Kaaviossa näkyvien tulosten perusteella tämä menetelmä toimii parhaiten, kun kunkin ajanjakson keskiarvo pysyy vakiona. Vaikka naiivi menetelmä on keskimääräistä parempi, mutta ei kaikille tietojoukoille. On suositeltavaa kokeilla jokaista mallia askel askeleelta ja katsoa, parantaako se tulosta vai ei.

Liikkuva keskiarvomalli

Liikkuvan keskiarvon malli
Liikkuvan keskiarvon malli

Tämän kaavion perusteella voimme päätellä, että hinnat ovat nousseet useita kertoja aiemmin laajalla marginaalilla, mutta ovat nyt vakaita. Jotta voit käyttää edellistä keskiarvomenetelmää, sinun on otettava kaikkien aikaisempien tietojen keskiarvo. Alkujakson hinnat vaikuttavat voimakkaasti seuraavan jakson ennusteeseen. Siksi yksinkertaiseen keskiarvoon verrattuna ota hintojen keskiarvo vain muutaman viime ajanjakson aj alta.

Tätä ennustetekniikkaa kutsutaan liukuvaksi keskiarvotekniikaksi, jota kutsutaan joskus "n"-koon "liikkuvaksi ikkunaksi". Yksinkertaista mallia käyttämällä TS:n seuraavan arvon ennustetaan tarkistavan menetelmän tarkkuuden. Selvästi Naive ylittää sekä keskiarvon että liukuvan keskiarvon tässä tietojoukossa.

On olemassa muunnos ennusteesta yksinkertaisen eksponentiaalisen tasoituksen menetelmällä. Liukuvan keskiarvon menetelmässä aiempia "n" havaintoja painotetaan yhtä paljon. Tässä tapauksessa saatat kohdata tilanteita, joissa kukin menneisyydestä n vaikuttaa ennusteeseen omalla tavallaan. Tätä vaihtelua, joka painottaa aikaisempia havaintoja eri tavalla, kutsutaan menetelmäksipainotettu liukuva keskiarvo.

Kuvioiden ekstrapolointi

Yksi tärkeimmistä ominaisuuksista, joita tarvitaan aikasarjaennustusalgoritmien huomioon ottamiseksi, on kyky ekstrapoloida kuvioita harjoitustietoalueen ulkopuolelle. Monilla ML-algoritmeilla ei ole tätä ominaisuutta, koska niillä on taipumus rajoittua koulutusdatan määrittämälle alueelle. Siksi ne eivät sovellu TS:ään, jonka tarkoituksena on projisoida tulos tulevaisuuteen.

Toinen TS-algoritmin tärkeä ominaisuus on mahdollisuus saada luottamusvälit. Vaikka tämä on oletusominaisuus TS-malleille, useimmissa ML-malleissa ei ole tätä ominaisuutta, koska ne eivät kaikki perustu tilastollisiin jakaumiin.

Älä ajattele, että TS:n ennustamiseen käytetään vain yksinkertaisia tilastollisia menetelmiä. Se ei ole ollenkaan niin. On olemassa monia monimutkaisia lähestymistapoja, jotka voivat olla erittäin hyödyllisiä erityistapauksissa. Generalisated Autoregressive Conditional Heteroskedasticity (GARCH), Bayesin ja VAR ovat vain muutamia niistä.

On olemassa myös hermoverkkomalleja, joita voidaan soveltaa aikasarjoihin, jotka käyttävät viivästyneitä ennustajia ja jotka voivat käsitellä ominaisuuksia, kuten hermoverkkojen autoregressio (NNAR). On jopa monimutkaisesta oppimisesta lainattuja aikasarjamalleja, erityisesti toistuvissa hermoverkkoperheissä, kuten LSTM- ja GRU-verkoissa.

Arviointimittarit ja jäännösdiagnostiikka

Yleisimmät ennustetiedot ovatrms tarkoittaa, jota monet ihmiset käyttävät ratkaiseessaan regressiotehtäviä:

  • MAPE, koska se on mittakaavasta riippumaton ja edustaa virheen suhdetta todellisiin arvoihin prosentteina;
  • MASE, joka osoittaa, kuinka hyvin ennuste toimii verrattuna naiiviin keskimääräiseen ennusteeseen.

Kun ennustemenetelmää on mukautettu, on tärkeää arvioida, kuinka hyvin se pystyy kaappaamaan mallit. Vaikka arviointimittarit auttavat määrittämään, kuinka lähellä arvot ovat todellisia arvoja, ne eivät arvioi, sopiiko malli TS:ään. Ylijäämät ovat hyvä tapa arvioida tätä. Koska ohjelmoija yrittää soveltaa TS-kuvioita, hän voi odottaa virheiden käyttäytyvän "valkoisena kohinana", koska ne edustavat jotain, jota malli ei pysty sieppaamaan.

"Valkoisella kohinalla" on oltava seuraavat ominaisuudet:

  1. Jäännökset korreloimattomat (Acf=0)
  2. Residuaalit noudattavat normaalijakaumaa, jossa on nollakeskiarvo (harjoittamaton) ja vakiovarianssi.
  3. Jos jompikumpi kahdesta ominaisuudesta puuttuu, mallissa on parantamisen varaa.
  4. Nollakeskiarvoominaisuus voidaan helposti testata T-testillä.
  5. Normaalisuuden ja vakiovarianssin ominaisuuksia ohjataan visuaalisesti käyttämällä residuaalien histogrammia tai sopivaa yksimuuttujanormaliteettitestiä.

ARIMA Malli

ARIMA - AutoRegressive Integrated Moving-Average -malli, on yksi suosituimmista TS-ennusteissa käytetyistä menetelmistä, pääasiassatietojen automaattisen korrelaation avulla korkealaatuisten mallien luomiseksi.

ARIMA-kertoimia arvioitaessa pääoletus on, että data on paikallaan. Tämä tarkoittaa, että trendi ja kausivaihtelu eivät voi vaikuttaa varianssiin. Mallin laatua voidaan arvioida vertaamalla todellisten arvojen aikakaaviota ennustettuihin arvoihin. Jos molemmat käyrät ovat lähellä, voidaan olettaa, että malli sopii analysoituun tapaukseen. Sen tulee paljastaa mahdolliset trendit ja kausivaihtelut.

Jäännösten analyysin pitäisi sitten näyttää, sopiiko malli: satunnaiset jäännökset tarkoittavat, että se on tarkka. ARIMA:n sovittaminen parametreillä (0, 1, 1) antaa samat tulokset kuin eksponentiaalinen tasoitus, ja parametrien (0, 2, 2) käyttö antaa kaksinkertaisen eksponentiaalisen tasoituksen.

Aikasarjaalgoritmit SQL Serverissä
Aikasarjaalgoritmit SQL Serverissä

Voit käyttää ARIMA-asetuksia Excelissä:

  1. Käynnistä Excel.
  2. Etsi XL MINER työkalupalkista.
  3. Valitse nauhan pudotusvalikosta ARIMA.

Yhteenveto ARIMA-mallin ominaisuuksista:

  1. ARIMA - Autoregressiivinen integroitu liukuva keskiarvo.
  2. Aikasarjaanalyysissä käytetty ennustemalli.
  3. ARIMA-parametrin syntaksi: ARIMA (p, d, q) jossa p=autoregressiivisten termien määrä, d=kausivaihteluiden määrä ja q=liukuvan keskiarvon termien määrä.

Algoritmit SQL Serverissä

Ristiennustuksen suorittaminen on yksi tärkeimmistäaikasarjojen ominaisuudet taloustehtävien ennustamisessa. Jos käytetään kahta toisiinsa liittyvää sarjaa, tuloksena olevaa mallia voidaan käyttää yhden sarjan tulosten ennustamiseen muiden käyttäytymisen perusteella.

SQL Server 2008 sisältää tehokkaita uusia aikasarjaominaisuuksia, joita voit oppia ja käyttää. Työkalussa on helposti saatavilla olevat TS-tiedot, helppokäyttöinen käyttöliittymä algoritmitoimintojen simulointiin ja toistamiseen sekä selitysikkuna, jossa on linkki palvelinpuolen DMX-kyselyihin, jotta voit ymmärtää, mitä sisällä tapahtuu.

Markkinoiden aikasarjat ovat laaja alue, johon voidaan soveltaa syväoppimismalleja ja -algoritmeja. Pankit, välittäjät ja rahastot kokeilevat nyt indeksien, valuuttakurssien, futuurien, kryptovaluuttojen hintojen, v altion osakkeiden ja muiden analyysien ja ennusteiden käyttöönottoa.

Aikasarjaennusteissa hermoverkko löytää ennustettavia kuvioita tutkimalla markkinoiden rakenteita ja trendejä sekä neuvoo kauppiaita. Nämä verkot voivat myös auttaa havaitsemaan poikkeavuuksia, kuten odottamattomia huippuja, laskuja, trendin muutoksia ja tason muutoksia. Talousennusteisiin käytetään monia tekoälymalleja.

Suositeltava: