Avainsana-arkisto: Datan analysointi

Miksi Python?

Päivitetty 6.2.2024

Miksi vaivautua koodaamaan, koska datojen analysointiin sopivia valmisohjelmia (Excel, SPSS jne.) on olemassa? Seuraavassa muutamia Pythonin vahvuuksia:

  • Python kattaa kaikki data-analytiikan osa-alueet.
  • Jos sinulla ei ole aiempaa kokemusta koodauksesta, niin opit samalla koodaamaan yhdellä suosituimmista ohjelmointikielistä.
  • Python on ketterä ja toimii hyvin isojenkin datojen kanssa.
  • Perusasiat hoituvat helposti. Esimerkiksi komennolla data.describe() saat datan kaikkien muuttujien keskeisimmät tilastolliset tunnusluvut ja komennolla data.corr() saat datan muuttujien väliset korrelaatiot.
  • Kerran kirjoitettu koodi on aina suoritettavissa uudelleen. Voit analysoida rakenteeltaan samanlaisia datoja ilman koodin uudelleen kirjoittamista. Voit pienin muutoksin hyödyntää kerran kirjoitettua koodia uusien datojen kanssa.
  • Koodi toimii dokumentaationa tehdyistä analyyseistä. Voit milloin tahansa tehdä muutoksia koodiin ja suorittaa analyysit uudelleen.
  • Python tarjoaa monipuoliset mahdollisuudet tulosten graafiseen havainnollistamiseen.
  • Python on yleiskäyttöinen ohjelmointikieli ja sillä laskettuja tuloksia voit käyttää syötteenä muille ohjelmille.
  • Pythonilla voit automatisoida data-analytiikkaa.
  • Ohjemateriaalia ja esimerkkejä löytyy helposti netistä. Jos kohtaat ongelman, niin kirjoittamalla Googleen englanninkielisen kysymyksen löydät yleensä myös vastauksen (usein stackoverflow-sivustolta). Myös tekoäly (ChatGPT, Bard, Amazon Q jne.) osaa auttaa.
  • Python toimii samalla tavoin Windows-, Linux– ja MacOS-käyttöjärjestelmissä.
  • Python on ilmainen.
  • Pythonilla voit ohjelmoida ja automatisoida myös Exceliä.

Github – esimerkit omalle koneelle

Päivitetty 6.2.2024

Olen tallentanut esimerkkikoodeja Jypyter-muistioina githubiin. Esimerkit aukeavat selaimeen, josta voit halutessasi kopioida koodin pätkiä (solu kerrallaan) itsellesi. Kokonaisen Jupyter-muistion tallentaminen omalle koneelle Jupyter-muistiona ei välttämättä onnistu, mutta voit kloonata kokonaisen kansion omalle koneellesi:

  • Siirry osoitteeseen https://github.com/taanila
  • Valitse repository (kansio), jonka haluat kloonata (kaaviot, data, kuvaileva, selittava, aikasarjat, jne.)
  • Napsauta vihreää Code-painiketta ja valitse Download ZIP
  • Pura (Extract all) tallentamasi paketti omaan kotikansioosi (sinne, missä säilytät Python-koodejasi). Paketti purkautuu omaan kansioonsa (esimerkiksi kaaviot-master).

Kaikki esimerkit ovat tämän jälkeen avattavissa Jupyteriin.

Päivitän esimerkkejä aika ajoin. Tuoreimmat versiot saat käyttöösi suorittamalla yllä kuvatun kloonauksen uudelleen.

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.