Kysynnän ja volyymien ennustaminen aikasarjoista

26.03.2020

Kysynnän ja volyymien ennustaminen aikasarjoista

Tässä artikkelissa paneudutaan aikasarjaennustamiseen ja kuinka sitä voidaan hyödyntää esimerkiksi tuotteiden kysynnän ennustamiseen.

Artikkelin sisältö:

Ongelma

Erityisesti valmistavassa teollisuudessa voi olla tarpeen ennakoida tulevaa tilauskantaa/tuotteiden myyntivolyymia, jotta on mahdollista suunnitella raaka-aineiden hankintaa ja varastointia sekä optimoida tuotantoprosessia. Tyypillisesti kyseessä on niin sanottu aikasarjaongelma, eli tulevan kysynnän odotetaan riippuvan menneestä kysynnästä, sekä mahdollisesti erinäisistä taustamuuttujista.

Volyymin ja kysynnän ennustamisen lisäksi aikasarjaennustamisesta on hyötyä mm. vikaantumisen ja prosessiohjauksen ennustamisessa sekä yleisesti poikkeavien havaintojen löytämisessä eri konteksteissa.

Aikasarjaennustaminen

Aikasarjaennustaminen on yksi keskeisistä koneoppimisen sovelluskohteista. Luonteeltaan se kuitenkin eroaa monista muista “ohjatun koneoppimisen” avulla ratkaistavista ongelmista (esim. regressio- ja luokitteluongelmat).

Aikasarjoissa oleellinen mauste verrattuna edellä mainittuihin ongelmiin on havaintorivien (yleensä) kronologinen järjestys, mikä tulee yleensä huomioida ennustettaessa (kun oletetaan, että aikasarjaa ei itsessään käännetä poikkileikkausmuotoon). Tämän lisäksi on tyypillistä, että ennusteet ulottuvat historiadatan ulkopuolelle.

Tyypillisimmät koneoppimisratkaisut eivät välttämättä suoraan sovellu aikasarjaennustamiseen, vaan vaativat huolellista datan valmistelua. Tässä kirjoituksessa avataan aikasarjaennustamisen tyypillisiä sovelluskohteita ja niihin käytettyjä ratkaisuja.

Tyypilliset menetelmät aikasarjojen ennustamisessa

Tarjolla on kattavasti erilaisia menetelmiä, joista perinteisimmät perustuvat pitkälti lineaaristen regressiomallien sovelluksiin. Modernimmat menetelmät puolestaan hyödyntävät neuroverkkoja.

Parhaan menetelmän valinta ei ole yksiselitteistä ja riippuu paljon kyseessä olevasta ennusteongelmasta sekä muista realiteeteista, kuten käytettävissä olevista resursseista ja mallin koulutukseen tarvittavasta ajasta.

Alla listaus yleisimmin käytetyistä menetelmistä:

ARIMA-perheen menetelmät ovat olleet jo pitkään käytössä ja ovat melko varmasti edelleenkin käytetyimpiä menetelmiä yhdessä “Exponential Smoothing”-menetelmien kanssa. Nykyisin hyvin suosittuja ovat myös neuroverkkoihin perustuvat ennustemenetelmät, erityisesti poikkeavien havaintojen löytämisessä (rekonstruointi).

Haasteita aikasarjojen analysoinnissa ja ennustamisessa

Aikasarja ennustaminen ei välttämättä itsessään ole yksittäiselle aikasarjalle ollenkaan vaikeaa, mutta automaattisen ratkaisun rakentaminen useille eri tyyppisille (syklisyys, granulariteetti,…) aikasarjoille taas on erittäin haastavaa.

Esimerkiksi, tuotteiden kysyntäennusteita tehdessä tulee usein automaattisesti haarukoida datasta ne tuotteet, joille yksittäisen ennusteen luominen ei ole järkevää/mahdollista (pieni kysyntä) ja luoda näille ennusteet ylemmällä tasolla ja jyvittää ennusteet lopulta oikealle tasolle käyttäen historiadatan suhteita. 

Ratkaisun skaalautuvuus esim. sadoille tuhansille aikasarjoille luo haasteen kokonaisvaltaisen ratkaisun rakentamiseen. Suuri aikasarjojen joukko poissulkee joitakin menetelmiä. On esimerkiksi vaikea nähdä, että voitaisiin rakentaa LSTM:ää hyödyntävä Kokonaisratkaisu, ainakaan järkevellä kapasiteetilla/kustannuksilla.

Taustamuuttujien (kovariaatit) käyttäminen aikasarjoissa sellaisenaan on yleensä haastavaa, sillä kovariaatin/kovariaattien arvoja ei yleensä tunneta ennustettavalle ajanjaksolle (joka sijoittuu tyypillisesti tulevaisuuteen), jolloin niiden käyttö ei sellaisenaan hyödytä ennustamista (toki voidaan saada tulkinta näiden vaikutuksesta). On kuitenkin syytä ottaa huomioon, että kovariaattien vaikutus voi heijastua vasteeseen viiveellä.

Joskus voi olla hankalaa erottaa missä määrin tarkasteltavan aikasarjan kausittaisvaihtelu (eli syklisyys) johtuu yhtäältä jonkin mitattavan/hyödynnettävän kovariaatin muutoksista ja toisaalta itse aikasarjan mahdollisesta “luontaisesta” käyttäytymisestä. Esimerkiksi, alkoholilainsäädännön muutosten vaikutusta kulutukseen on vaikea arvioida, koska kulutukseen vaikuttaa myös esim. Kesäkauden sääolosuhteet.

Aikasarjan analysointi ja ennustaminen AI-jack kiihdyttimellä

Bilotin AI-jack tekoälykiihdyttimellä on mahdollista automatisoida myös aikasarjaennustamisongelmia. Käytetty protokolla noudattaa seuraavaa kaavaa:

  1. Aikasarjan freqvenssien automaattinen etsiminen (jos frekvenssiä ei ole kiinnitetty, esim. kuukausi, viikko, …jne)
  2. Poikkeavien havaintojen etsiminen ja kovariaattien muodostus niiden avulla
  3. Kovariaattien automaattinen viivästys
  4. Kausivaihtelu komponentin/komponenttien muodostus frekvenssien avulla
  5. Optimaalisen informaation käyttö ennustamisessa (kovariaattien viivästys)
  6. Kovariaattien redusointi
  7. Ennusteiden luonti

Kehittämämme ratkaisun etuna on ennen kaikkea geneerisyys, eli sillä voidaan soveltaa luotettavasti erilaisiin aikasarjaongelmiin, ilman että käyttäjän tarvitsee juurikaan käyttää aikaa koodaamiseen. AI-jackin aikasarjamoduuli myös optimoi mallien parametrit automaattisesti, käyttäen aikasarjavalidointia.

Yhteenveto

Aikasarjaennustamisella on selkeä tarve esimerkiksi BI-näkökulmasta kun halutaan ennakoida tuotanto/kysyntä/yms. volyymin muutoksia tulevaisuudessa. Siinä missä muutaman aikasarjan ennustaminen voi olla hyvinkin yksinkertaista, satojen tai jopa tuhansien aikasarjojen kanssa pelattaessa ennustaminen ja ennustamisen automatisointi, mikä on käytännössä välttämätöntä tuotantokäytössä, alkaakin olla melkoinen haaste. Juuri tähän skaala- sekä automatisointiongelmaan olemme kehittäneet Bilotin AI-jackin aikasarjamoduulin.

Aikasarjaennustamista tehtäessä on tärkeää ymmärtää, kuinka se eroaa muista koneoppimisen sovelluskohteista. Moni asia menee pieleen, jos datan valmisteluun ja mallinnukseen suhtautuu kuin mihin tahansa muuhun ennustamisongelmaan. Esimerkiksi, lähes kaikki aikasarjamenetelmät olettavat, että havaintojen aikaleimat sijoittuvat aikajanalle tasavälein ja että sarjassa ei ole puuttuvia aikapisteitä.

Jaa
Contact Person

Bloggaaja

Lasse Liukkonen

Senior Data Scientist

Vincit Bilot

Vincit ja Bilot ovat nyt virallisesti yhtä!

Toiminta jatkuu Vincit-nimen alla.

You have Successfully Subscribed!

Vincit Bilot

Vincit ja Bilot ovat nyt virallisesti yhtä!

Toiminta jatkuu Vincit-nimen alla.

You have Successfully Subscribed!