20.09.2017 / Mika Laukkanen

Kun nykyään uutisoidaan tekoälystä ja koneoppimisesta, niin eturintamaan nousee kuvien tunnistus, itseohjautuvat autot tai vaikkapa tekstin kääntäminen tai sen kontekstin ymmärtäminen. Näiden mediaseksikkäiden aiheiden taakse jää aihealueita, joissa tekoälyllä on paljon annettavaa, mutta uutiskynnys ei ylity. Yksi näistä aiheista on shutterstock_425909323erilaisten järjestelmien datan laadun parantaminen algoritmien avulla.

Ongelmia datan laadussa?

Datan laatuongelmat aiheuttavat erittäin suuria kustannuksia yrityksille vuosittain. Kustannuksia syntyy, kun dataa joudutaan parsimaan ja paikkailemaan erilaisissa järjestelmissä, integraatioissa, tietovarastoissa, jne. Lisäksi on huomioitava piilokustannukset, jotka syntyvät puutteellisen tai virheellisen datan perusteella tehdyistä vääristä päätöksistä tai päätösten lykkäämisestä. Ei ole tavatonta, että esimerkiksi tietovarastoprojektissa 10%:ia datan laatuongelmista aiheuttaa vaikka 50-70% kustannuksista. Itse muistan uraltani yhden projektin, jossa 95% datasta saatiin tietovarastoon nätisti 25 päivässä, mutta lopun 5%:n fiksaaminen sinne vei 120 päivää. Työmääräarviot eivät menneet ihan putkeen.

Miten koneoppiminen voisi sitten auttaa?

Case 1, puuttuvan datan paikkaus

Lukuisten tietojärjestelmien datoissa on puutteita, koska käyttäjät eivät syötä tietoja hyvistä ja sinnikkäistä ohjeistuksista huolimatta. Koneoppimista käyttämällä voi olla mahdollista täydentää nämä tiedot. Seuraavat esimerkit ovat oikeista tilanteista.

  • CRM-järjestelmästä puuttui merkittävästi tietoja, joiden kirjaamisesta asiakkaat olivat itse vastuussa (web-portaalin kautta). Koneoppimismalliin tuotiin CRM datat ja kaikkien asiakkaiden ostohistoriat. Ostohistoriadataa hyödyntämällä voitiin luoda ennustamalli, joka osasi varsin tarkasti ennustaa asiakkaan puuttuvat tiedot. Markkinoinnin kannalta tämä oli hyvä asia, koska kohdentaminen menisi nyt todennäköisemmin oikein kuin puuttuvia tietoja hyödyntämällä. Sellainenkin asia paljastui, että ostohistoriasta ennustetut asiakasmuuttujat taisivat olla jopa tarkempia kuin asiakkaan omat merkinnät. Nehän oli tehty joskus asiakkuuden alussa ja sittemmin vanhentuneet.
  • Eräässä tietojärjestelmässä oli puutteita erilaisten luokitusten (esim. tuoteryhmittelyt) merkinnässä. Käyttämällä järjestelmän muita tietoja koneoppimismalli pystyi erittäin tarkasti ennustamaan puuttuvan tiedon luokituksen.

Luulen että Facebook, Google ja muut vastaavat toimijat tekevät tätä aktiivisesti. Vaikket olisikaan antanut itsestäsi jotain tietoa, niin se on ennustettavissa web-käyttösi perusteella.

Case 2, virheellisen datan korjaus

Jälleen pari käytännön esimerkkiä.

  • Kanta-asiakasrekisteri, johon on sama asiakas kirjattu lukuisia kertoja – ehkä pienillä eroilla kirjoitusasussa. Koneoppimista käyttämällä voimme löytää tehokkaasti nämä dublikaattiasiakkaat, jonka jälkeen asiakasrekisterin korjaus käy käden käänteessä. Tosin eräässä mediatalossa oli päädytty excelissä läpikäyntiin, ja aikaa oli varattu puolisen vuotta.
  • Toinen esimerkki on myös asiakasrekisteristä, johon asiakkaan perustietoja on kirjoitettu väärin, esim. Matti Meikäläisestä on tullut Mati Meikälinen. Jälleen koneoppimisen keinoin voimme etsiä virheitä ja korjata niitä. Tässä tapauksessa malli voisi esimerkiksi ehdottaa, että oikea kirjoitusasu on “Matti Meikäläinen 98%”, “Matti Teikäläinen 93%”, … “Matti Nykänen 4%”.  Lopun prosenttiluku viittaa mallin antamaan todennäköisyyteen oikeasta nimestä.
  • Poikkeavien havaintojen etsintä ja mahdollisesti korjaus. Järjestelmiin syntyy vahingossa typoja, esim. iäksi tulee 1983 vuotta tai alennusprosentiksi 120%. Tällaiset kummajaiset toki löytää sql-kyselyillä, mutta se vaatii istumalihaksia ja koodaamista. Ohjelmointia ja koneoppimista hyödyntämällä voidaan kirjoittaa koodi, joka haarukoi isoja datamassoja lävitse ja palauttaa arviot poikkeavista havainnoista, jolloin ihmiset voivat päättää mitä tehdä niille. Joissakin tilanteissa on myös mahdollista on laittaa algoritmi korjaamaan datan suoraan.

Case 3, data-integraatiot ja tietovarastolataukset

Näillä osa-alueilla liikutellaan merkittävästi dataa päivästä toiseen. Virhehallinta datan tarkkailun suhteen on kuitenkin verrattain jäykkää. Jos mitään dataa ei siirry vaikka tietoliikennekatkosten vuoksi, niin niistä saadaan virheilmoituksia. Samoin muista triviaaleista virheistä. Mutta jos dataa siirtyykin esim. 80% normaalivolyymista tai siirtyvän datan sisältö poikkeaa olennaisesti aiemmasta (esim. hinnastossa tulisi pelkkiä nollia), niin yleensä tällaisia virheitä ei saada kiinni. Joskus tällaisten puutteiden huomaaminen voi kestää kauankin, jolloin korjaaminen tulee kalliiksi tai jopa mahdottomaksi. Esimerkiksi eräässä projektissa kaikki varastosaldot eivät siirtyneet pariin viikkoon, eikä niitä ollut enää mistään saatavilla jälkikäteen.

Arvaatte varmaan, että tähänkin löytyy ratkaisuja koneoppimista hyödyntämällä! Eikä se ole edes vaikeaa tai kovin kallista.

Tällä hetkellä myös ohjelmistorobotiikka on erittäin suosittu aihe. Tämä kirjoitus liittyy myös läheisesti siihen, koska koneoppimismallit usein upotetaan ohjelmistojen sisään, jotka niitä sitten käyttävät.

Jos nämä aiheet kiinnostavat, niin ole yhteyksissä.


21.08.2017 / Mika Laukkanen

Seuraava kirjoitus on julkaistu Tieke lehden numerossa 1-2017. Jaetaan se nyt täälläkin.


Tärkeintä on laadukas data

Voimme päivittäin lukea uutisvirrasta uusien tekoälyratkaisujen tulevaisuuden potentiaaleista. Datamäärien ja laskentatehon kasvu yhdessä algoritmien kehityksen kanssa ovat potkaisseet tekoälyn kehitysvauhdin uudelle kiertoradalle.

Nykyään lähes kaikki tekoälyratkaisut perustuvat neuroverkkoihin, joiden prosessoitavaksi on ohjattu dataa. Neuroverkko ohjelmoidaan oppimaan datasta, jossa on syötteitä (esimerkiksi asiakkaan taustatietoja ja ostohistoriaa) ja vasteita (esimerkiksi ostiko asiakas tuotteen vai ei).
Näin neuroverkko muodostaa mallin, jonka avulla se ennustaa syötteiden avulla vasteita.

Varmista vahva perusta

Kun tekoälyä ryhdytään valjastamaan liiketoiminnan resurssiksi, ensin onkin ymmärrettävä, että kaikki lähtee laadukkaasta datasta. Fiksuinkaan tekoälysovellus ei palvele tarkoitustaan, jos sille syötetään epärelevanttia dataa. Toisin sanoen: mitä kattavammat ja paremmat datavarannot yrityksellä on, sen järeämmät edellytykset sillä on rakentaa toimivia tekoälyratkaisuja liiketoiminnan eri osa-alueille.

Vältä järjettömät ratkaisut

Datan huonosta laadusta esimerkkinä käy botti, jonka piti opetella twiittailemaan. Valitettavasti Twitter-käyttäjät syöttivät sille rasistisia ja sovinistisia twiittejä, ja bottihan oppi ne nopeasti, ja alkoi heittää vastaavia twiittejä. Kunnes joutui itse jäähypenkille konekatumaan.
Yksi tekoälyratkaisujen heikkous onkin, että niillä ei ole kontekstia ympäröivään maailmaan, ja siksi ne voivat päätyä joissakin tilanteissa järjettömiin ratkaisuihin.

Korvaamaton resurssi

Jatkossa yritysten datavarannot ovat yksi tärkeimmistä kilpailutekijöistä, kun taistellaan paikasta auringossa. Ne ovat tärkeämpiä kuin vaikkapa ohjelmistot tai tekoälyalgoritmit, koska jälkimmäiset ovat melko helposti kopioitavissa tai ostettavissa. Datavarannot ovat taas rahanarvoista omaisuutta, jota kilpailijat eivät voi kopioida. Esimerkiksi Google julkaisee tekoälykoodejaan avoimesti, mutta datasta saa maksaa. Eikä kaikkea dataa tietenkään saa edes rahalla!

Laadi tekoälystrategia

Monissa yrityksissä datavarantojen muodostamisesta vastaa it-osasto, joka hankkii ohjelmistoja ja teknologioita asian toteuttamiseksi. Liiketoiminnat osallistuvat tiedonkeruuseen käyttämällä ohjelmistoja (esimerkiksi ERP tai CRM). Tämän mallin riskinä on, että datavarantojen sisällön kehitystä ei vie eteenpäin ennalta mietitty strategia. Seurauksena voi olla siilomaisia ja pistemäisiä ratkaisuja, jotka eivät kustannuksiin nähden tuo riittävästi arvoa. Yrityksissä olisikin korkea aika pohtia datan strategista arvoa liiketoiminnan kannalta ja kehittää datan keräämistä sekä hyödyntämistä sen mukaisesti.

 


25.04.2017 / Ville Niemijärvi

Istahdin taas alas Lassen, Louhian johtavan Data Scientistin kanssa ja rupateltiin vähän mitä työvälineitä edistyneen analytiikan toteutustöissä tarvitaan.

Edellisessä kirjoituksessa käytiin Lassen kanssa läpi mitkä ovat Data Scientistin 3 tärkeintä taitoa. Noista taidoista voi jo vähän päätellä minkälaista työkaluosaamista pitää myös hallita.

Voit katsoa videon tästä tai tämän blogin alta.

Data Scientistin tärkeimmät työvälineet

Louhialla jo reilun 5 vuoden ajan kymmeniä data science -toteutuksia tehnyt Lasse luettelee ison listan tuotteita, joita käyttää päivittäin työssään.

  • ETL-työ, data integraatio ja muokkaus: SQL Server Integration Services
  • Tietokannat: SQL Server Management Studio
  • Mallintaminen, data science: R, Python, RapidMiner, Azure ML
  • Tiedon visualisointi, raportointi: QlikView, Power BI

Jokaisella tuotteella on oma roolinsa ja jotta saadaan parempi ymmärrys missä niitä käytetään, sijoittelimme ne alla olevassa kuvassa tyypilliseen business intelligence/analytiikka -arkkitehtuuriin.

Tyypillinen analytiikka-arkkitehtuuri ja data scientistin työvälineet

Tyypillinen tietovarasto/business intelligence/analytiikka -arkkitehtuuri
Tyypillinen tietovarasto/business intelligence/analytiikka -arkkitehtuuri

Kuvassa yllä näkyy tyypillinen arkkitehtuuri, joka on joko valmiina rakennettuna yrityksessä tai me rakennamme sellaisen osana analytiikka- tai laajempaa tiedolla johtamisen hanketta.

Alimpana on tietolähteet eli organisaation lukuisat operatiiviset järjestelmät, CRM:t, taloushallinto  jne. Sekä yhä useammin myös ulkoiset tietolähteet, joka avoimien rajapintojen kautta tai ostettuna 3. osapuolelta.

Tieto täytyy tämän jälkeen ladata analytiikkaa varten jollekin tallennusalustalle. Latauksen yhteydessä tietoa usein yhdistetään, muokataan, siivotaan. Tätä kutsutaan tietovarastopiireissä ETL-prosessiksi (extract-transform-load) mutta usein puhutaan vain tiedon integraatiosta.

Tässä Lasse hyödyntää lähinnä SQL Server Integration Serviceä (SSIS). Itse olen käyttänyt SSIS:n lisäksi Pentahoa ja IBM Cognos Data Manageria, joka on nykyään korvattu IBM Infosphere DataStagella.

Muita markkinoilta löytyviä tuotteita on mm. Informatica, Oracle Warehouse builder, SAS Data Integration Studio.

Tieto siis tallennetaan jollekin tallennusalustalle ja useimmiten se edelleen on relaatiotietokanta. Lassen tapauksessa useimmiten SQL Server jota hallitaan SQL Server Management Studiolla.

Big data (esim. Hadoop) ja NoSQL -tietokannat ovat yleistyneet ja niitä on asiakkaillamme mutta lopulta tieto on helpointa viedä relaatiokantaan, jotta sitä voidaan hyödyntää tilastollisessa mallintamisessa eli varsinaisessa data science -työssä.

Tällöin käyttöön otetaan mallinnustyövälineet kuten R, Python, RapidMiner tai Azure Machine Learning.

Muita markkinoilta löytyviä tuotteita ovat mm. SAS, Knime, SPSS, Amazon Machine Learning, IBM Watson.

Kun ennustemallit tai muu edistyneen analytiikan mallinnus on tehty, tulokset viedään usein visualisoituna liiketoiminnalle (jolleivät mene osaksi jotain operatiivista prosessia tai applikaatiota).

Tällöin käyttöön otetaan raportointi-, visualisointi- ja business intelligence -tuotteet. Lasse suosii näissä QlikView:tä ja Power BI:tä.

Muita asiakkaillamme yleisiä BI-tuotteita ovat mm. Tableau, Cognos, SAP ja Oracle.

Data Scientistin pitää hallita iso joukko tuotteita

Kuten yltä näkyy, ainakin konsulttifirmoissa Data Scientistin pitää hallita iso joukko eri tuotteita.

Totta kai isoissa projekteissa usein on omat erikoismiehet tietovaraston tai data laken rakentamiseen ja omansa tiedon visualisointiin.

Mutta prosessi menee todella hitaaksi jos data scientisti joutuisi joka kerta kun tarvitsee uutta data settiä tai muokkauksia olemassa olevaan, kutsumaan ETL-osaajaa avuksi.

Työ on niin iteratiivista, että on tehokkainta, että DS-roolissa pystytään ottamaan myös ETL-työ, tietokannat ja datan visualisointi haltuun.

Katso video kokonaisuudessaan alta. Muista laittaa Louhian Youtube-video seurantaan ja kommentoi rohkeasti jos haluat kuulla ja nähdä lisää analytiikka-asiaa meiltä.

 


6.04.2017 / Juha Kostamo

Myyntigongin kolinaa ja avautuvien kuohuviinipullojen generoimaa pauketta.

On tullut vuosien mittaan tehtyä myyntiä ja kauppaakin on syntynyt. Joskus enemmän ja joskus vähemmän.

Jotta syntyy kauppaa, niin täytyy tehdä tarjouksia asiakkaille. Riippuen toimialasta ja tarjottavasta ratkaisusta, yhtä kauppaa kohden pitää tehdä 5-15 tarjousta.

Tarjouksien, varsinkin hyvälaatuisten, tekeminen on investointi ja mikään ei inhota myyntimiestä tai -naista enemmän kuin se, että omasta mielestä hyvälaatuinen ja asiakastarpeesta lähtevä tarjous ei voitakkaan. Silloin herää kysymys, että mitkä tekijät tai osa-alueet tarjouksessa kaatoivat kaupan mahdollisuuden tai  mitä osa-alueita olisi pitänyt säätää ja miten paljon, jotta kaupat olisivat tulleet kotiin? Tämä voi olla oikeastikin sellainen tuhannen taalan kysymys.

Voiko analytiikkaa hyödyntää tämän tyyppisen ongelman ratkaisussa? Kyllä voi.

Otetaan tarkastelun kohteeksi täysin kuvitteellinen teollista tukkukauppaa harrastava yritys. Yritys ei myy muttereita, vaan hieman laajempia kokonaisuuksia. Tuotekokonaisuus on konfiguroitavissa, joka johtaa siihen, että erilaisia tuoteyhdistelmiä on useita. Yrityksellä on myös palveluliiketoimintaa ja varaosamyyntiä. Toimintaa on kaikissa Pohjoismaissa ja sitä kautta myös varastoja.  Pääomaa on varastoissa kiinni reilusti, liikaa.

Yrityksellä on paljon ja ostohistorialtaan ja luokittelultaan (avainasiakkaita, hyviä ja kehitettäviä) eritasoisia asiakkaita, jotka sijaitsevat ympäri Pohjoismaita.

Yrityksellä on käytettävissään pitkältä ajalta tarjoushistoriaa: mitä tarjottu (laajuus), kenelle, milloin, mistä toimitus, paljonko maksaa, syntyikö kaupat yms. Koska kaikki tarjoukset eivät päädy kauppaan, niin yrityksessä herää tarve selvittää mitkä muuttujat vaikuttavat/selittävät kaupan syntymiseen. Asiakkaalla on myös hypoteesi: kuinka varastointi-, toimitusvarmuus ja hinta vaikuttavat tarjouksen läpimenoon?

Dataa on ja myös kykeneviä datatieteilijöitä eli ryhdytään töihin.

Kuten yleensäkin datan määrä ja laatukaan eivät pelkästään riitä analysoinnin aloittamiseksi eli ensin data laitetaan mallinnuksen vaatimaan asentoon ja viritetään työkalut toimimaan, tässä tapauksessa käytetään R- kieltä.

Dataa ajetaan erilaisten tilastollisten mallien läpi ja havaitaan, että parhaiten dataa selittää logistinen regressiomalli.

Logistinen regressio (engl. logistic regression) on tilastollinen malli, joka on erityistyyppi tavanomaisesta regressiomallista. Logistisessa regressiomallissa selitettävä muuttuja on dikotominen eli kaksiluokkainen muuttuja. Selitettävä muuttuja saa arvon 0 tai 1 siten, että se muuttujan luokka, jota halutaan ennustaa, saa arvon 1.

Logistisella regressioanalyysillä mallinnetaan vastemuuttujan ja selittävien muuttujien suhdetta. Toisin kuin tavanomaisessa regressiomallissa, vasteen odotusarvo on riski. Riski on todennäköisyys, että jokin tapahtuma tapahtuu suhteessa siihen, että se ei tapahdu.

Tässä tapauksessa dataa tutkailemalla tunnistetaan selittäviksi muuttujiksi  mm. tarjouksen laajuus, tuotteiden saatavuus varastossa, hinta, historiallinen hintasensitiivisyys, asiakkaan erilaiset ominaispiirteet ja joitakin muita.

Koska tätä blogia lukee meidän kilpailijoiden lisäksi myös liiketoimintaihmisiä, niin laitetaan pikakelaus päälle…

Iteratiivisen tekemisen ja yrityksen liiketoimintaihmisten kanssa käytyjen keskustelujen jälkeen datatieteilijöiden päällysmiehen päästä nousee valkoista savua ja hän saa kutsun tulla esittelemään tuloksia yrityksen johtoryhmälle.

Päällysmiehen esitys alkaa seuraavalla kalvolla:

Blogi_taulukko

Johtoportaan jäsenten Facebook- päivitykset ja Tinder- pyyhkäisyt vaihtuvat lasittuneisiin katseisiin, hallitsemattomiin nyökkäilyihin ja ymmärrystä imitoiviin ääntelyihin.

Onneksi päällysmies on ollut kaukaa viisas ja on kutsunut Louhian liiketoimintakonsultin paikalle muuttamaan kalvolla olevat numerot yrityksen liiketoimintaa koskeviksi havainnoiksi. Lasittunut katse kirkastuu ja mieli avautuu.
Dataa tutkimalla on löydetty yrityksen avainasiakkaiden osalta hintasensitiivisyyspisteitä (hinnan ylitys pudottaa kaupan todennäköisyyden merkittävästi), on tunnistettu tarjouksen laajuuteen liittyviä vaikutuksia, on tunnistettu tuotteiden toimitusaikojen ja saatavuuden yhteys tarjouksen läpimenoon ja on tunnistettu asiakkaiden ominaisuuksien yhteys kaupan todennäköisyyteen.

Yritys tekee saman tien muutoksia omaan hinnoittelustrategiaansa ja tunnistaa uusia analytiikan hyödyntämisalueita.

Tuhannen taalan kysymykseen tuli miljoonan dollarin vastaus.

 

 

 

 


28.03.2017 / Mika Laukkanen

Auton myyntihinnan arviointiin on useita mahdollisuuksia. Yksinkertaisinta lienee käydä katsomassa mitä vastaavilla ominaisuuksilla varustetut autot maksavat netissä, ja asettaa hinta oman fiiliksen mukaan alle, keskiarvoon tai vaikka ylitse. Tämä metodi on varmaan riittävän tarkka tapa hinnoitella auto ellei kyseessä ole jonkinlainen erikoiskappale tai muuten harvinainen ajopeli.

Mutta onnistuuko myyntihinnan ennustaminen data-analytiikan (machine learning, statistics) keinoin? Intuitiivinen vastaus on –  ”tietysti onnistuu”, mutta kyseessä ei ole ihan yksinkertainen ennusteongelma.

Lue koko juttu Louhian artikkeliosastolta!


 


13.01.2017 / Olli Leppänen

Osakeindeksien kolmannessa (ja viimeisessä osassa) mennään askelta syvemmälle analyyseihin. Samalla päädytään hieman haastavampiin ja teknisempiin ratkaisuihin, joten suosittelen laittamaan turvavyöt kiinni.

Lyhyesti aiemmista osista

Aiemmissa osakeindekseiden hajauttamiseen liittyvissä artikkeleissa tutkittiin S&P500, FTSE 100, IBEX 35,  FTSE MIB, DAX, CAC 40, NIKKEI, AORD -indeksejä. Huomattiin, että näiden osakeindeksien viimeisimmän n. 20 vuoden käyttäytyminen on ollut syklistä, johtuen esim. IT-kuplasta, jolla näytti olevan vaikutusta kaikkiin edellä mainittuihin indekseihin. Toinen suuri kasvu ja lasku tapahtui edellisen finanssikriisin aikaan, jolloin jälleen kaikki indeksit kokivat sukelluksen. Huomattiin myös, että tarkastelun kohteena olevat indeksit ovat sopeutuneet finanssikriisin jälkeiseen aikaan vaihtelevin menestyksin. Samaan aikaan kun osa, kuten yhdysvaltojen S&P500 ja saksan DAX, ovat lähteneet kiitettävään nousuun, ovat toiset, kuten MIB (Italia) ja IBEX 35 (Espanja), kärvistelleet.Indeksit4

2000-luvun alun IT-kuplan, kuten myös vuonna 2007 alun saaneen finanssikriisin vaikutuksia nähtiin kaikissa tarkastelun kohteena olevissa indekseissä. Ne olivat siis globaaleja ilmiöitä ja vaikuttivat sijoituksiin kaikkialla.

Vai vaikuttivatko?

Miten niihin reagoivat Intian, Argentiinan tai vaikkapa Kiinan markkinat? Oliko näiden maiden osakeindekseissä samankaltaisia syöksyjä? Tutkitaan asiaa hieman tarkemmin.

Tilastollinen riippuvuuksien tarkastelu

Ennen kuin riippuvuuksia päästään tarkastelemaan on syytä tietää hieman mitä oikeastaan ollaan tarkastelemassa ja miten tulisi edetä.

Osakeindeksi ovat ajallisesti järjestyksessä oleva arvojoukko, eli se on aikasarja. Ominaista aikasarjalle on, että sen tarkasteltava arvo riippuu sen omasta historiasta. Tyypillisesti ajatellaan, että aikasarjalla voi olla trendi, kausivaihtelu tai muunlaista syklisyyttä. Trendillä tarkoitetaan pitkän tähtäimen muutosta keskiarvossa. Kausivaihtelusta tyypillisesti puhutaan kalenterivuoden sisäisestä vaihtelusta. Sykli sen sijaan voi olla jostain muusta johtuvaa ajallista heilahtelua.

Esimerkki aikasarjasta

Otetaanpas väliin kevyt esimerkki aikasarjasta.

lake

Yllä olevassa kuvassa on Huronjärjen pinnan korkeus vuosilta 1875-1972. Huronjärven pinnan korkeus on selkeästi laskenut pitkällä aikavälillä, eli sillä on ollut laskeva trendi. Pelkästään paljaalla silmällä tarkastellen järven pinnan korkeus näyttäisi sisältävän muutaman vuoden mittaista kausittaista tai syklistä vaihtelua. Näyttäisi myös siltä, että pinnan korkeuden vaihtelu kasvaa ajan myötä.

Jätetään Huronjärvi rauhaan ja palataan takaisin osakeindeksien pariin.

Aikasarjojen riippuvuuksien tarkastelu

Nyt tiedämme mitä olemme tarkastelemassa. Aikasarjoja. Ja tarkemmin sanoen niiden välisiä riippuvuuksia. Helppoa ja yksinkertaista? Ei suinkaan. Aikasarjojen välisen riippuvuuden problematiikkaa on jo puitu aiemmassa blogissa: http://www.louhia.fi/2015/11/10/kuinka-mitata-kahden-aikasarjan-valista-korrelaatiota-ja-kuinka-kayttaa-toista-aikasarjaa-toisen-ennustamisessa-hyvaksi/. En täysin toista samaa asiaa, mutta lyhyehkö kertaus siitä lienee paikallaan.

Tyypillisesti kahden muuttujan välistä lineaarista riippuvuutta voidaan mitata esim. Pearsonin korrelaatiokertoimella. Tietyin oletuksin korrelaatiokertoimen avulla nähtäisiin kuinka toisen muuttujan arvojen vaihdellessa käy toisen muuttujan arvoille. Mikäli toisen muuttujan arvojen kasvaessa toisen arvotkin kasvavat, on kyseessä näiden kahden välisestä positiivisesta korrelaatiosta. Kun kyse on ajassa muuttuvista ilmiöistä, kuten osakeindeksit, niin Pearsonin korrelaatiokertoimen käyttö EI tule kuulonkaan. Tämä johtuu siitä, että Pearsonin korrelaatiokertoimen tapauksessa oletuksena on, että tarkastelun kohteena olevien muuttujien odotusarvo ja varianssi pysyvät samoina. Näin ei useinkaan aikasarjojen tapauksessa ole.

Miten sitten tulisi menetellä, jos halutaan aikasarjojen riippuvuuksista numeroita pöydälle? Varoituksen sana, nyt käydään hieman teknisempää asiaa läpi. Niille, jotka saavat päänsärkyä tilastotieteestä, suosittelen skippaamaan seuraavan osion, mutta lukemaan lopun tulokset.

Vaihtoehto 1

Osakeindeksi -aikasarjojen riippuvuuden laskemiseksi voidaan aikasarjat dekomponoida, eli riisua sarja trendiin, kausivaihteluun ja jäännöksiin. Kun havaintosarjalta poistetaan trendi ja ja kausivaihtelu, niin ”toivon mukaan” jäljelle jää stationaarinen aikasarja. Stationaarisuus on avattu tarkemmin aiemmin mainitussa blogissa. Stationaaristen sarjojen välistä riippuvuutta voidaan visualisoida pisteparvikuvion avulla ja niistä voidaan laskea Pearsonin korrelaatio. Huom. jos aikasarja on stationaarinen niin Pearsonin -korrelaatiokertoimen oletukset pätevät ja tulokset ovat järkeviä. Alla on kuva stationaarisesta aikasarjasta.

stationary

Mikäli dekomponoinnin antamat jäännökset eivät ole stationaarisia, täytyy asiaa miettiä uudelleen. Yksi vaihtoehto olisi dekomponoida jäännöksen ja käyttää sen sarjan jäännöksiä riippuvuuksien selvittämiseen. Tämä menettely on siitä huono, että jäljelle jäävän sarjan tulkinnallisuus on hankala.

Vaihtoehto 2

Toisena vaihtoehtona on sovittaa kullekin aikasarjalle ARIMA -malli ja laskea mallin jäännöksillä korrelaatiot. Tähän päädyttiin tällä kertaa. Tämä malli pitää tässä tapauksessa sisällään myös kausivaihtelukompontin, jolloin pitäisi todellisuudessa puhua SARIMA -mallista. Puhutaan tästä kokonaisuudesta yksinkertaisemmin ARIMA -mallina. Suurimpana syynä on se, että saadut jäännökset olivat stationaarisia, mikä sallii korrelaatioiden laskemisen. Toisena hyvänä syynä on, että ARIMA -mallin sovittaminen on helppoa R-ohjelmistossa. ARIMA -mallit ovat myös suosittuja aikasarjojen ennustamiseen käytettäviä tilastollisia menetelmiä.

Ai mikä ARIMA?

Lyhyesti sanottuna ARIMA on aikasarjan mallinnukseen käytettävä menetelmä. ARIMA kirjaimet  tulevat sanoista Auto Regressive Integrated Moving Average. Hieman tiivistetysti sanottuna AR -osio viestii siitä, että tutkittava aikasarja riippuu aiemmista havainnoista. MA sanelee, että tämänhetkinen arvo riippuu lineaarisesti aiemmista virhetermeistä. I puolestaan viittaa siihen, että alkuperäisen aikasarjan havainnot on korvattu peräkkäisten havaintojen erotuksilla. Erotukset tehdään, jotta aikasarja on lähempänä stationaarista. Kokonaisuutena ideana sovittaa malli mahdollisimman sujuvasti dataan.

Päästäänkö ARIMA -mallin jäännöksillä aina stationaariisiin sarjoihin? Valitettavasti ei aina. Näin käy helposti, jos tutkittavan aikasarjan vaihtelu muuttuu ajan saatossa paljon.

Esimerkiksi uuden pienen pörssiyhtiön osakkeiden arvo on tyypillisesti alkuun matala ja pysyy maltillisena mahdollisesti vuosia. Yhtiön osakkeiden arvo voi kuitenkin ponnahtaa esim. hyvän tuotteen avulla jyrkkään kasvuun ja heilahdella suuremmin kuin se pystyi pienellä osakkeen arvolla. Tällöin vaikka yhtiön osakkeen arvon aikasarjaan sovitetaan ARIMA -malli ja tutkitaan jäännöksiä, voivat ne osoittautua epästationaarisiksi.

Huh, siinäpäs oli paljon sisäistettävää. Nyt viimein päästäänkin itse asiaan, eli osakeindeksien riippuvuuksien tarkasteluun.

Tulokset

Artikkelisarjan ensimmäisessä osassa huomattiin, että S&P500 -indeksi oli suurimpien kasvajien joukossa finanssikriisin jälkeisinä vuosina. Muita S&P500 kanssa saman tasoisesti pärjänneitä olivat Saksan DAX ja Australian AORD. Tarkastellaan seuraavaksi Aasian ja Amerikan suuria indeksejä ja tutkitaan millaista muutosta valittujen maiden indekseissä on ollut viime vuosina.

Tarkastelun kohteeksi valitut osakeindeksit ovat BSE (Intia), SSE (Kiina), HSI (Hong Kong), TWII (Taiwan), MERVAL (Argentiina), MXX (Meksiko) ja vertailun vuoksi aiemmista artikkeleista tuttu S&P500 (Yhdysvallat). Näihin indekseihin päädyttiin, koska niistä kaikista oli saatavilla data jo vuoden 1998 alusta asti, eli ennen IT-kuplaa. Tarkasteltava aikaväli on tammikuusta 1988 heinäkuuhun 2016.

Osakeindeksit

Kuvasta nähdään, että porukasta erottuu varsin selkeästi MERVAL (ARG), jonka arvot katoavat kuvasta 2014 loppupuolella. Mikäli MERVAL-indeksin yrityksiin olisi sijoittanut 1998 alussa, olisi sijoituksensa yli 25-kertaistanut kesään 2016 mennessä! Sen suurta kasvua selittänee ainakin se, että MERVAL-indeksi koostuu vain 12 yrityksestä, minkä vuoksi se on herkempi muutoksille kuin esim. 500 yrityksestä muodostuva S&P 500. MERVAL-indeksin menestystä olisi kiinnostavaa tutkia, mutta tässä artikkelissa emme siihen perehdy tarkemmin.

Muita hyvin menestyneitä indeksejä 90-luvun lopussa sijoittaneille ovat olleet Intian BSE ja Meksikon MXX. BSE -indeksin yrityksiin sijoittanut olisi lähes 9-kertaistanut pääomansa ja MXX-indeksiin sijoittanut yli 10-kertaistanut sen. Sen sijaan Kiinan SSE, Hong Kongin HSI ja S&P 500 ovat vain yli tuplanneet arvonsa.

Huomionarvoista on myös, että finanssikriisin aikaan kukin tarkasteltavista osakeindekseistä syöksyi vauhdilla. Finanssikriisi näyttääkin aiheuttaneen hallaa sijoittajille, huolimatta missä heidän sijoituksensa olivat. Alla oleva taulukko kuvaa finanssikriisin aiheuttaman syöksyn suuruutta. Siinä on lueteltu prosentuaaliset pudotukset osakeindeksittäin vuoden 2007 maksimista vuoden 2009 minimiin. Huomataan, että osakeindeksien syöksyjen suuruudessa oli suuria eroja. Kiinan SSE syöksyi peräti 66,6%, kun Meksikon MXX “selvisi vain” 43,6% pudotuksella.

Syoksyt

Osakeindeksien korrelaatiot

Artikkelisarjamme keskeinen ajatus oli osakkeiden kansainvälinen hajauttaminen, jotta suojelisimme salkkuamme mahdollisimman tehokkaasti suuren kansainvälisen pörssiromahduksen sattuessa. Kysymys kuuluukin, että mitkä osakeindeksit ovat historian valossa korreloineet heikosti keskenään? Tarkastellaan siis seuraavaksi kuinka vahvasti uudet tulokkaamme ovat heilahdelleet S&P500 kanssa ja keskenään. Kullekin osakeindeksi -aikasarjalle on sovitettu ARIMA -malli, seuraavaksi tutkitaan näiden mallien jäännösten välisiä korrelaatioita. Korrelaatiot on lueteltu alla olevaan taulukkoon.

Correlation

Korrelaatiomatriisista nähdään, että S&P500 -osakeindeksillä on suurin korrelaatio MERVAL -indeksin (ARG) kanssa, mutta sen suuruus on vain 0,11. Huomataankin, että S&P500 korreloi varsin vähän valittujen indeksien kanssa. Muita heikosti keskenään korreloivia osakeindeksejä olivat ainakin MERVAL ja BSE (0,10), MERVAL ja SSE (0,13) ja MERVAL ja TWI (0,18). Hieman ehkä yllätyksenä on naapurimaiden Meksikon MXX:n ja Yhdysvaltojen S&P500 välinen lähes nollan korrelaatio.

Johtopäätökset ja huomiot

Saamamme tulokset näyttäisivät ehdottavan S&P500 -osakeindeksien yrityksiin sijoittaneelle lisäsijoituskohteiksi esimerkiksi MERVAL (Argentiina) ja BSE (Intia) -indeksien yrityksiä. Näin tekemällä olisivat riskit hajautettu paremmin kuin jos sijoittaa S&P500 -osakeindeksin yrityksien lisäksi Saksan DAXn ja Aussien AORD kaltaisien osakeindeksien yhtiöihin. Niillä, kuten artikkelisarjamme ensimmäisestä osasta voi muistella, kulkusuunta oli hyvin samanlainen.

Asia ei välttämättä kuitenkaan ole näin yksinkertainen, sillä S&P500/DAX/AORD -salkun vaihtelu on pienempää kuin S&P/MERVAL/BSE -salkulla. Ensin mainittu salkku olisi tässä mielessä sijoittajalle turvallisempi vaihtoehto. Toisaalta kolikolla on kääntöpuolensa. Jos kaipaa suurempaa tuottoa suuremmalla riskillä, voisi MERVAL ja BSE olla käypiä vaihtoehtoja S&P500 -indeksin lisäksi. Jotta jälkimmäistä vaihtoehtoa kannattaisi edes harkita tulisi ensin tarkastella esim. Argentiinan ja Intian indeksien kasvun ja inflaation välistä suhdetta tutkia. Voihan olla, että indeksit kasvavat hurjaa vauhtia, mutta samaan aikaan rahan arvo heikkenee, jolloin todellista tuottoa ei kerrykään.

On kuitenkin tärkeää huomioida, että edellisen finanssikriisin aikaan kaikki tarkasteltavat osakeindeksit sukelsivat. Joten mikään osakeindeksien yhdistelmä ei ole suojassa sen kaltaisilta suurilta katastrofeilta.

Huomiona vielä käytetystä korrelaation laskemistavasta, että aikasarjojen alkupään samankaltaisuus (kaikkien arvot melko pieniä skaalauksen vuoksi) voi vaikuttaa korrelaation vahvasti ja vääristää tuloksia. Jälkikäteen mietittynä parempi lähestymistapa olisi voinut olla laskea korrelaatio jonkinlaisella liukuvalla ikkunamenetelmällä (moving window).

Kirjoittaja: Olli Leppänen, Louhia DataLab

Lähteet: https://uk.finance.yahoo.comhttps://in.finance.yahoo.com/

Käytetyt ohjelmistot: R, Excel


30.11.2016 / Juha Kostamo

Analytiikan kehittäminen on kuin tutkimusmatka – aina ei tiedä minkä ääreltä itsensä löytää. Mikä on kuitenkin varmaa on se, että jos ei ikinä lähde matkaan niin ei päädy minnekään.

Monissa yrityksissä on viime vuosina laitettu raportointia, BI:tä, kuntoon. Tiedetään miten hyvin tai huonosti meillä meni eilen, viime viikolla, viime kuussa. Sekin on ihan arvokasta tietoa ja onhan siinä samalla tehty organisaation datapääomalle määräaikaishuolto.

Aika monen toimiston nurkkahuoneessa nautitaan Suomen luonnon tarjoamasta hämärästä hetkestä ja pohditaan, että mitähän ihmettä sille kaikelle yrityksen toiminnasta kerätylle datalle tekisikään. Kaverit klubilla puhuivat jostain ennustavasta analytiikasta ja Machine Learningista…miten päästä alkuun ja uuden oppimisen äärelle järkevällä riskillä.

Louhialla ja muissakin fiksuissa konsulttitaloissa käytetään CRISP-DM metodologiaa (IBM:n aikanaan kehittämä), jonka avulla tehdään ketteriä ja pieniriskisiä analytiikkaprojekteja. Sen avulla on nopeasti selvitettävissä onko valitussa ongelmassa liiketoimintapotentiaalia. Työskentelytapa on iteratiivinen.

CRISP-DM vaiheistus on kuvattu seuraavassa:

  1. Ongelman identifiointi
  2. Datan ymmärtäminen
  3. Datan valmistelu
  4. Mallinnusvaihe
  5. Tulkinnat ja analyysit
  6. Tuotantoon vienti tai palautus aiempiin vaiheisiin

Kaikki lähtee ratkaistavan liiketoimintaongelman tunnistamisesta ja kuvaamisesta. Ongelmien tunnistaminen on yleensä suhteellisen helppoa, kuvaaminen jo hieman haastavampaa. Apuna voi käyttää esim. Ishikawa- diagrammia.

Osana kuvaamista tunnistetaan myös ko. ongelman ratkaisemisen hyötypotentiaali. Samalla on hyvä myös tutkailla löytyykö aihealueelta dataa menemättä vielä yksityiskohtiin. Yhtenä löydöksenä voi olla myös se, että meillä on ongelma, jonka ratkaiseminen toisi merkittävää liiketoimintahyötyä, mutta meillä ei ole dataa. Action: ryhdytään keräämään dataa ja palataan asiaan esim. vuoden kuluttua.

Kun on saatu ymmärrys ratkaistavasta ongelmasta, sen laajuudesta ja hyötypotentiaalista ja ollaan tunnistettu aihealueeseen suurella todennäköisyydellä liittyvät datat, on aika avata konepelti ja kääriä hihat. Datan kanssa puuhaaminen on aikaa vievää ja välillä tuskallistakin hommaa – kerätään, kuvaillaan, tutkaillaan, verifioidaan, valitaan, putsataan ja yhdistellään muiden datojen kanssa. Tämän vaiheen tärkeyttä ei voi aliarvioida – ilman dataa ei synny analyysiä, ilman analyysiä ei synny uusia havaintoja ja niiden mahdollistamia hyötyjä. Tämä vaihe saattaa vaatia pizzaa ja energiajuomia.

Mallinnusvaiheessa datatieteilijä tekee taikojaan: valitsee soveltuvat mallinnustekniikat, rakentaa ja testaa malleja, pistää parametrit oikeaan asentoon. Tässä vaiheessa datatieteilijää ei saa häiritä ja samassa toimistossa työskenteleviä suositellaan riisumaan kengät pois ja laittamaan pörrösukat jalkaan melun minimoimiseksi.

Kun mallinnus on tehty, on aika siirtyä tekemään tulkintoja ja analyysejä sekä verrata mallin antamia tuloksia suhteessa projektin alussa asetettuihin tavoitteisiin. Hyvässä lykyssä voidaan todeta, että mallit antavat järkevän tuntuisia tuloksia. Jossain tapauksissa joudutaan palaamaan nöyrästi joko mallinnuksen pariin tai selvittämään datassa mahdollisia olevia puutteita. Hyvässä lykyssä siirrytään miettimään miten kehitetyt mallit ja data saadaan tuottamaan liiketoimintahyötyä eli ryhdytään ensin suunnittelemaan ja sitten toteuttamaan tuotantoon siirtoa.

Kun jotain viedään tuotantoon, täytyy suunnitella kuinka asioita seurataan, ylläpidetään, kehitetään ja kenen kanssa.  Mallien antamia tuloksia voidaan vaikkapa upottaa suoraan yrityksen liiketoimintaprosesseihin taikka visualisoida joko omassa sovelluksessa taikka yrityksen käyttämässä BI- sovelluksessa – modernit BI- välineet eivät hyljeksi esim. R- koodia. Ja nyt sitten tekemään parempia päätöksiä ja liiketoimintaa.

Mitenkä tämmöinen tutkailu sitten kannattaa ostaa? Paloittain ja hallittuina kokonaisuuksina. Jos joku sanoo muuta, tämä joku ei suurella todennäköisyydellä tiedä mistä puhuu.

Analytiikkahankkeille on tyypillistä se, että kun tämän lampun saa syttymään, se palaa kirkkaasti ja pitkään (uusia business case- aihioita tunnistetaan eri puolilla organisaatiota). Kyseessä on oppimismatka ja kun tästä Graalin maljasta pääsee ottamaan hörpyt, niin sitä tekee sitten kyllä mieli lisää.

Minkälaisia mysteerejä Louhia on sitten jo asiakkaidensa kanssa ratkaissut? No onhan noita ja eri toimialoilta.

  • Asiakaspoistuman ennustaminen (vakuutus-, -tele ja energiasektori
  • Kysynnän ennustaminen (terveydenhuolto, tukkuliikkeet)
  • Tuotteiden hintaoptimointi (teollisuus)
  • Vikaantuminen ennakointi (elektroniikkateollisuus)
  • Maaperän kosteusarvojen estimointi (teollisuus)
  • Asiakassegmentointi (vähittäiskauppa, telesektori)
  • Tilauskannan realisoitumisen ennustaminen (terveydenhuolto)
  • Liikenteen viivästymisalgoritmin kehittäminen (top secret)
  • Mainonnan optimointialgoritmi (vähittäis- ja tukkukauppa)
  • IoT-ennusteratkaisu raskaan liikenteen lähtöajankohtiin
  • Avoimen datan hyödyntäminen
  • Tarjousten läpimenon optimointikone (teollisuus)

Lampun sytytyspalveluun voi tutustua tarkemmin osoitteessa  http://www.louhia.fi/palvelut/analytiikkamysteerit/.


9.11.2016 / Mika Laukkanen

Trumpista presidentti, toipuvatko osakkeet?

Trumpista julistettiin aamulla presidentti ja osakemarkkinat “syöksyivät”. Nyt kello on 14:50 on indeksit näyttävät lähes palanneen lähes ennalleen. Eli ainakin tämä (väliaikainen?) toipuminen oli ripeämpää kuin itse artikkelissa, jossa pureudutaan finanssikriisin 2008 jälkeiseen toipumiseen…

Osakeindeksien hajauttaminen, osa 2 – kriisistä toipuminen

 


21.10.2016 / Mika Laukkanen

Alustus – uudet Louhia DataLab artikkelit

Vuosien varrella olemme kirjoittaneet paljon erilaisista tiedolla johtamisen aihepiireistä, mutta varsin vähän datan analysoinnista ja tulosten tulkinnasta, joka on kuitenkin olennainen osa jokapäiväistä tekemistämme. Koska lähes kaikki tämän osa-alueen tekeminen tapahtuu asiakasprojekteissa ja niiden sisältö on luottamuksellista, ei siitä jää paljon kerrottavaa tälle palstalle.

Onneksi maailmassa on paljon avointakin dataa, jota analysoida. Päätimmekin kirjoittaa avoimeen dataan perustuvia artikkeleita, joissa keskitytään datan analysointiin, visualisointiin ja tulosten tulkintaan.

Ensimmäinen osa tätä on kolmiosainen artikkelisarja osakeindeksien hajauttamisesta.

Lue täältä ensimmäinen osa:  Osakeindeksien hajauttaminen, osa 1

ps. artikkeliehdotuksia saa laitella tulemaan