Aihearkisto: Analysoi

Tilastoaineiston analysointi

Määrälliset muuttujat pivot-kaaviona

Päivitetty 9.12.2015

Olethan opetellut artikkelissa Pivot-kaaviot kuvatut toimet ennen tämän artikkelin lukemista?

Määrälliset muuttujat mittaavat määrää: euroja, vuosia, metrejä, kiloja jne.

Seuraavien esimerkkien aineistot ja pivot-taulukot löydät tiedostosta pivotchart3.xlsx.

Ryhmittely

Jos haluan laskea määrällisen muuttujan arvojen esiintymiskertoja, niin yleensä tarvitsen ryhmittelyä. Tarkastelen esimerkkinä ikäjakauman esittämistä. Esimerkkiaineistona käytän tiedoston pivotchart3.xlsx Data-aineistoa.

  • Valitsen yhden ja vain yhden solun aineiston alueelta.
  • Valitsen Insert-välilehdeltä PivotChart. Jos en vaihda Create PivotChart -ikkunan asetuksia, niin pivot-kaaviota varten muodostuu uusi taulukko (Sheet). Uudessa taulukossa ovat paikkavaraukset pivot-taulukolle ja pivot-kaaviolle.
  • Pivot-kaavion rakenteen määrittelen PivotChart Fields -kenttäluettelossa, joka on näkyvillä pivot-kaavion ollessa valittuna.
  • Raahaan ikä-muuttujan Values-ruutuun.
  • Vaihdan laskentaperusteeksi Sum sijasta Count.
  • Raahaan ikä-muuttujan Axis (Categories) -ruutuun.
  • Valitsen pivot-taulukosta solun, jossa on ensimmäinen ikä (20).
  • Valitsen Analyze-välilehdeltä Group Field (Ryhmän kenttä).

pivotkaavio11

  • Grouping-ikkunassa voin tarvittaessa vaihtaa Excelin ehdottamia ryhmittelyn aloituskohtaa, päättymiskohtaa ja ryhmävälin suuruutta.

Räätälöity ryhmittely

Edellä kuvaamallani Group Field -toiminnolla saan vain tasavälisiä ryhmittelyitä, joissa ryhmävälin suuruus on sama kaikissa ryhmissä. Seuraavassa määrittelen iälle ryhmittelyn 20-29, 30-39, 40-49, 50+. Jatkan suoraan edellisen esimerkin pivot-kaaviosta.

  • Poistan aiemman iän ryhmittelyn (valitsen pivot-taulukosta ensimmäisen ikäryhmän solun ja valitsen Analyze-Ungroup (Pura ryhmittely).
  • Valitsen pivot-taulukosta solut, joissa on iät 20-29.
  • Valitsen Analyze-Group Selection (Ryhmän valinta).
  • Valitsen pivot-taulukosta solut, joissa on iät 30-39.
  • Valitsen Analyze-Goup Selection.
  • Toistan edellä kuvattuja vaiheita kunnes kaikki ryhmät on luotu.

Excel nimeää ryhmät Group1, Group2, jne. Voin kirjoittaa nimien tilalle kuvaavammat nimet. Ryhmän nimen vieressä on -/+ -painike, josta voin piilottaa tai näyttää ryhmän yksityiskohtaiset tiedot.

Seuraavassa olen nimennyt ensimmäisen ryhmän 20-29 ja olen piilottanut kolmen ensimmäisen ryhmän yksityiskohtaiset tiedot. Huomaa, että pivot-kaavio näyttää tiedot sellaisena kuin ne ovat pivot-taulukossa.

pivotkaavio12

Itselläni on tapana tehdä ryhmittelyt etukäteen alkuperäiseen aineistoon. Lue lisää artikkelista Muuttujan arvojen ryhmittely ja muuttaminen.

Keskiarvo

Seuraavassa lasken palkkakeskiarvot koulutuksen mukaan:

  • Valitsen yhden ja vain yhden solun aineiston alueelta.
  • Valitsen Insert-välilehdeltä PivotChart. Jos en vaihda Create PivotChart -ikkunan asetuksia, niin pivot-kaaviota varten muodostuu uusi taulukko (Sheet). Uudessa taulukossa ovat paikkavaraukset pivot-taulukolle ja pivot-kaaviolle.
  • Pivot-kaavion rakenteen määrittelen PivotChart Fields -kenttäluettelossa, joka on näkyvillä pivot-kaavion ollessa valittuna.
  • Raahaan palkka-muuttujan Values-ruutuun.
  • Vaihdan laskentaperusteeksi Count sijasta Average.
  • Raahaan koulutus-muuttujan Axis (Categories) -ruutuun.
  • Siirrän pivot-taulukon Peruskoulu-solun 2. aste -solun yläpuolelle, jolloin koulutukset menevät koulutuksen pituuden mukaiseen järjestykseen.

Viimeistelyn jälkeen pivot-kaavio voisi näyttää seuraavalta:

pivotkaavio13

Vastausten lukumäärät (n) kirjoitin riviotsikoihin. Sain lukumäärät selville vaihtamalla hetkeksi laskentaperusteeksi Average sijasta Count.

Summa

Summa on käyttökelpoinen yhteenvetotapa esimerkiksi myyntitietojen yhteydessä. Seuraavassa käytän tiedoston pivotchart3.xlsx aineistoa Myynnit.

  • Valitsen yhden ja vain yhden solun aineiston alueelta.
  • Valitsen Insert-välilehdeltä PivotChart. Jos en vaihda Create PivotChart -ikkunan asetuksia, niin pivot-kaaviota varten muodostuu uusi taulukko (Sheet). Uudessa taulukossa ovat paikkavaraukset pivot-taulukolle ja pivot-kaaviolle.
  • Pivot-kaavion rakenteen määrittelen PivotChart Fields -kenttäluettelossa, joka on näkyvillä pivot-kaavion ollessa valittuna.
  • Raahaan Hinta-muuttujan Values-ruutuun. Laskentaperuste on valmiiksi Sum, koska jokaisella rivillä on arvo Hinta-muuttujalla.
  • Raahaan Myyjä-muuttujan Axis (Categories) -ruutuun.

Voin järjestää myyntisummat suuruusjärjestykseen valitsemalla Pivot-taulukon tai Pivot-kaavion pudotusvalikosta More Sort Options ja järjestämällä Sum of Hinta -mukaiseen järjestykseen. Viimeistelyn jälkeen pivot-kaavio voisi näyttää seuraavalta:

pivotchart21

Monivalinta pivot-kaaviona

Päivitetty 26.11.2015

Olethan opetellut artikkelissa Pivot-kaaviot kuvatut toimet ennen tämän artikkelin lukemista?

Monivalintakysymyksessä tarjotaan useita vaihtoehtoja, joista vastaaja voi valita useammankin kuin yhden. Jokainen monivalinnan vaihtoehto tallennetaan aineistoon omana sarakkeenaan. Jos vaihtoehto on valittu, niin aineistossa on arvo 1, muussa tapauksessa aineistoon voidaan jättää tyhjä kohta.

Seuraavassa käytän esimerkkinä kyselytutkimusaineistoa, jossa on kysytty työntekijän hyödyntämiä etuisuuksia: työterveyshuolto, lomaosake, kuntosali, hieroja. Esimerkkiaineisto ja pivot-kaaviot löytyvät tiedostosta pivotchart2.xlsx.

  • Valitsen yhden ja vain yhden solun aineiston alueelta.
  • Valitsen Insert-välilehdeltä PivotChart. Jos en vaihda Create PivotChart -ikkunan asetuksia, niin pivot-kaaviota varten muodostuu uusi taulukko (Sheet). Uudessa taulukossa ovat paikkavaraukset pivot-taulukolle ja pivot-kaaviolle.
  • Pivot-kaavion rakenteen määrittelen PivotChart Fields -kenttäluettelossa, joka on näkyvillä pivot-kaavion ollessa valittuna.
  • Raahaan työterveyshuolto-muuttujan Values-ruutuun.
  • Raahaan lomaosake-muuttujan Values-ruutuun.
  • Raahaan kuntosali-muuttujan Values-ruutuun.
  • Raahaan hieroja-muuttujan Values-ruutuun.

pivotkaavio7

Tässä vaiheessa lasketut arvot ovat pivot-taulukossa sarakkeittain, koska Excel on sijoittanut Values-palikan Legend (Series)-ruutuun. Pivot-kaaviossa tämä näkyy siten, että jokainen pylväs muodostaa oman arvosarjansa ja näkyy omalla värillään.

  • Raahaan Legend (Series)-ruudun Values-palikan Axis (Categories)-ruutuun.
  • Kirjoitan pivot-taulukkoon monivalinnan vaihtoehtojen nimet nimien Count of työterveyshuolto jne. tilalle. Excel ei kelpuuta muuttujan nimenä esiintyvää työterveyshuolto pivot-taulukon riviotsikoksi, joten lisään nimen perään välilyönnin.

pivotkaavio9

Yleensä monivalinnan pylväät kannattaa järjestää pituusjärjestykseen.

  • Napsautan hiiren oikeaa painiketta jonkin pivot-taulukon lukumäärän päällä ja valitsen Sort – Sort Largest to Smallest.

Pienen viimeistelyn jälkeen pivot-kaavio voisi näyttää seuraavalta.

pivotkaavio10

Jos haluan tarkastella asiaa ryhmittäin esimerkiksi sukupuolen mukaan, niin voin vielä raahata ryhmittelevän muuttujan Legend (Series) -ruutuun.

Pivot-kaaviot

Päivitetty 5.2.2016

Tässä artikkelissa kirjoitan pylväskaavioista. Oletan, että osaat jo entuudestaan laatia ja muotoilla pylväskaavioita. Jollet osaa, niin opit perusasiat itseopiskelupaketista kaavio.xlsx.

Pivot-kaavioilla laadin nopeasti monipuolisia yhteenvetoja isosta aineistosta. Aineiston täytyy olla asianmukaiseen muotoon tallennettu artikkelin Tilastoaineiston tallentaminen mukaisesti. Tämän artikkelin esimerkeissä käytetyn aineiston ja pivot-kaaviot löydät tiedostosta pivotchart.xlsx.

Yksinkertainen pivot-kaavio

Tarkastelen pivot-kaaviota, josta näen kuinka moni työntekijä on kuinkakin tyytyväinen johtoon:

  • Valitsen yhden ja vain yhden solun aineiston alueelta.
  • Valitsen Insert-välilehdeltä PivotChart – PivotChart & PivotTable. Jos en vaihda Create PivotChart -ikkunan asetuksia, niin pivot-kaaviota varten muodostuu uusi taulukko (Sheet). Uudessa taulukossa ovat paikkavaraukset pivot-taulukolle ja pivot-kaaviolle.
  • Pivot-kaavion rakenteen määrittelen PivotChart Fields (Pivot-kaavion kentät) -kenttäluettelossa, joka on näkyvillä pivot-kaavion ollessa valittuna.
  • pivotkaavio1Raahaan tyytyväisyys johtoon -muuttujan Values-ruutuun. Excel laskee havaintojen lukumäärän (jos havaintoja puuttuu) tai havaintojen summan (jos jokaisella aineiston rivillä on havainto). Muuttujan tyytyväisyys johtoon -tapauksessa Excel laskee havaintojen summan. Muutan tämän lukumääräksi.
  • Napsautan Values-ruutuun raahaamaani palikkaa. Valitsen esiin tulevasta pudotusvalikosta Value Field Settings (Arvokentän asetukset).
  • Valitsen Value Field Settings -ikkunassa laskentaperusteeksi Count (Määrä) ja napsautan OK.

Tässä vaiheessa pivot-kaavion pylväs esittää havaintojen lukumäärän.

pivotkaavio2

Raahaan tyytyväisyys johtoon -muuttujan Axis (Categories) (Akseli) -ruutuun. Axis (Categories) on tarkoitettu kaavion luokka-akselin luokille. Tässä tapauksessa luokkia ovat muuttujan tyytyväisyys johtoon arvot 1, 2, 3, 4 ja 5. Arvojen sanalliset selitteet kirjoitan suoraan Pivot-taulukkoon numeroiden 1, 2, 3, 4 ja 5 tilalle.

Viimeistelyn jälkeen kaavio voisi näyttää seuraavalta:

pivotkaavio5

Tavallisista kaavioista poiketen pivot-kaaviossa on ylimääräisiä ”painikkeita”, joiden avulla voin lajitella ja suodattaa. Jos kaavio on valittuna, niin voin piilottaa ylimääräiset painikkeet valitsemalla Analyze-välilehdeltä Field Buttons – Hide All (Kenttäpainikkeet – Piilota kaikki).

Ryhmitelty pivot-kaavio

Jos raahaan sukupuoli-muuttujan Legend (Series) (Selite) -ruutuun, niin tuloksena on ryhmitelty pylväskaavio, jossa on erikseen arvosarja miehille ja naisille. Jos kaaviossa ei ole selitettä (Legend), joka selittää värien merkityksen, niin se kannattaa lisätä.

pivotkaavio4

Kun kaavio on valittuna, niin käytettävissä on Design (Rakenne) -välilehti. Kokeile Design-välilehden Switch Row/Column (Vaihda rivi tai sarake) -toimintoa. Seuraa muutoksia kenttäluettelossa, pivot-kaaviossa ja pivot-taulukossa niin opit ymmärtämään kaavion ja taulukon rakennetta.

Prosentteja lukumäärien sijasta

Jos haluan esittää lukumäärät prosentteina, niin napsautan oikean reunan kenttäluettelon Values-ruudun palikkaa ja valitsen esiin tulevasta valikosta Value Field SettingsValue Field Settings -ikkunasta valitsen Show Values As (Näytä arvot muodossa) -välilehden ja valitsen pudotusvalikosta esitystavaksi % of Column Total (Prosenttia sarakkeen summasta).

Pylväiden järjestys

Excel järjestää pivot-taulukon rivit ja pivot-kaavion pylväät luokkien mukaiseen numero/aakkosjärjestykseen. Voin vaihtaa järjestyksen pivot-taulukon Row Labels -pudotusvalikosta tai pivot-kaaviossa olevan painikkeen pudotusvalikosta (painike on näkyvillä, jollet ole piilottanut sitä Analyze – Field Buttons – Hide All -toiminnolla). Pudotusvalikon More Sort Options (Lisää lajitteluvaihtoehtoja) -valinnalla löydät tarjolla olevat vaihtoehdot:

  • Voit järjestää luokkien mukaiseen nousevaan tai laskevaan numero/aakkosjärjestyskeen.
  • Voit järjestää lukumäärien/prosenttien mukaiseen järjestykseen (eli pylväiden pituuden mukaiseen järjestykseen).

Jos haluat muunlaisen järjestyksen, niin voit siirtää hiirellä pivot-taulukon riviotsikoita riviltä toiselle. Jos esimerkiksi laadin pivot-kaavion koulutus-muuttujasta, niin luokkien mukainen numero/aakkkosjärjestys ei ole toivottu:

pivotkaavio6

Valitsen pivot-taulukosta solun, jossa on teksti Peruskoulu ja raahaan solun reunasta kiinni pitäen ensimmäiseksi, jonka jälkeen koulutukset ovat koulutuksen pituuden mukaisessa järjestyksessä.

Puuttuvat havainnot (blank)

Jos käytän koulutus-muuttujaa Values-ruudussa, niin pivot-taulukon ja pivot-kaavion (blank) viittaa puuttuviin havaintoihin. Puuttuvien havaintojen lukumäärä ei kuitenkaan ole näkyvillä.

Selitys: Excel laskee kuinka monta havaintoarvoa on koulutus-sarakkeen niissä soluissa, joista koulutus puuttuu. Vastaus on tietenkin: ei yhtään.

Ratkaisu: Käytän Values-ruudussa koulutus-muuttujan sijasta nro-muuttujaa (laskentatavaksi täytyy muuttaa sum sijasta count), jolla on havainto jokaisella rivillä.

Jos aineistossa ei ole valmiiksi juoksevaa numerointia, niin sellainen kannattaa lisätä. Tätä juoksevaa numerointia kannattaa käyttää pivot-kaavioiden Values-ruudussa jos olet laskemassa lukumääriä tai lukumääriin pohjautuvia prosentteja. Näin saan tietää myös puuttuvien havaintojen lukumäärän.

Seuraavaksi

Lue myös pivot-kaavioista kirjoittamani jatkoartikkelit:

Spearmanin järjestyskorrelaatio

Päivitetty 10.3.2015

Järjestysasteikollisille muuttujille korrelaationa käytetään nimenomaan Spearmanin järjestyskorrelaatiota. Ennen Spearmanin järjestyskorrelaation laskemista muuttujien arvot täytyy muuntaa sijaluvuiksi.

Jos muuttujien arvot ovat sijalukuja, niin niiden välinen korrelaatiokerroin lasketaan samoin kuin Pearsonin korrelaatiokerroin (lue lisää artikkelista Korrelaatio ja sen merkitsevyys), mutta sitä kutsutaan Spearmanin järjestyskorrelaatiokertoimeksi.

  • Positiivinen järjestyskorrelaatiokerroin merkitsee sitä, että järjestykset ovat jossain määrin samansuuntaiset. Järjestyskorrelaatiokerroin 1 tarkoittaa sijalukujen täsmälleen samaa järjestystä.
  • Negatiivinen järjestyskorrelaatiokerroin merkitsee sitä, että järjestykset ovat jossain määrin vastakkaiset. Järjestyskorrelaatio -1 tarkoittaa sijalukujen täsmälleen vastakkaista järjestystä.

Järjestysasteikollisille muuttujille korrelaationa käytetään nimenomaan Spearmanin järjestyskorrelaatiota. Ennen Spearmanin järjestyskorrelaation laskemista muuttujien arvot täytyy muuntaa sijaluvuiksi.

Sijaluvut

Excelissä voin laskea sijaluvut funktiolla RANK.AVG (ARVON.MUKAAN.KESKIARVO). Funktiolle annan kolme argumenttia:

  1. Viittaus muuttujan arvoon, jota vastaavan sijaluvun haluan laskea
  2. Viittaus kaikkiin muuttujan arvoihin. Viittaus pitää kiinnittää (F4Excel Mac 2011: cmd-t), jos kopioin funktiota muihin soluihin.
  3. Kolmanneksi argumentiksi annan 1, jos haluan pienimmälle muuttujan arvolle pienimmän sijaluvun tai 0 jos haluan suurimmalle muuttujan arvolle pienimmän sijaluvun. Tällä ei ole vaikutusta Spearmanin järjestyskorrelaation arvoon.

Jos sama arvo esiintyy useasti, niin sijaluvuksi tulee sijalukujen keskiarvo. Seuraavassa taulukossa arvo 7 esiintyy sijaluvuilla 5, 6 ja 7. Jaetuksi sijaluvuksi tulee sijalukujen keskiarvo (5+6+7)/3=6.

spearma1

Sijalukujen laskeminen onnistuu vaikka arvot eivät olisikaan suuruusjärjestyksessä.

Korrelaatio

Sen jälkeen kun olen laskenut muuttujan arvoille sijaluvut, voin laskea sijalukujen välisen korrelaation CORREL (KORRELAATIO) -funktiolla. Funktion ensimmäiseksi argumentiksi annan viittauksen ensimmäisen muuttujan sijalukuihin ja toiseksi argumentiksi viittauksen toisen muuttujan sijalukuihin.

Korrelaation merkitsevyys

Jos aineisto pohjautuu laajemmasta perusjoukosta satunnaisesti valittuun otokseen, niin tietyin edellytyksin voin yleistää otoksen tuloksia perusjoukkoon. Järjestyskorrelaation tapauksessa tämä tarkoittaa sijalukujen välisen korrelaation yleistämistä perusjoukkoon.

Pienet korrelaatiot voin selittää otantavirheellä. Otoksessa havaitun korrelaation täytyy olla riittävän suuri, jotta voin yleistää sen perusjoukkoon. Suuruutta testaan vertaamalla korrelaatiokerrointa hypoteettiseen tilanteeseen, jossa ei ole lainkaan korrelaatiota (korrelaatiokerroin on 0). Jos otoksesta laskettu korrelaatiokerroin poikkeaa riittävästi nollasta, niin voin kutsua korrelaatiota tilastollisesti merkitseväksi.

Korrelaatiokertoimen merkitsevyyden testaamiseksi lasketaan niin kutsuttu p-arvo, joka vastaa seuraavaan kysymykseen: kuinka todennäköistä on saada havaitun suuruinen tai vielä kauempana nollasta oleva korrelaatiokertoimen arvo ilman että korrelaatiota on perusjoukossa? Mitä pienempi p-arvo on sitä enemmän korrelaation yleistäminen perusjoukkoon saa tukea.

Vakiintuneen tavan mukaisesti alle 0,05 (5 %) suuruista p-arvoa pidetään riittävänä näyttönä perusjoukossa esiintyvän korrelaation puolesta.

Jos haluat tietää p-arvon laskentaperusteesta, niin lue artikkeli Korrelaatio – lisätietoa.

Voit käyttää p-arvon laskemiseen valmista laskentapohjaa testaa_korrelaatio.xlsx. Kirjoita laskentapohjaan otoskoko ja korrelaatiokerroin, jonka jälkeen voit lukea p-arvon. Käytä 2-suuntaista p-arvoa, jos testaat sitä onko korrelaatio nollasta poikkeava. Käytä 1-suuntaista p-arvoa, jos testaat pelkästään korrelaation positiivisuutta tai pelkästään korrelaation negatiivisuutta. Huomaa, että laskentapohjassa on erillinen taulukko pieniä otoskokoja (alle 30) varten.

SPSS

SPSS:llä on helpompaa laskea Spearmanin järjestyskorrelaatiot, koska SPSS määrittää sijaluvut automaattisesti, kun määrität laskettavaksi Spearmanin järjestyskorrelaatiokertoimen. SPSS laskee automaattisesti myös p-arvon ja huomioi pieniin otoksiin liittyvän poikkeavan laskentatavan. Lue lisää SPSS-monisteesta.

Logistinen regressio 2

Päivitetty 5.6.2014

Tämä artikkeli on jatkoa artikkeliin Logistinen regressio.

Askeltava (Stepwise) menetelmä

Selittäviä muuttujia ei pidä ottaa logistiseen regressiomalliin enempää kuin on tarpeellista. Paras tilanne on, jos tiedän mukaan otettavat selittävät muuttujat aiempien aineistojen tai teorian kautta. Jos aiempaa tietoa tai teoriaa ei ole, niin voin käyttää apuna askeltavaa (Stepwise) menetelmää.

SPSS tarjoaa askellukseen Forward– ja Backward-menetelmiä.

Forward-menetelmässä SPSS aloittaa mallista, joka sisältää pelkästään vakiotermin. SPSS lisää malliin selittäviä muuttujia yksi kerrallaan. Lisättävä muuttuja on se, joka lisää eniten mallin selitysvoimaa. Uuden muuttujan lisäämisen jälkeen SPSS tarkistaa, pitäisikö jokin malliin jo lisätyistä muuttujista poistaa. Forward LR -menetelmässä poistamisen kriteerinä käytetään log-likelihoodia. Jos muuttujan poistaminen ei muuta merkitsevästi mallin log-likelihoodia, niin SPSS poistaa muuttujan mallista. Muuttujien lisääminen lopetetaan, kun mikään uusi muuttuja ei enää merkittävästi paranna mallin selitysvoimaa.

Backward-menetelmässä otetaan ensimmäiseen malliin mukaan kaikki ehdokkaat. Tämän jälkeen selittäviä muuttujia poistetaan mallista yksi kerrallaan. Backward LR -menetelmässä poistamisen kriteerinä käytetään log-likelihoodia. Jos muuttujan poistaminen ei muuta merkitsevästi mallin log-likelihoodia, niin SPSS poistaa muuttujan mallista. Muuttujien poistaminen lopetetaan, kun minkä tahansa muuttujan poistaminen heikentää merkittävästi mallin selitysvoimaa.

Käytännössä Forward– ja Backward-menetelmien tuottamat mallit usein poikkeavat toisistaan. Menetelmän ja lopullisen mallin valinnassa kannattaa käyttää tapauskohtaista harkintaa.

Esimerkki

Käytän seuraavassa SPSS-muotoista aineistoa logit2.sav. Aineiston lähde ja tarkempi kuvaus: http://logisticregressionanalysis.com/303-what-a-logistic-regression-data-set-looks-like-an-example/

Suoritan laskennan SPSS:llä:

  • Valitsen Analyze – Regression – Binary Logistic.
  • Siirrän selitettävän muuttujan Dependent-ruutuun.
  • Siirrän selittävät muuttujat Covariates-ruutuun.
  • Valitsen Method-alasvetovalikosta menetelmän; tässä esimerkissä Forward LR.
  • Valitsen OK.

logit4

SPSS:n tulosteissa otsikon Block 0 alla on tiedot mallista, jossa on mukana pelkästään vakiotermi. Askeltavan menetelmän vaiheet ja lopullisen mallin löydän otsikon Block 1 alta.

Omnibus-taulukon Model-rivin Chi-square-sarake kertoo kuinka paljon -2 Log likelihood (-2 Log likelihoodista lisää artikkelissa Log likelihood) on muuttunut verrattuna edeltävään malliin. Tämä muutos noudattaa khiin neliö -jakaumaa, jonka perusteella saadaan muutoksen merkitsevyys (Sig.). Esimerkissämme jokainen malliin lisätyistä viidestä selittävästä muuttujasta on parantanut mallia merkitsevästi (Sig.<0,001).

logit5

Variables in the Equation -taulukosta näen malliin lisätyt muuttujat.

logit6

Osa aineistosta testiaineistona

Data mining -tyyppisessä analyysissä analysoidaan usein isoja aineistoja. Ison aineiston tapauksessa mallin sopivuutta voidaan testata laskemalla malli osalle aineistosta ja testaamalla kuinka hyvin malli sopii lopulle aineistolle. Tätä varten voin lisätä SPSS-aineistoon ylimääräisen muuttujan, joka erottelee aineiston kahteen osaan:

  • osa, jonka perusteella lasketaan malli
  • osa, jolla testataan lasketun mallin sopivuutta.

Voin lisätä ylimääräisen muuttujan SPSS:n Transform – Compute Variable -toiminnolla:

  • Valitsen Transform – Compute Variable.
  • Kirjoitan uudelle muuttujalle nimen Target Variable -ruutuun.
  • Kirjoitan Numeric Expression -ruutuun funktion RV.BERNOULLI(0.5).
  • Valitsen OK.

Näin laskettu uusi muuttuja saa satunnaisesti arvoja 0 ja 1 siten, että puolet on nollia ja puolet ykkösiä. Voin lisätä tämän muuttujan Logistic Regression -määrittelyikkunassa Selection Variable -ruutuun (olen antanut muuttujalle nimeksi Random). SPSS:lle täytyy kertoa Rule-painikkeella, mille muuttujan arvoille lasketaan logistinen regressio. Seuraavassa olen laskemassa logistista regressiota niiden rivien pohjalta, joissa Random-muuttujan arvo on 1.

logit7

Tulosteiden joukossa on muiden muassa Classification Table, josta näen kuinka hyvin malli ennustaa Buy-muuttujan arvoja. Lopullisessa mallissa (Step 4) malli ennustaa ostaneista (Buy=1) 75 % oikein. Aineiston toisessa puolikkaassa malli ennustaa ostaneista (Buy=1) 80,5 % oikein. Ainakin tässä mielessä malli näyttäisi toimivan hyvin.

logit8

Jos kokeilet yllä kuvattua esimerkkiaineistolla, niin voit hyvinkin päätyä erilaiseen malliin, koska aineisto voi olla eri tavalla jaettu kahteen osaan.

Kaiken kaikkiaan on kiusallista ja hämmentävää, koska samalla aineistolla voin päätyä eri menetelmillä erilaisiin malleihin. Mallin valinnassa täytyy käyttää tilannekohtaista harkintaa.

 

 

 

Logistinen regressio

Päivitetty 5.6.2014

Mistä on kyse?

Esimerkki. Lomaosakkeita myyvä yritys tarjoaa huippuhalvan viikonlopun kylpylässä lomaosakkeen esittelyyn osallistuville. Tarjous kannattaa kohdistaa henkilöille, joiden todennäköisyys lomaosakkeen ostoon on tavanomaista suurempi. Aiempien esittelyiden ja toteutuneiden kauppojen perusteella voidaan laatia malli, jolla lasketaan taustatietojen perusteella henkilön todennäköisyys lomaosakkeen ostoon.

Esimerkki. Luottoriskin arvioimiseksi pankin on hyvä tietää kuinka todennäköisesti luotonottajalle tulee maksuhäiriöitä. Aiempien maksuhäiriöiden perusteella voidaan laatia malli, jolla lasketaan taustatietojen perusteella luotonottajan todennäköisyys maksuhäiriöille.

Esimerkki. Lääkäri diagnosoi sairauden. Aiempien potilaiden potilastietojen perusteella voidaan laatia malli, jolla lasketaan potilaan parantumisen todennäköisyys.

Edellä kuvatuissa esimerkeissä voidaan käyttää todennäköisyyden arviointiin logistista regressiota. Logistista regressiota voidaan käyttää, jos ennustettavana on kategorinen muuttuja: ostaa tai ei osta, tulee maksuhäiriöitä tai ei tule, paranee tai ei parane. Selittävinä muuttujina voi olla sekä määrällisiä että kategorisia muuttujia.

Ilman käsitteiden odds ja logit ymmärtämistä logistista regressiota ei voi ymmärtää, joten aloitan niistä.

Odds

Odds-käsitteelle ei valitettavasti ole vakiintunutta suomennosta. Monet sanakirjat antavat suomennokseksi todennäköisyys, mutta odds on tarkkaan ottaen todennäköisyyksien suhde. Suomennoksia veto, vedonlyöntisuhde ja riski näkyy käytettävän. Minä käytän seuraavassa sekaannuksien välttämiseksi englanninkielistä termiä odds.

Jos tapahtuman todennäköisyys on p, niin odds tapahtuman puolesta:

odds = p / (1-p)

Jos odds on tiedossa, niin yllä olevasta kaavasta voin ratkaista todennäköisyyden:

p = odds / (odds+1)

Esimerkki. Nopanheitossa todennäköisyys saadaa kuutonen on yksi kuudesta (1/6) ja todennäköisyys olla saamatta kuutosta on viisi kuudesta (5/6). Odds on todennäköisyyksien suhde:

  • Odds kuutosen puolesta = (1/6)/(5/6)=1/5=0,2
  • Odds kuutosta vastaan = (5/6)/(1/6)=5

Logit

Edellisen nopanheittoesimerkin odds 0,2 kuutosen puolesta ja 5 kuutosta vastaan kuvaavat samaa tilannetta eri näkökulmista. Tämä ilmenee jännästi, jos otan logaritmit:

  • ln(0,2) ≈ -1,609
  • ln(5) ≈ 1,609

Jatketaan nopanheitolla ja tarkastellaan todennäköisyyttä saada parillinen silmäluku. Todennäköisyys on 1/2 ja odds on (1/2)/(1/2)=1. Tässä tapauksessa logaritmi on ln(1)=0.

ln(odds) on niin hyödyllinen, että sille on annettu oma nimi logit:

logit = ln (odds)

Logitilla on muiden muassa seuraavat ominaisuudet:

  • Jos todennäköisyys on 50 %, niin logit = 0.
  • Jos todennäköisyys on alle 50 %, logit on negatiivinen. Logit on sitä enemmän negatiivinen mitä pienempi todennäköisyys.
  • Jos todennäköisyys on yli 50 %, niin logit on positiivinen. Logit on sitä enemmän positiivinen mitä isompi todennäköisyys.

Jatkoa ajatellen on hyvä oppia miten logitista päästään takaisin oddsiin. Tässä tarvitaan luonnollisen logaritmin käänteistoimitusta (e on luonnollisen logaritmin kantaluku eli Neperin luku):

odds=eln(odds)=elogit

Edellä jo totesin, että oddsista saadaa todennäköisyys laskemalla odds/(odds+1). Yhdistämällä tämä tulos äskeiseen, saadaan muunnoskaava logitista todennäköisyyteen:

p = elogit/(1+elogit)

Logistinen regressio

Seuraavassa esimerkkinä käytettävä aineisto SPSS-muodossa logit1.sav (aukeaa vain SPSS:llä) ja Excel-muodossa logit1.xlsx. Kiinnostuksen kohteena on Buy (1=osti, 2=ei ostanut). Seuraavassa on näkyvillä aineiston ensimmäiset rivit:

likelihood1

Selittävinä muuttujina ovat income (tulot), isfemale (1=nainen, 0=mies) ja ismarried (1=naimisissa, 0=naimaton). Otetaan tavoitteeksi laatia malli, jonka avulla voidaan ennustaa oston todennäköisyys muuttujien income, isfemale ja ismarried perusteella.

Logistinen regressiomalli on lineaarinen regressiomalli, jossa selitettävänä muuttujana on logit (todennäköisyyttä ei sellaisenaan saada sovitettua lineaariseen malliin). Esimerkkiaineiston tapauksessa pyrimme muodostamaan mallin

logit = b0+b1*income + b2*isfemale + b3*ismarried

Mallin parametrit (b0, b1, b2, b3) määritetään maximum likelihood eli suurimman uskottavuuden -menetelmällä. Mallin käyttäjän ei välttämättä tarvitse ymmärtää maximum likelihood -menetelmän yksityiskohtia, mutta seuraavat perusideat on hyvä tuntea:

  • Parametreille annetaan arvauksena alkuarvot.
  • Lasketaan todennäköisyys sille, että havaittu data saataisiin näillä parametrien arvoilla.
  • Korjataan parametreja siten että päästään parempaan tulokseen.
  • Korjauksia tehdään, kunnes päästään parhaaseen mahdolliseen tulokseen. Paras mahdollinen tulos on se, johon liittyy suurin mahdollinen todennäköisyys sille, että havaittu data saataisiin valituilla parametrien arvoilla.

Esimerkkiaineisto maximum likelihood -menetelmä antaa malliksi:

logit = -12,033 + 0,00016742*income + 1,3653*isfemale + 1,3804*ismarried

Esimerkiksi 50000 ansaitsevan naimattoman naisen logit:

logit = -12,033 + 0,00016742*50000+1,3653*1+1,3804*0 ≈ -2,2967

Edellä jo opimme, että logit voidaan muuntaa todennäköisyydeksi p = elogit/(1+elogit). Näin esimerkiksi 50000 ansaitsevan naimattoman naisen todennäköisyys ostolle:

p = e-2,2967/(1+e-2,2967) ≈ 0,09 = 9 %

SPSS ja logistinen regressio

Voin suorittaa laskennan SPSS:llä seuraavasti:

  • Valitsen Analyze – Regression – Binary Logistic.
  • Siirrän selitettävän muuttujan Dependent-ruutuun.
  • Siirrän selittävät muuttujat Covariates-ruutuun.

logisticregression1

SPSS:n tulosteissa on kaksi mallia. Otsikon Block 0 alta löydän tiedot mallista, jossa on ainoastaan vakiotermi b0, mutta ei lainkaan selittäviä muuttujia. Tämä malli on mukana vertailun vuoksi.

logisticregression2

Tulosteesta voin lukea, että vakiotermi on -1,478. Tämä tarkoittaa mallia logit=-1,478. Tällöin todennäköisyys p = e-1,478/(1+e-1,478) ≈ 0,1857. Tämä on sama kuin aineistossa niiden osuus, jotka ovat ostaneet (125/673≈0,1857). Pelkästään vakiotermin sisältävä malli siis antaa ostamisen todennäköisyydeksi ostaneiden osuuden. Koska ostaneiden osuus on alle 50 %, niin mallin mukaan ennuste on aina ”ei osta”. Tällainen ennuste osuu kohdalleen 81,4 prosentissa tapauksista (548/673≈0,814).

Varsinaisen selittäviä muuttujia sisältävän mallin tiedot löydän otsikon Block 1 alta. Ensiksi arvioin mallin hyvyyttä verrattuna malliin, jossa on vain vaikiotermi. Hyvyyttä voin arvioida Omnibus-taulukon Model-riviltä. Chi-square-sarake kertoo kuinka paljon -2 Log likelihood (-2 Log likelihoodista lisää artikkelissa Log likelihood) on muuttunut verrattuna pelkästään vakiotermin sisältävään malliin. Tämä muutos noudattaa khiin neliö -jakaumaa, jonka perusteella saadaan muutoksen merkitsevyys (Sig.). Esimerkissämme selittävät muuttujat sisältävä malli on merkitsevästi parempi (Sig.<0,001) kuin pelkästään vakiotermin sisältävä malli.

logit3

Model Summary -taulukosta löydän -2 Log likelihood -arvon lisäksi kaksi R2-arvoa (lisätietoa artikkelissa Log likelihood), jotka yrittävät jäljitellä lineaarisen regressiomallin selityskerrointa. Näiden lisäksi on esitetty monia muita tapoja laskea R2-arvo. Yksimielisyyttä parhaasta laskentatavasta ei ole, minkä vuoksi R2-arvojen käyttö ja tulkinta on hankalaa. Aina kuitenkin pätee seuraava: mitä lähempänä R2-arvo on ykköstä sitä parempi.

Classification-taulukosta selviää, että malli ennustaa 95,8 % ei ostaneista oikein ja 84,8 % ostaneista oikein. Tässä mielessä malli vaikuttaa onnistuneelta.

logit2

Variables in the Equation -taulukko sisältää regressiokertoimet. Income-kerroin (B) ,000 ei tarkoita, että tuloilla ei olisi mitään vaikutusta ostamiseen. Jos lisään desimaalien määrää kyseisessä solussa, niin huomaan kertoimen poikkeavan nollasta.

logit1

Varmistan aina, että regressiokertoimet poikkeavat merkitsevästi nollasta. Tämä selviää Wald’in testimuuttujan avulla. Wald’in testimuuttuja saadaan jakamalla kerroin B keskivirheellään S.E. ja korottamalla tulos toiseen potenssiin. Wald’in testimuuttujan tiedetään noudattavan khiin neliö -jakaumaa, jonka perusteella merkitsevyys (Sig.) voidaan laskea. Esimerkissämme kaikki kertoimet poikkeavat merkitsevästi nollasta (Sig.<0,001), joten kaikki selittävät muuttujat voidaan tämän perusteella pitää mallissa mukana.

Malli on siis esimerkkimme tapauksessa (olen ottanut desimaaleja hieman enemmän Variables in the Equation -taulukossa oli näkyvillä):

logit = -12,033 + 0,00016742* income + 1,3653*isfemale + 1,3804*ismarried

Mallin parametrit (kertoimet) voidaan tulkita kuten lineaarisessa mallissa yleensäkin. Esimerkiksi income-kerroin 0,00016742 kertoo, että yhden euron lisäys tuloihin merkitsee 0,00016742 kasvua logitissa. Tämä ei kuitenkaan ole kovinkaan käyttökelpoinen tieto, koska logit on hieman hankala käsite ymmärrettäväksi.

Variables in the Equation -taulukossa on hieman helpommin tulkittavat muunnetut kertoimet Exp(B)-sarakkeessa. Exp(B)-sarakkeen kertoimet kertovat kuinka moninkertaisksi odds muuttuu, kun selittävä muuttuja kasvaa yhdellä yksiköllä.

  • Jos tulot kasvat yhdellä eurolla, niin odds kasvaa 1,0001674 kertaiseksi.
  • Naisilla odds on 3,917-kertainen miehiin verrattuna.
  • Naimisissa olevilla odds on 3,976-kertainen naimattomiin verrattuna.

Selittävien muuttujien valinta

Oma kysymyksensä on selittävien muuttujien valinta, jos ehdolla on paljon mahdollisia selittäviä muuttujia. Tästä lisää artikkelissa Logistinen regressio 2.

Log-likelihood

Päivitetty 25.5.2014

Tämä artikkeli täydentää artikkelia Logistinen regressio.

Logistisen regressiomallin laskenta ja sopivuuden arviointi perustuu log-likelihood -lukuun. Yritän tässä artikkelissa valottaa log-likelihood -luvun taustaa ja laskentaa.

Suurimman uskottavuuden menetelmä ja likelihood

Logistisen regressiomallin parametrit/kertoimet määritetään maximum likelihood eli suurimman uskottavuuden menetelmällä:

  • Parametreille annetaan arvauksena alkuarvot.
  • Lasketaan todennäköisyys (likelihood) sille, että havaittu data saataisiin näillä parametrien arvoilla.
  • Korjataan parametreja siten että päästään parempaan tulokseen (suurempi likelihood).
  • Korjauksia tehdään, kunnes päästään parhaaseen mahdolliseen tulokseen. Paras mahdollinen tulos on se, johon liittyy suurin mahdollinen todennäköisyys (maximum likelihood) sille, että havaittu data saataisiin valituilla parametreilla.

Likelihood’in laskenta

Käytän seuraavassa esimerkissä Excel-aineistoa logit1.xlsx, jonka alkuosan näet seuraavassa:

likelihood1

Artikkelissa Logistinen regressio olen esittänyt, miten tälle aineistolle lasketaan logistinen regressiomalli SPSS:llä. Esitän seuraavassa, miten likelihood ja log-likelihood lasketaan SPSS:n laskemalle regressiomallille. Laskennan olen suorittanut Excel-taulukkoon käyttäen SPSS:n antamia mallin parametreja, jotka olen kopioinut Exceliin. Excel käyttää koko ajan laskennassa 15 merkitsevän numeron tarkkuutta. Seuraavassa esittämäni laskelmat näyttävät vain pyöristettyjä likiarvoja.

Ensimmäisen vastaajan logit tulee suoraan regressiomallin yhtälöstä:

logit = -12,033 + 0,00016742*24000+1,3653*1+1,3804*0 ≈ -6,649

Logitista saadaan odds=elogit=e-6,649≈0,00129493

Ostamisen todennäköisyys on probability=odds/(1+odds)≈0,00129326

Likelihood on ostamisen todennäköisyys, jos kyseinen vastaaja on ostanut. Muussa tapauksessa likelihood saadaan vähentämällä ostamisen todennäköisyys ykkösestä. Ensimmäisen vastaajan tapauksessa

likelihood≈1-0,00129326≈0,99870674

Todennäköisyys, että kaikki havainnot ennustetaan oikein saadaan (todennäköisyyksien kertolaskusääntö) kertomalla likelihood’it keskenään. Isompien aineistojen tapauksessa tällainen kertolasku ei onnistu edes tietokoneelta. Niinpä onkin matemaattisesti mielekästä siirtyä tarkastelemaan likelihood’in logaritmia. Logaritmien käyttö mahdollistaa kertolaskun korvaamisen yhteenlaskulla, koska logaritmien laskusääntöjen mukaan tulon logaritmi saadaan logaritmien summana. Näin päästään log-likelihood -lukuun.

log-likelihood≈ln(0,99870674)≈-0,001294096

Muiden vastaajien log-likelihood lasketaan samalla periaatteella.

Likelihood on todennäköisyys, joten se saa arvoja väliltä [0,1]. Tästä seuraa, että log-likelihood saa negatiivisia arvoja tai arvon 0, jos likelihood=1. Mitä lähempänä nollaa log-likelihood on, sitä sopivampi malli.

SPSS:n ja myös muiden tilasto-ohjelmien tulosteissa ilmoitetaan log-likelihood kerrottuna luvulla -2. Tätä merkitään usein -2LL. Mitä pienempi -2LL on, sitä sopivampi malli on kyseessä.

Luvulla -2 kertominen tehdään, koska näin saadaan arvo, jonka muutoksen (verrattuna toiseen malliin) tiedetään noudattavan khiin neliö -jakaumaa. Khiin neliö -jakaumasta saadaan merkitsevyystaso (Sig.), jonka avulla voidaan arvioida mallin paremmuutta toiseen malliin verrattuna. Yleensä mallia pidetään merkitsevästi toista mallia parempana, jos Sig.<0,05.

Pseudo-selityskerroin

Logistisen regressiomallin selityskertoimen (R2) laskemiseksi on esitetty useita vaihtoehtoisia tapoja. Useimpien tapojen perustana on likelihood. Selityskertoimet eivät ole tulkinnallisesti yhtä konkreettisia kuin lineaarisen regression selityskerroin, joka ilmaisee kuinka suuren osan selitettävän muuttujan valihtelusta malli selittää. Logistisen regressiomallin selityskertoimia onkin tapana kutsua pseudo-selityskertoimiksi. SPSS esittää tulosteissaan Cox & Snell ja Nagelkerke -selityskertoimet:

likelihood2

Cox & Snell – selityskertoimen ongelma on, että se ei voi koskaan saavuttaa arvoa 1. Nagelkerke -selityskerroin on Cox & Snell -kertoimen korjattu versio, joka laajentaa mahdollisen arvoalueen arvoon 1 asti. Kertoimien laskentakaavat löydät esimerkiksi osoitteesta http://www.ats.ucla.edu/stat/mult_pkg/faq/general/Psuedo_RSquareds.htm. Kertoimien arvoille ei ole mitään täsmällistä tulkintaa. Kuitenkin aina pätee: mitä lähempänä R2-arvo on ykköstä sitä parempi.