Webinaaritallenne: Kuinka hyviä ennusteita voidaan tuottaa Power BI:n mallinnusvälineillä?

Visualisointivälineet tarjoavat nykyisin yleisesti ennustemalleja. Tarvitaanko näiden ilmaisten mallien lisäksi enää muita ennustevälineitä tai -malleja? Miten hyvin visualisointivälineiden mallien avulla voidaan tuottaa ennusteita?

Webinaarissamme asiantuntijamme Erika Patrikainen esitteli Power BI:n tarjoamia ennustemalleja analyytikon näkökulmasta testiaineisto-demon avulla. Katso tallenne tai lue tiivistelmä videon alta.

Webinaarin aiheina mm.

  • Mitä vaihtoehtoja ennustemallinnukseen on?
  • Kuinka hyviä Power BI:n ennustemallit ovat?
  • Kuinka Power BI:n ennusteet saa helposti hyötykäyttöön?

Power BI:n ennustemallit testissä

Webinaarissa tutkimme, kuinka hyvin Power BI:n ennustemallien avulla voidaan tuottaa ennusteita. Tarkastelemme aikasarja-analyysiin liittyviä sovelluslaajennuksia sekä koestamme ja esittelemme niiden toimivuutta testiaineiston avulla. Lopuksi vertailemme eri malleilla saatuja tuloksia ja kerromme, miten ennusteet saadaan hyötykäyttöön.

Power BI:n aikasarja-analyysiin liittyviä sovelluslaajennuksia voi etsiä Marketplacesta hakusanalla ”time series”. Esimerkkejä Power BI:llä ennustamisen vaihtoehdoista ovat muun muassa vakiona Power BI:ssä oleva line chart eli viivakaavio, Python- ja R-integraatiot sekä Arima-mallinnus ja neuroverkkoennusteet.

Lisäosat toimivat pitkälti R-koodilla. Ongelmaksi saattaa muodostua sovelluslaajennusten yhteensopivuus, jos haluaa vertailla eri mallien tuottamia ennusteita. Tämä on ratkaistavissa asentamalla R-ohjelmiston sellainen versio, joka tukee kaikkia vertailtavia laajennuksia sekä hyödyntämällä Power BI:n optioita, joilla R-version voi määrittää.

Aikasarjamallinnus

Aikasarjamallinnuksessa pyritään mallintamaan arvoja edellisten arvojen perusteella. Arvojen vaihtelua voidaan lisäksi selittää ulkoisilla selittäjillä. Esimerkiksi regressiomallissa hyödynnetään selittäjinä yleensä vain toisia muuttujia.

aikasarja

Aikasarjamallinnuksen haasteita ovat:

  1. Monitasoinen vaihtelu – aikasarjassa voi olla vaihtelua esimerkiksi päivien, kuukausien tai vuosien suhteen, mikä kasvattaa mallin kompleksisuutta.
  2. Puuttuvat havainnot – kaikki menetelmät eivät kykene mallintamaan hyvin, jos löytyy paljon puuttuvia havaintoja.
  3. Poikkeamat sarjassa / ei tietoa selittäjistä – ei tiedetä tarkasti tai ollenkaan, mistä esim. ilmaantunut piikki johtuu aikasarja-analyysissa.
  4. Muuttunut maailma – aikasarja saattaa alkaa käyttäytyä yhtäkkiä eri lailla muutosten vuoksi, eikä tulevaisuutta pystykään enää mallintamaan vanhalla mallilla.
  5. Epävarma tulevaisuus – ajan suhteen asiat muuttuvat usein herkemmin ja nopeammin kuin yksilöiden välillä.

Testiaineisto

Koestamme Power BI:n valmiiden ennustemallien toimivuutta testimateriaalin avulla. Tähän tarkoitukseen hyödynnämme Ilmantieteenlaitoksen aineistoa, joka koostuu Kumpulan havaintoaseman sademäärän ja ilman lämpötilan havainnoista vuorokausitasolla. Aikavälinä käytetään 1/2015-11/2019. Testiaineisto löytyy täältä.

Tavoitteena on ennustaa lämpötilaa 70 päivää eteenpäin alkaen 1.9.2019 ja mitata havaintoihin verrattuna, kuinka hyvin eri mallit pystyvät ennustamaan keskilämpötilaa.

Ennustemallien testaaminen

Tässä webinaarissa tutkimme Power BI:n aikasarja-analyysiin soveltuvia malleja Line chart -viivakaavio, ARIMA-malli, TBATS sekä R script visual.

Line chart -viivakaavio

Ensimmäiseksi tutkimme viivakaavio-mallin toimivuutta testiaineistossa. Power BI:ssä viivakaavio-mallille voidaan antaa optiona ennusteen tuottaminen. Ennusteen pituudeksi valitaan haluttu 70 päivää. Malli ei aloita ennusteen tekemistä aikasarjan päästä, vaan 70 päivää ennen aikasarjan päättymistä.

Voimme verrata sinisellä viivalla havainnollistettua toteumaa liilalla havainnollistettuun viivakaaviomallin tuottamaan ennusteeseen. Viivakaavion tuottama luottamusväli on 95% ja kasvaa luonnollisesti ajan suhteen.

line chart

Viivakaavio-mallilla luotu ennuste näyttää seuraavan suhteellisen hyvin havaittua sarjaa. Malli ottaa huomioon myös kausivaihtelun. Testimateriaalista puuttuvat havainnot voivat potentiaalisesti sotkea ennustetta. Jos halutaan tietää ennustetun datan tarkat arvot, voidaan tiedot ottaa ulos helposti (Export data).

ARIMA-malli

Seuraavaksi tutkimme ARIMA-mallia, joka on haettu Marketplacesta. ARIMA-malli on perinteinen aikasarjamalli, joka hyödyntää automaattista mallivalintaa ja valitsee tietyllä kriteerillä parhaan mallin käyttöönsä. Mallin tuottama ennuste testiaineistosta ei näytä yhtä mielenkiintoiselta kuin viivakaaviomallissa.

ARIMA

ARIMA-mallin hyvänä puolena on se, että mallinnuksen asetuksia ja ominaisuuksia pystyy hyvin säätämään. Testiaineistossa luottamusväliksi valitaan 95% ja 99,9%. Tässäkin mallissa saa käyttöön kausivaihtelun ja ennusteet voi viedä leikepöydän kautta esimerkiksi exceliin.

TBATS

Seuraavaksi tarkastelemme TBATS-mallia, joka on myös haettu Marketplacesta. Mallin erikoisuutena on mahdollisuus useampitasoisen kausivaihtelun määrittelyyn. Viivakaavio- ja ARIMA-malleissa on käytössä ainoastaan yhdentyyppistä kausivaihtelua esimerkiksi vuositasolla. Valinnan saa halutessaan myös manuaaliseksi ja voi määritellä, miten monta pistettä taaksepäin korreloi todennäköisesti eniten valitun pisteen kanssa. Kopiointi leikepöydälle käy samalla tavalla kuin edellisissäkin malleissa.

TBATS-mallin tuottama ennuste testiaineistosta näyttää verrattain samalta kuin ARIMA-mallissa. Hyödynnettävä malli saattaa olla täsmälleen sama kuin ARIMA-mallissa, mutta käytettävää mallia ei voi tarkistaa.

TBATS

Malli näyttää tuottavan parempia ennustetuloksia, jos rajaamme aineistoa ja jätämme vuoden 2015 datat pois. Mahdollisesti malli ei osaa tuottaa tarkkoja ennusteita, jos dataa on liikaa. Myös puuttuvien havaintojen määrä saattaa vaikuttaa mallin epätarkkuuteen.

R script visual

Viimeisenä mallina tutkimme R-ohjelmistolla tehtyä ennustetta, jossa käytössä on R script visual. R-ohjelmiston hyödyntämismahdollisuudet ovat monipuoliset. Siinä tuodaan automaattisesti käyttöön datasetti, jota voidaan hyödyntää koodissa. Ensin hyödynnetään ennustukseen liittyviä R-kirjastoja ja muokataan datasetistä aikasarjaobjekti.

R-koodilla ennustaminen on suhteellisen helppoa, jos osaa hieman koodata. Koodilla voidaan tuottaa myös autokorrelaatiokuvaaja. Sen avulla katsotaan, miten havainnot korreloivat keskenään ja määritellään malliin kausivaihtelu. R-koodin muokkaus tapahtuu ns. lennossa. Ennustamiseen käytetään samaa funktiota kuin ARIMA-mallissa. Jos auto.arima -funktio ei tuota parasta mahdollista mallia, sitä voi itse manuaalisesti muokata.

R script visual

R-koodin avulla tuotetussa ennustemallissa erottuvat selkeästi puuttuvat havainnot. Kyseessä on ARIMA-malli 2.1.1., joka on samanlainen kuin jo aikaisemmin esitelty ARIMA-malli.

R script visual

Yhteenveto eri mallien tuloksista

Lopuksi vertailemme tutkimiemme viivakaavio-, ARIMA- ja TBATS-ennustemallien tuottamia tuloksia. Mallien tulokset viedään exceliin, ja niistä lasketaan keskimääräiset absoluuttiset virheet. Koska R-ohjelmiston tuottama koodi on sama kuin ARIMA-mallin, sen tuloksia ei huomioida erikseen.

Tuloksista voidaan havaita, että testiaineistossa viivakaavio antaa selkeästi parhaimmat tulokset. Malli osasi automaattisesti paikata puuttuvat havainnot ja tuottaa sen takia vain vähän virheitä. ARIMA-mallin suuret virheet johtuivat sen tuottamasta pitkästä suorasta ennusteviivasta. TBATS-mallissa vuoden 2015 tietojen poistamisen jälkeen ennusteet paranivat.tulosten vertailu

Ennusteiden hyödyntäminen

Ennusteita voidaan hyödyntää esimerkiksi ottamalla data ulos ja viemällä se toiseen järjestelmään. Webinaarissa kävimme tarkemmin läpi sitä, miten ennusteet voidaan ladata raportilta.

Tässä linkit ohjeisiin:

  1. Käsin tai ohjelmistorobotilla
  2. JavaScriptillä

Aikasarja-mallinnuksen kehityssuuntia

Aikasarja-mallinnusta pyritään nykyisin automatisoimaan. Esimerkiksi sekä R:stä että Pythonista löytyy auto.arima:n kaltaisia funktioita, jotka automaattisesti pyrkivät valitsemaan parhaan mahdollisen mallin datasta.

Aikasarjaennusteita tuotetaan yhä enemmän neuroverkoilla, esimerkiksi RNN-mallilla (recurrent neural network) ja LSTM-mallilla (long short-term memory). Dataa näihin malleihin tarvitaan kuitenkin paljon enemmän kuin perinteiseen ARIMA-mallinnukseen. Neuroverkkomalleja voidaan opettaa käyttöä vastaavalla datalla tai käyttää useita selittäviä tekijöitä. Tämä saattaa osaltaan tuottaa parempia tuloksia. Ne voivat toimia paremmin, jos kyseessä ovat pitkät aikasarjat, malleja on paljon tai tieto mallista ei ole tarpeen.

Tarve tehokkaille automaattisille ennustejärjestelmille on kasvanut esim. IoT-datan myötä. IoT-alueen ennustemalleissa hyödynnetään automatisointia sekä aikasarjaryhmiä.

 

Haluatko tiedon tulevista BI-akatemian tapahtumista sähköpostiisi?

  • Kenttä on validointitarkoituksiin ja tulee jättää koskemattomaksi.

Webinaarin puhujana toimi Aureoliksen Lead Data Scientist Erika Patrikainen. Erika on Aureoliksen analytiikka-alueen vastuuhenkilö. Erika on kokenut data scientist, jonka vahvuuksia ovat analytiikan mahdollisuuksien syvä ymmärrys sekä monipuolinen kokemus BI-alueen välineistä.