Mitä data ei kerro, sen kertoo design

Puolisen vuotta sitten olin tiimini kanssa jännän äärellä: aloittamassa tutkimusprojektia, jossa etsittiin koneoppimisen mahdollisuuksia lentoviiveiden ennustamisessa. Huomasimme pian, että onnistuaksemme meidän on yhdistettävä kehittyneen analytiikan, koneoppimisen ja design-ajattelun menetelmät.

Etsin Siilillä työkseni keinoja yhdistää design ja data. Tässä projektissa poikkitieteellinen menetelmien yhdistäminen osoittautui aivan keskeisimmäksi onnistumisen mahdollistajaksi. Projekti on jatkumoa Finavian ja Siilin pitkäjänteiselle yhteistyölle tilannekuvajärjestelmien osalta, jossa ennustaminen ja ennakointi ovat keskeisessä roolissa.

Data ei osaa aina vastata miksi

Data kertoo analysoijalleen, mitä on tapahtunut tai tapahtuu. Algoritmille voi opettaa nämä faktat. Mutta sekä data että koneäly ovat toistaiseksi hiljaa, kun niiltä kysytään kiusalliset miksi- tai miten -kysymykset. Kehittyneen analytiikan uusin aalto – preskriptiiviset mallit – pyrkivät ratkaisemaan tätä, mutta ovat kompleksisuudeltaan sellaisia, että niiden hyödyntäminen on erittäin haastavaa.

Lentoasemilla toimii satoja yrityksiä, jotka vaikuttavat osaltaan lentoliikenteen toimintaan. Lentoympäristö onkin mutkikas prosessivyyhti, jonka monia syy-seuraussuhteita pelkkä data ei paljasta. Kolme keskeisintä syytä tähän ovat ihmisen toiminta, historiadatan saatavuus ja laatu sekä ymmärrys siitä, mitä dataa algoritmin opettamiseen käytetään.

Ihminen toimii prosessissa päätöksentekijänä ollen siten keskeinen syy seurauksille. Vaikka dataa olisi saatavilla, se voi olla täynnä kohinaa eli häiriödataa, joka pienentää luokittelun suorituskykyä. Käyttötapaus ja ratkaistava ongelma määrittävät sen, mitä algoritmille opetetaan.

Yhteenkään edellä mainituista ei pääse kiinni pelkällä data-analyysillä, vaan avuksi tarvitaan perinteisempiä design-menetelmiä, jotka ottavat käyttöympäristön eli kontekstin huomioon.

Ajattele vielä lentokenttää. Se on kuin tehdas, jonka prosessit ovat hiottuja, mutta häiriöitä väistämättä tulee: poikkeavat sääolosuhteet, myöhässä saapunut kone, rikkoutunut matkatavarahihna, turvallisuusuhka tai lakko. Jokainen näistä tekijöistä uhkaa toteutuessaan aiheuttaa kiusallisia ja kalliita lentoviiveitä.

Aloittaessamme harjoitusta asetimme tavoitteeksi tutkia, voiko lentoviiveitä ennustaa koneoppimisen avulla huomioiden sääolosuhteiden vaikutukset. Heti kättelyssä ongelman rajaaminen tuntui vaikealta puhumattakaan hypoteeseistä, jotka tuottaisivat todellisia liiketoimintamahdollisuuksia.

Tutkimusongelma valkeni vasta, kun yhdistimme datan ja designmenetelmät 

Tilanne oli kinkkinen. Normaalistihan liiketoimintamahdollisuuksien tutkimukseen lähtiessä on järkevää rajata tutkimusaihe mahdollisimman kapeaksi. Mutta miten rajaat ongelmaa, kun et tiedä, mistä kulmasta sitä pitäisi lähestyä!

Tutkimme läpi gigoittain dataa. Yhdistelimme datasettejä ja tarkastelimme niitä eri menetelmin. Löysimme heikkoja signaaleja siitä, että koneoppimiseen pohjautuva ennustaminen voisi olla mahdollista. Mutta tulimme umpikujaan. Data ei paljastanut ongelmaa. Kunnes aloimme penkoa sitä, miten voisimme hyödyntää perinteistä design-osaamista siihen saakka melko datavetoisen hankkeen parissa.

Aloitimme pureutumalla poikkeustilanteisiin. Kävimme uudelleen läpi muistioita, tulkintoja tapahtuneesta ja tilastoja. Vertasimme ristiin lentoviivettä siihen, mitä kentällä tapahtuu ennen viivettä, sen aikana ja sen jälkeen. Selvitimme tapahtumien lokitietojen avulla, miten asioista oli viestitty. Haastattelimme kentän työntekijöitä. Toisin sanoen lisäsimme data-analyysiin designmenetelmiä, joilla mallinnetaan monimutkaista ympäristöä laajemmin.

Kokonaiskuva alkoi valjeta ja sen myötä myös mahdollinen ratkaistava ongelma alkoi saada hahmon.

Ennuste auttaa ehkäisemään häiriöitä, jolloin saavutetaan todellista taloudellista hyötyä

Lentoviiveiden ennustamisesta tiedetään paljon ja aihetta on tutkittu yli 20 vuotta. Mutta mitä sitten, jos ja kun pystymme ennustamaan lentoviiveen seuraaville tunneille? Mitä se tarkoittaa, jos voimme ennustaa todennäköisyyden tulevalle viiveelle tai kuinka monta prosenttia tai minuuttia viive on? Kuinka se vaikuttaa ihmisten toimintaan ja päätöksiin? Kuinka päätöksiä tekevät ihmiset ymmärtävät asian? 

Tutkimuksen aikana huomasimme, että sääolosuhteiden aiheuttama viive ei synny useinkaan heti, koska sääolosuhteet eivät aina muutu välittömästi eivätkä aiheuta välitöntä viivettä. Toinen keskeinen havainto on viiveen lisääntyminen kumulatiivisesti (propagation, congestion), jolloin ei enää tiedetä, mikä varsinainen viiveen syy on. Kolmantena löydöksenä tunnistimme, että viiveiden luokittelu ja jakaminen viiveen keston osalta pienempiin aikaosiin auttaa päätöksentekoa verrattuna siihen, että luokittelisimme ne vain pieneen tai isoon viiveeseen.

Lopulta iterointi asiantuntijoiden ja pääkäyttäjien kanssa johti olettamaan, että tulevaisuudessa viivettä parempi indikaattori tai toiminnan mittari olisi läpimenoennuste, joka havainnollistaisi sekä suunnitellun kysynnän että toiminnan kapasiteetin.     

Entäpä jos näitä oppeja hyödyntäen voitaisiin ennustaa häiriöitä tai viiveitä niin luotettavasti, että ennusteiden pohjalta osa häiriöistä ja viiveistä voitaisiin ennaltaehkäistä muokkaamalla häiriöuhan alla olevia lentokentän prosesseja? Siinäpä mahdollisuus saavuttaa todella merkittävää taloudellista hyötyä.

 Kuva 1: Lentoviiveiden ennustamisen datamalli on kompleksinen

Kuva 1: Lentoviiveiden ennustamisen datamalli on kompleksinen ja yksittäinen datalähde ei riitä luotettavaan ennustamiseen (Lähde: A Review on Flight Delay Prediction).

Jotta voit ennustaa, fuusioi oikean elämän toiminta dataan

Löysimme siis lopulta useita liiketoimintamahdollisuuksia, jotka olisivat pysyneet visusti piilossa, jos emme olisi yhdistäneet data- ja designosaamista.

Tärkein oppi tästä projektista onkin, että valmiuksien kehittämistä ja ennustamista monimutkaisissa ympäristöissä voi tehdä luotettavasti vain yhdistämällä tosielämän tapahtumat dataan. Tällöin voidaan tehdä lukuisia hypoteeseja ja testata niitä koneoppimisen ja datan avulla. Näin tiedetään, mitä merkkejä datasta kannattaisi myös etsiä ja voidaan optimoida ennustemallin suorituskykyä.

Olenkin tämän keissin myötä miettinyt paljon sitä, miten saada data-analyytikot, insinöörit ja designerit ymmärtämään toisiaan vielä paremmin. Ehkä meidän kannattaa soveltaa perinteistä käyttäjälähtöistä suunnitteluprosessia (user-centered design, UCD), jonka avulla opimme ymmärtämään ongelman paremmin ja vähintäänkin terävöittämään tavoiteasetantaa ja näkemystä, jonka pohjalta voimme prototypoida nopeasti hypoteeseja ja vaihtoehtoisia ratkaisuja (kuva 2).

Kuva 2: Design-prosessi

Kuva 2: Design-prosessi, jossa kaksi ensimmäistä vaihetta (Discover & Define) keskittyvät ongelman tunnistamiseen ja kaksi viimeistä vaihetta (Develop & Deliver) sen ratkaisemiseen. Tyypillinen virhe on keskittyä vain kahteen jälkimmäiseen vaiheeseen, jolloin saatetaan keskittyä ratkaisemaan väärää tai epärelevanttia ongelmaa.

 

Sen verran uudesta asiasta on kyse, ettei tälle poikkitieteelliselle suunnittelusuuntaukselle ei vielä ole edes omaa nimeä. Ehkä lähinnä voisi olla esimerkiksi Googlen käyttämä termi Human-Centered Machine Learning, jossa yhdistyy tässä postauksessa kuvaamallani tavalla datan avulla tehtävä tutkimus ja ihmisten tarpeet.

Uutta on innostava luoda! Varmaa on, että jatkossakin yhdistän projekteissa datan ja designin ja etsin tiimin kanssa uusia tapoja ylittää näiden osaamisalueiden rajat.

 

Kirjoittanut Jarkko Malviniemi

 

Haluatko jutella asiantuntijoidemme kanssa omien liiketoimintahaasteidesi ratkaisemisesta? Ota yhteyttä!

 

Kiinnostavaa luettavaa maailmalta aiheeseen liittyen:

Mitä seuraavaksi

Viimeisimmät projektimme

RoundZero – Dome-palvelun SDK

RoundZero – Dome-palvelun SDK

Mobiilipelien maailma on äärimmäisen kilpailtu ja pienet pelitalot etsivät kiihkeästi julkaisijaa peleilleen – niin kiihkeästi, että oululaisen peliyhtiö Fingersoftin sivuprojektista muodostui lopulta oma tytäryhtiönsä R...

Tulevat tapahtumat

Scrum Product Owner | 10.-11.12.2019

Scrum Product Owner

10.-11.12.2019

Scrum Product Owner -kurssi on kahden päivän kurssi, joka esittelee ketterän kehityksen käsitteet Scrum-kehyksen avulla. Kurssin avulla voi valmistautua esimerkiksi Professional Scrum Product Owner™ -sertifiointitestiin....
Sign up

Tilaa uutiskirje