Avainsana-arkisto: Selittävä analytiikka

Data-analytiikka Pythonilla

Päivitetty 21.9.2022

Data-analytiikka antaa vastauksia kysymyksiin

Data-analytiikka on tavoitteellista toimintaa: tavoitteena on vastata kysymyksiin. Data-analytiikan avulla vastataan monenlaisiin kysymyksiin:

  • Minkälainen ikäjakauma asiakkaillamme on?
  • Mihin toimintamme osa-alueisiin asiakkaamme ovat tyytymättömiä?
  • Onko asiakkaan iällä yhteyttä asiakastyytyväisyyteen?
  • Miten yrityksen työilmapiiri on muuttunut viime vuodesta?
  • Ketkä asiakkaistamme ovat vaarassa siirtyä kilpailijalle?
  • Keille tuotteen markkinointikampanja kannattaa suunnata?
  • Mikä mainosvaihtoehdoista tehoaa parhaiten kohderyhmään?
  • Mitä oheistuotteita verkkokaupasta ostaneella kannattaa tarjota?
  • Mikä on tuotteen ennustettu kysyntä ensi kuussa?
  • Liittyykö vakuutuskorvaushakemukseen vakuutuspetos?
  • Millä todennäköisyydellä laina-asiakas ei pysty maksamaan lainaansa takaisin?

Data

Tavoitteiden (kysymykset, joihin halutaan vastata) asettamisen jälkeen pitää selvittää minkälaista dataa tarvitaan. Data voi olla esimerkiksi:

  • Yrityksen tietokannoista löytyvää dataa (esimerkiksi CRM- ja ERP-järjestelmistä).
  • Erilaisten tiedontuottajien tarjoamaa ilmaista tai maksullista dataa.
  • Varta vasten kyselytutkimuksella tai kokeellisella tutkimuksella kerättyä dataa.
  • Erilaisten sensorien/mittalaitteiden mittaamaa dataa.

Blogissani rajoitun rakenteelliseen eli strukturoituun dataan. Rakenteellinen data on sellaista, joka voidaan tallentaa taulukkomuotoon. Yleisiä data-analytiikkaan sopivia tiedostomuotoja ovat pilkkueroteltu tekstimuoto (.csv) ja Excel-muoto (.xlsx). Tietokannoista data haetaan kyselyiden (sql kyselykieli) avulla. Nettikyselyohjelmista datan saa yleensä ulos pilkkuerotellussa tekstimuodossa tai Excel-muodossa.

Kun sopiva data on olemassa, niin datasta saadaan vastauksia kysymyksiin seuraavien vaiheiden kautta:

  • Datan valmistelu
  • Kuvaileva analytiikka
  • Selittävä analytiikka; selittävään analytiikkaan liittyy usein tilastollisen merkitsevyyden testaaminen: tilastollinen merkitsevyys kertoo, millä varmuudella otoksessa havaittuja eroja ja riippuvuuksia voidaan yleistää isompaan perusjoukkoon, josta otos on otettu.
  • Ennakoiva analytiikka; tähän käytetään yleensä koneoppimisen malleja.

Datan valmistelu

Datan valmistelulla tarkoitan datojen yhdistelyä, dataan tutustumista, datan siivoamista ja datan muunnoksia.

Datan valmistelu voi olla data-analytiikan aikaa vievin vaihe. Ensimmäiseksi kannattaa varmistaa datan taulukkomuotoisuus:

  • muuttujien nimet / kenttien nimet / sarakeotsikot ovat ensimmäisellä rivillä
  • datassa ei ole tarpeettomia tyhjiä rivejä tai sarakkeita
  • kuhunkin tilastoyksikköön/havaintoyksikköön liittyvät tiedot ovat yhdellä rivillä.

Datan valmistelu voi sisältää muiden muassa seuraavia:

  • Eri lähteistä peräisin olevien datojen yhdistely
  • Muuttujien uudelleen nimeäminen: jatkotoimet sujuvat sutjakkaammin, jos nimet ovat lyhyitä ja helposti tunnistettavia
  • Desimaalipilkkujen tarkistaminen: vaikka Suomessa desimaalipilkkuna käytetään pilkkua, niin Pythonissa täytyy käyttää pistettä
  • Päivämäärien muuntaminen päivämääriksi tunnistettavaan muotoon
  • Mittayksiköiden tarkistaminen ja tarvittavien muunnosten tekeminen
  • Puuttuvien arvojen käsittely: poistetaanko puuttuvia arvoja sisältävät rivit, korvataanko puuttuvat arvot jollain, miten puuttuvia arvoja merkitään
  • Uusien muuttujien laskeminen: esimerkiksi summamuuttuja useasta mielipidemuuttujasta, tilauksen hinta tilausmäärän ja yksikköhinnan avulla jne.
  • Arvojen luokittelu ja uudelleenkoodaaminen: esimerkiksi ikäluokat iän arvoista.

Kuvaileva analytiikka

Datan kuvailu voi sisältää seuraavia:

  • Lukumäärä- ja prosenttiyhteenvetojen laskeminen kategorisille muuttujille (frekvenssitaulukot)
  • Luokiteltujen jakaumien laskeminen määrällisille muuttujille
  • Tilastollisten tunnuslukujen laskeminen määrällisille muuttujille (keskiarvo, keskihajonta, viiden luvun yhteenveto)
  • Prosenttimuutosten laskeminen aikasarjoille
  • Aikasarjojen tarkastelu viivakaavioina
  • Liukuvien keskiarvojen esittäminen aikasarjojen yhteydessä.

Kuvailun tuloksia kannattaa visualisoida ja havainnollistaa hyvin viimeistellyillä taulukoilla ja kaavioilla.

Selittävä analytiikka ja tilastollinen merkitsevyys

Selittävä analytiikka voi sisältää seuraavia:

  • Tilastollisten tunnuslukujen vertailua eri ryhmissä
  • Kategoristen muuttujien riippuvuuden tarkastelua ristiintaulukoimalla
  • Määrällisten muuttujien välisten korrelaatioiden tarkastelua
  • Havaittujen erojen ja riippuvuuksien tilastollisen merkitsevyyden tarkastelua.

Jos käytetty data on otos isommasta perusjoukosta, niin tulokset kuvaavat otosta. Jos tarkoituksena on arvioida koko perusjoukkoa, niin otoksessa havaittujen erojen ja riippuvuuksien tilastollinen merkitsevyys kertoo, millä varmuudella eroja ja riippuvuuksia voidaan yleistää otoksesta perusjoukkoon.

Ennakoiva analytiikka ja koneoppiminen

Koneoppimisen malleilla voidaan luokitella (asiakkaat luottoriski-asiakkaisiin ja muihin, vakuutuskorvaushakemukset selviin tapauksiin ja petokselta haiskahtaviin, sähköpostiviestit roskapostiin ja kunnollisiin viesteihin jne.) ja ennakoida määrällisen muuttujan arvoja (käytetyn auton hinta, tuleva kysyntä jne.). Koneoppiminen perustuu siihen, että kone oppii käytettävän mallin parametrit olemassa olevasta datasta ja tämän jälkeen mallia voidaan soveltaa uuteen dataan.

Koneoppimisalgoritmit voidaan luokitella  seuraavasti:

  • Ohjattu oppiminen (supervised learning): Algoritmi opetetaan opetusdatalla (training data). Esimerkiksi roskapostisuodatin opetetaan sähköpostidatalla, jossa on erilaisia tietoja kustakin sähköpostiviestistä sekä tieto siitä oliko sähköpostiviesti roskapostia. Tämän datan perusteella muodostuu malli, jota käyttäen tulevista sähköpostiviesteistä voidaan tunnistaa roskapostiviestit.
  • Ohjaamaton oppiminen (Unsupervised learning): Esimerkiksi asiakkaiden jakaminen asiakassegmentteihin asiakastietojen perusteella.
  • Vahvistusoppiminen (Reinforcement learning): Algoritmi suorittaa toimia ja saa niistä palautetta palkkioiden ja rangaistusten muodossa. Algoritmi oppii saamistaan palkkioista ja rangaistuksista. Vahvistettua oppimista käytetään esimerkiksi robotiikassa.

Seuraavassa jaotellaan ohjattu ja ohjaamaton oppiminen edelleen alatyyppeihin:

mallit

Ohjattu oppiminen

Kohdemuuttuja kategorinen

Jos kohdemuuttuja (ennakoitava muuttuja) on kategorinen, niin kyseeseen tulevat luokittelua suorittavat algoritmit, esimerkiksi logistinen regressio tai päätöspuut.

Esimerkkejä, joissa on kategorinen kohdemuuttuja:

  • Roskapostisuodatin: kohdemuuttujana on tieto siitä, onko sähköpostiviesti roskapostia vai ei?
  • Lääketieteellinen diagnoosi: Kohdemuuttujana on tieto siitä, onko tutkitulla potilaalla tietty sairaus vai ei?
  • Vakuutuspetosten tunnistaminen: Kohdemuuttujana on tieto siitä, liittyykö korvaushakemukseen petos vai ei?

Kohdemuuttuja määrällinen

Jos kohdemuuttuja on määrällinen, niin kyseeseen tulevat regressiomallit ja aikasarjaennustamisen menetelmät. Esimerkkejä, joissa on määrällinen kohdemuuttuja:

  • Vanhan osakehuoneiston hinnan arviointi: Kohdemuuttujana on asunnon hinta.
  • Kysynnän ennustaminen aikaisemman kysynnän perusteella: Kohdemuuttujana on kysyntä.

Ohjaamaton oppiminen

Ohjaamattoman oppimisen algoritmi muodostaa mallin suoraan datasta (ei siis ole erillistä opetusdataa, jossa olisi valmiina kohdemuuttujan arvoja). Esimerkkinä asiakassegmenttien määrittäminen asiakasdatan pohjalta. Paljon käytetty algoritmi on k-means clustering.

Jos datassa on paljon muuttujia, jotka mittaavat osittain samoja asioita, niin datan rakennetta voidaan yksinkertaistaa yhdistämällä muuttujia uusiksi lasketuiksi muuttujiksi, joita on vähemmän kuin alkuperäisiä muuttujia. Tunnetuin algoritmi tähän tarkoitukseen on pääkomponenttianalyysi.

Data-analytiikkaa Pythonilla

Jos aiot käyttää Pythonia data-analytiikassa, niin aloita asentamalla Anaconda.

Tiekartat

Päivitetty 24.1.2020

Datoja jalostetaan ja analysoidaan, jotta saadaan käyttökelpoista, havainnollista ja ymmärrettävää tietoa päätöksenteon tueksi ja perusteluksi.

Analysoitavia datoja saadaan erilaisista lähteistä, esimerkiksi

  • mittalaitteilla mitattuja ilmansaasteiden pitoisuuksia
  • kyselylomakkeella kerättyjä mielipiteitä
  • kokeellisella tutkimusasetelmalla kerättyjä havaintoja
  • verkkosivuston käyttötilastoja
  • yrityksen tietokannasta poimittuja myyntitapahtumia
  • internetin tietokannoista löytyviä tilastoja.

Datoja jalostetaan ja analysoidaan, jotta saadaan käyttökelpoista, havainnollista ja ymmärrettävää tietoa päätöksenteon tueksi ja perusteluksi. Analysointiin käytetään samoja menetelmiä datan lähteestä riippumatta.

Analyysit aloitetaan muuttujakohtaisilla tarkasteluilla muuttuja kerrallaan (kuvaileva analytiikka). Joissain tapauksissa  muuttujakohtaiset tarkastelut riittävät, mutta yleensä analyyseissä edetään riippuvuuksien tarkasteluun (selittävä analytiikka). Yksinkertaisimmillaan  tarkastellaan kahden muuttujan välistä riippuvuutta. Jos toinen muuttujista on kategorinen, niin riippuvuuden sijasta voidaan puhua ryhmien vertailusta: kategorisen muuttujan arvot määräävät ryhmät, joiden välillä toisen muuttujan arvoja vertaillaan. Jos molemmat muuttujat ovat määrällisiä niin riippuvuutta voidaan kutsua korrelaatioksi ja sen voimakkuutta mitataan korrelaatiokertoimen avulla.

Edellä todetun perusteella voin jaotella perusanalyysit seuraavasti:

tiekartta1

Vaativammassa analyysissä käytetään monimuuttujamenetelmiä, joissa analysoidaan useamman muuttujan välisiä riippuvuuksia samanaikaisesti.

Seuraavassa luettelen kuhunkin analyysityyppiin liittyviä menetelmiä. Ryhmittelen menetelmät sen mukaan minkälaisille mitta-asteikoille ne sopivat. Käyttämäni mitta-asteikot ovat

  • Kategorinen: Muuttujan arvot luokittelevat havaintoyksiköt toisensa poissulkeviin kategorioihin/luokkiin. Tällaista mitta-asteikkoa kutsutaan myös luokitteluasteikoksi, nominaaliasteikoksi ja laatueroasteikoksi. Esimerkki: Henkilön ammatti.
  • Järjestysasteikollinen: Jos kategoriat/luokat voidaan asettaa yksikäsitteiseen suuruus, paremmuus tai muuhun järjestykseen, niin kyseessä on järjestysasteikko. Tällaista mitta-asteikkoa kutsutaan myös ordinaaliasteikoksi. Esimerkki: Hotelliluokituksessa hotellin saama tähtien määrä.
  • Määrällinen: Muuttujan arvot mittaavat mitattavan ominaisuuden määrää numeroasteikolla. Määrälliset muuttujat kattavat sekä välimatka-asteikolliset (intervalliasteikolliset) että suhdeasteikolliset muuttujat. Esimerkki: Henkilön kuukausipalkka.
  • Mielipideasteikko: Mielipideasteikko on järjestysasteikko, mutta monissa tapauksissa sen voidaan ajatella mittaavan mielipiteen, esimerkiksi tyytyväisyyden, määrää numeroasteikolla. Tällöin mielipideasteikko voidaan tulkita määrälliseksi ja määrällisille muuttujille soveltuvia menetelmiä voidaan käyttää. Esimerkki: Tyytyväisyys asiakaspalvelun ystävällisyyteen asteikolla 1-5 (1=erittäin tyytymätön, 5=erittäin tyytyväinen).

Yhden muuttujan tarkastelu

Datan analysoinnin aloitan muuttujakohtaisilla tarkasteluilla.

  • Kategorisille muuttujille lasken lukumäärä- ja prosenttitaulukot. Lukumäärä- ja prosenttitaulukosta käytetään myös nimityksiä yhteenvetotaulukko ja frekvenssitaulukko. Taulukoinneissa pääset hyvään alkuun lukemalla artikkelin Taulukointi.
  • Järjestysasteikollisille muuttujille voin lukumäärä- ja prosenttitaulukoiden lisäksi laskea viiden luvun yhteenvedon.
  • Määrällisille muuttujille lasken tunnuslukuina keskiarvon, keskihajonnan ja viiden luvun yhteenvedon. Tunnusluvuissa pääset hyvään alkuun lukemalla artikkelin Tunnuslukuja.

tiekart2

Mielipideasteikot (esimerkiksi 1-5, täysin eri mieltä – täysin samaa mieltä) ovat järjestysasteikoita, mutta tietyin varauksin voin käyttää keskiarvoa ja keskihajontaa. Voit lukea lisää artikkelista Mielipideasteikon keskiarvo.

Jos analysoitava data on otos laajemmasta perusjoukosta, niin kannattaa laskea prosenttiosuuksille ja keskiarvoille luottamusvälit. Luottamusväli ilmaisee epävarmuuden yleistettäessä prosenttiosuus tai keskiarvo laajempaan perusjoukkoon. Lisätietoa prosenttiosuuden luottamusvälistä artikkelissa Prosenttiosuuden luottamusväli ja keskiarvon luottamusvälistä artikkelissa Keskiarvon virhemarginaali.

Kahden ryhmän vertailu – riippumattomat ryhmät

Päädyn vertailemaan kahta ryhmää esimerkiksi seuraavissa tapauksissa:

  • Haluan verrata kyselytutkimusdatan perusteella miesten ja naisten mielipiteitä.
  • Haluan verrata kokeellisen tutkimuksen keinoin ovatko alkoholia nauttineiden reaktioaikojen keskiarvot samat kuin alkoholia nauttimattomien.

Jos mitattava muuttuja on kategorinen, niin vertaan lukumääriä ja/tai prosentteja ristiintaulukoimalla ryhmittelevän muuttujan ja mitattavan muuttujan. Hyvään alkuun ristiintaulukoinneissa pääset lukemalla artikkelin Ristiintaulukointi. Jos mitattava muuttuja on määrällinen, niin yleensä vertaan keskiarvoja. Myös mielipideasteikon tapauksessa voin tietyin varauksin verrata keskiarvoja. Lisätietoa artikkelissa Kahden riippumattoman otoksen vertailu.

tiekart3

Tarvittaessa voin testata ryhmien välisen eron merkitsevyyttä. Testaamisella varmistan, onko otoksessa havaittu ero niin suuri, ettei se voi aiheutua pelkästä otantavirheestä, vaan taustalla on ryhmien todellinen ero perusjoukossa. Lisätietoa artikkelissa Onko ryhmien välinen ero tilastollisesti merkitsevä.

Useamman ryhmän vertailu – riippumattomat ryhmät

Jos vertailtavia ryhmiä on useampia, niin järjestysasteikollisen ja määrällisen muuttujan tapauksessa testimenetelmät ovat erilaiset kuin kahden ryhmän vertailussa.

tiekart4

Lisätietoa testimenetelmistä artikkelissa Onko ryhmien välinen ero tilastollisesti merkitsevä.

Kahden ryhmän vertailu – riippuvat ryhmät

Kokeellisessa tutkimuksessa päädytään usein vertailemaan toisistaan riippuvia ryhmiä. Jos riippumattoman ja riippuvan ero ei ole sinulle selvä, niin lue artikkeli Riippumattomat vai riippuvat otokset.

tiekart5

Lisätietoa testimenetelmistä artikkelissa Onko ryhmien välinen ero tilastollisesti merkitsevä.

Useamman ryhmän vertailu – riippuvat ryhmät

Useamman riippuvan ryhmän vertailua tarvitaan lähinnä kokoeellisessa tutkimuksessa.

tiekart6

Lisätietoa testimenetelmistä artikkelissa Onko ryhmien välinen ero tilastollisesti merkitsevä.

Korrelaatio

Korrelaatio tarkoittaa kahden muuttujan välistä riippuvuutta.

  • Kategoristen muuttujien välistä korrelaatiota tarkastelen ristiintaulukoimalla. Tätä jo tarkastelin aiemmin ryhmien vertailun yhteydessä.
  • Jos toinen tai molemmat muuttujista ovat järjestysasteikollisia, niin voin laskea Spearmanin järjestyskorrelaation. Joissain tapauksissa Spearmanin järjestyskorrelaatio on sopiva menetelmä myös mielipideasteikollisille muuttujille. Järjestyskorrelaatiosta lisää artikkelissa Spearmanin järjestyskorrelaatio.
  • Jos molemmat muuttujat ovat määrällisiä, niin tarkastelen riippuvuutta hajontakaavioiden ja korrelaatiokertoimien avulla. Tästä lisää artikkelissa Korrelaatio ja sen merkitsevyys.

tiekart7

Tarvittaessa voin testata riippuvuuden/korrelaation merkitsevyyttä. Testaamisella varmistan, onko otoksessa havaittu riippuvuus/korrelaatio niin suuri, ettei se voi aiheutua pelkästä otantavirheestä, vaan taustalla on todellinen riippuvuus/korrelaatio perusjoukossa. Lisätietoa testaamisesta artikkelissa Korrelaatio ja sen merkitsevyys.

Mallit ja ennakoiva analytiikka

Edellä mainitut menetelmät sopivat kuvailevaan ja selittävään analytiikkaan. Tarvittaessa voidaan edetä pidemmälle:

  • Sovittamalla dataan havaittuja eroja ja riippuvuuksia selittäviä malleja.
  • Ennakoimalla tulevaa malleista laskettujen ennusteiden avulla.

Muuttujien mitta-asteikot vaikuttavat mallin valintaan:

  • Jos selitettävä muuttuja on määrällinen, niin kyseeseen tulevat erilaiset regressiomallit.
  • Jos selitettävä muuttuja on kategorinen, niin kyseeseen tulevat erilaiset luokittelumallit, esimerkiksi logistinen regressio.
  • Jos selitettävä muuttuja puuttuu, niin kyseeseen tulevat erilaiset klusterointimallit, esimerkiksi K-means klusterointi.