Tímaraðir – Hvernig getum spáð fyrir um framtíðina?

Í þessu bloggi ætlum við að ræða hið áhugaverða viðfangsefni sem er tímaraðagreining en það er stórt svið tölfræðinnar og er í raun aðferð er til að módela og spá fyrir um framtíðargildi sem eru byggð á fyrrum gildum. 

Hvað er tímaröð? Jú, tímaröð er röð gagnapunkta sem er umældir hver á eftir öðrum (e. successive), með jöfnu millibili þ.e.a.s. það er jafnlangt milli hverra mælinga (sekúndur, mínútur, klukkutími o.s.frv.). Dæmi um tímaröð er t.d. verð hlutabréfa hjá Marel, mánaðarlegar sölutölur fyrirtækja og gengi Bitcoin.

 

Tímaraðagreining birtist víða í okkar nútímasamfélagi

  • Verðbréfamiðlarar nota þau til að spá fyrir um þróun hlutabréfaverðs, vexti og aðrar efnahagsstærðir sem hafa áhrifin á fjárfestingar.
  • Veðurfræðingar nota svona líkön til að spá fyrir um veðurfar.
  • Framleiðendur nýta þessi líkön til að spá fyrir um sölutölur, birgðastýringu og eftirspurn til að stýra aðfangakeðjum.
  • Hagfræðingar nota þau til að spá fyrir um þjóðarframleiðslu, atvinnuleysi og þróun verðbréfa.

Ef fyrirtæki geta beitt þessum líkönum með skynsamlegum hætti getur það haft mjög góð áhrif á reksturinn. Líkönin skila niðurstöðum sem hjálpar að taka strategískar ákvarðanir, bregðast við samkeppni, minnka kostnað og margt fleira. 


Í grunninn er hægt að smíða þessa módel út frá tveim flokkum – annars vegar hefðbundin tölfræðilíkön og hins vegar vélnámslíkön (e. machine learning models). Hvort mengi hefur sýna styrkleika og veikleika og fara oft eftir eðli gagnanna sem við höfum í hendi okkar.


Hér er smá lýsing á helstu líkönum sem eru notuð:

     1.        Moving Average (MA)

          Þetta líkan notar meðaltal síðustu n athugana (e. observations) til að spá fyrir um framtíðargildi. Þetta líkan dempar sveiflur og leggur áherslu á langtímahegðun gagnanna. Oft hagnýtt þegar við erum að glíma við gögn þar sem markmiðið er að gera þau minna óhrein (e. noisy) og skilja betur undirliggjandi mynstur.

2.        Autoregressive (AR)

          Þetta er líkan sem gerir ráð fyrir að framtíðarhegðun eða þróun er byggt á fyrirséðum gildum. Það notar fyrirfram ákveðið seinkaðra athugana (e.lagged values) í tímaröðina til að spá. Þessi módel geta verið hentug þegar við erum að glíma við tímaröð þar sem liðin gildi (e. past values) hafa línuleg áhrif á framtíðargildi. 

3.        Autoregressive Integrated Moving Average (ARIMA)

     ARIMA líkön sameina líkönin hér fyrir ofan, eru mjög vinsæl og eru öflug í fjármálageiranum þar sem fjármálagögnin eru (oft) óháð árstíðum (e. seasonality).

Þessi þrjú líkön hér fyrir ofan eru hefðbundin tölfræðilíkön sem notuð hafa verið lengi í einhverri mynd í atvinnulífinu. Í hinn bóginn eru vélnámslíkön, en þar má nefna:

1.        Vector Autogression (VAR)

         Líkan sem svipar til AR líkana sem getur greint margvíð (e. multivariate) tímaraðagögn. Þessi líkön eru oft notuð þegar þar sem innri breytur hafi áhrif hvor á aðra, eins og t.d. GDP sem hægt er að spá fyrir um með fyrri gildum af atvinnuleysi, verðbólgu eða öðrum efnahagsstærðum.

2.        Long Short-Term Memory Networks (LSTM)

          Sérstakt líkan sem myndi flokkast sem tauganet og hentar vel í að spá fyrir um framtíðina í tímaraðagögnum. LSTM líkön geta gripið langtímamynstur í tímaraðagögnum sem hefðbundin líkön ná illa að ná utan um. Þessi líkön geta verið mjög áhrifarík á flókin tímaraðagögn t.d. hlutabréfaverð eða veðurspágögn.

Það eru til fleiri tegundir líkana úr hvorum flokki sem mætti vel tala um en þetta eru þau helstu. Hefðbundnu tölfræðilíkönin eru oftast einfaldari og fljótari að þjálfa upp sem gerir það að verkum að þeim er beitt víða. Vélnámslíkönin eru góður kostur þegar gögnin eru víðferm, flókin og við viljum ná að grípa ólínulegt mynstur sem hin klassísku líkön ná ekki utan um. Þegar það á velja á milli þessara líkana og ákveða hvað skal nota fer það oft eftir hvers lags gögn við erum með, hversu miklum vinnslum (e. computation) við eigum völ á og hversu nákvæm við eigum efni á að vera í okkar spágildum.

 

Nú þegar ég er búinn að fara svona yfir það hvað tímaraðir eru, hvar þær birtast og hvernig við getum unnið þær er kannski hollt og þrælskemmtilegt að taka eitthvað dæmi úr raunveruleikanum. 

 

Til þess að prófa nokkur tímaraðalíkön og bera saman ákvað ég að skoða gögn  um fjölda komufarþega á Íslandi. Þessi gögn ná frá 2003 og alveg fram til 2024, niður á mánuði, sem hentar nokkuð vel í þessu samhengi því við getum nánast verið viss fyrirfram að svona tímaröð fylgir einhvers konar árstíðamynstri – flestir ferðamenn koma að sumri og fæstir að hausti. 

 

Til að byrja með er yfirleitt venjan að skoða gögnin myndrænt og sjá hvað við erum að fást við, skoða helstu tölfræðistærðir (EDA), hreinsa þau til, fjarlægja einfara (e. outliers), taka afstöðu til tómra gilda (ef svo er) og svo endum á að staðla gögnin svo þau séu reiðubúin fyrir líkönin.

 

Myndræn framsetning af tímaröðinni gefur okkur góða hugmynd um við hvað við má búast

Tímaröðin sem við erum að glíma við - fjöldi ferðamanna frá 2002.

Á grafinu fyrir ofan sjáum við nokkra hluti – það eru greinilegar árstíðarsveiflur þar sem toppnum er náð á sumrin og lágpunktum á veturna. COVID-19 sést þarna greinilega en fjöldinn fer nánast niður í 0 í einhverjum mánuðum þarna árið 2020 en svo tekur fjöldinn fljótt við sér fram eftir 2024. 

Þessar framsetningar eru einn hluti af EDA (Exploratory Data Analysis) greiningu en með henni greinum við og setjum gögnin fram á myndrænan hátt til að skilja undirliggjandi mynstur og einkenni í gögnunum. Í einfaldri mynd eru skrefin eftirfarandi: þróun (e. trend), árstíðamynstur (e.seasonality), finna einfara, taka afstöðu til tómra (e. missing) gilda, athuga hvort tímaröðin sé æstæð (e. stationary) en með því eru meðaltöl og dreifni föst yfir tímann, skoða fylgni milli breyta og eiginfylgni (e. autocorrelation).

Í þessari grein skulum við nú ekki fara yfir alla þessa þætti en við skulum byrja á að skoða eiginfylgni. En hvað er nú eiginfylgni? Það er mæling á fylgni milli athuganna (e. observation) í tímaröð aðskilið með fyrirfram ákveðnu bili (e. lag). Þetta getur hjálpað til að sjá árstíðasveiflur (e. seasonality) og þróun (e. trend). Í myndinni hér að neðan sjáum við að fyrsti leggur er nálægt einum sem þýðir að gildi á ákveðnum tíma hefur sterk tengsl við gildið á undan. Þeir punktar sem detta út fyrir bláa kassann getum við túlkað sem tölfræðilega marktækar mælingar í þessu samhengi þannig við getum sagt að mælingar á þessum bilum hafa marktæk áhrif á núverandi mælingu. 

Eiginfylgni athuganna í gögnunum.

Við getum svo tekið nokkra fyrrnefnda hluti saman á eftirfarandi grafi þar sem við sjáum tímaröðina, þróunina, sveiflur vegna árstíða og aðhvarfsfrávik (e. residual). Það er greinilegt að það eru árstíðarsveiflur í gögnunum, ferðamönnum er klárlega að fjölga og það verður einhvers konar atburður í byrjun árs 2020, þ.e. COVID-19.

Tímaröðin sjálf ásamt þróun, sveiflna vegna árstíða og frávikamælingar.

Það má hins vegar velta því fyrir sér hvort það nægilega gott eða heppilegt að spá fyrir um fjölda ferðamanna bara með því að skoða hvernig fjöldinn hefur verið síðustu áratugi. Við getum því spurt hvaða fleiri þættir eru það sem hafa áhrif á fjöldann? Ekki það að ég sérfræðingur um ferðamannabransann en ég get ímyndað mér að alls konar breytur hafi áhrif á fjöldann hvern tíma, t.d. hlutir eins og gengi krónunnar, markaðsherferðir, eldgos og fleira hefur áhrif. Þegar við bætum við fleiri breytum í okkar tímaröð er vinnan flóknari en líkanið sem við endum með verður að öllum líkindum nákvæmara og skilar betri niðurstöðum. 

 

Í þessu samhengi ákvað ég að taka með í reikninginn gengi krónunnar vs USD Dollar með það að markmiði að ná betra líkani. Hér má sjá tímaröðina með þessum tveim breytum

Fjöldi ferðamanna ásamt gengi ISK vs USD.

Nú þegar við erum búin að stilla þessu öllu saman upp og fara vel yfir gögnin þá skulum við prófa að bera saman tvö líkön sem spáir fyrir um framtíðarfjölda ferðamanna – ARIMA og LSTM líkan.

ARIMA

Eins og við töluðum um í byrjun þá eru þessi líkön mjög vinsæl víða, þau eru nothæf á alls konar tímaraðagögn og eru góð fyrir skammtímaspár. Hins vegar er gert ráð fyrir óhæði í árstíðasveiflum í þessum líkönum, að fínstilla stika (e. parameter) getur verið erfitt og þau ná að fanga ólínulegri hegðun að mjög takmörkuðu leyti. Þó þessi líkön ráði illa við árstíðasveiflur eins og við erum að glíma við er hægt að aðlaga líkanið með því að bæta við nýjum þátt (e. component) en þau líkön eru nefnd SARIMA (Seasonal ARIMA).

 

Með því að þjálfa SARIMA líkan á okkar tímaraðagögn fengum við eftirfarandi niðurstöður

Niðurstöður SARIMA líkansins - samanburður prófanaspár og raun ásamt framtíðarspá.

Við sjáum hér að líkanið nær ekki nógu vel að spá fyrir um fjölda eftir COVID-19 (rauða línan) en líkanið spáir neikvæðum fjölda eftir 2022. Síðan tekur líkanið fljótt við sér og spáir vel jákvæðum fjölda núna í framtíðinni. Ennfremur sjáum við að líkanið nær einhvers konar árstíðarsveiflum.

LSTM

Við fórum hér áður yfir helstu eiginlega þessa líkans en það getur ráðið við ólínuleg og flókin gögn, með mörgum breytum (við erum með tvær) en það er mjög dýrt að þjálfa þetta líkan og við verðum að eiga mikið af gögnum til að þjálfa það almennilega.

 

Hér eru niðurstöðurnar úr líkaninu:

Niðurstöður úr LSTM líkaninu - prófunarspá ásamt raun og framtíðarspá.

Hér á grafinu fyrir ofan sjáum við að LSTM módelið virðist ná töluvert betri niðurstöðum heldur en ARIMA líkanið. Fyrir það fyrsta fer spáin aldrei niður í neikvæð gildi og það næst betri samfelldni úr prófunarspánni yfir í framtíðarspána. Þar að auki nær líkanið að bregðast töluvert betur við óvæntum atburði eins og COVID-19.

 

Í þessu bloggi fórum við nokkuð lauslega yfir híð víðmikla og flókna svið sem tímaraðagreining er en það er einnig oft sett undir hatt það sem kallað er predictive analytics á ensku. Það er í mörg horn að líta þegar það er lagt upp með að fara í einhvers konar vinnu af þessu tagi – hvers lags gögnum við erum að vinna með, hvert er markmiðið, hversu hraðvirkt á líkanið að vera, hvað á það að spá langt fram í tímann og hvernig ætlum við að setja eitthvað svona í rekstur. Ef þið hafið áhuga á að ræða þessi mál eða nýta líkön af þessu tagi hjá ykkar fyrirtæki megið þið endilega hafa samband.