Hajontakuvan “tärisyttäminen” SPSS:llä (jittering with SPSS)

Hajontakuvan (scatterplot) avulla kuvataan tavallisesti kahden muuttujan yhteisvaihtelua pisteinä kaksiulotteisella tasolla. Hajontakuvaa voi käyttää niin jatkuvien kuin kategoristenkin muuttujien visualisoinnissa. Erityisesti kyselyaineistoissa muuttujat ovat harvoin jatkuvia “ikää”, “tuloja”, tms. lukuun ottamatta. Likert-asteikolla kysyttyjen kysymysten välimatka-asteikollisuus tulee tylsällä tavalla esiin kuvattaessa muuttujien yhteisvaihtelua hajontakuvan avulla: kuvassa näyttäisi olevan vain muutama datapiste, vaikka todellisuudessa niitä voi olla useita satoja päällekkäin. Tällöin kuvan toiset pisteet voivat näyttää toisia tummemmilta, mutta yleiskuvaa yhteisvaihtelusta ei tällaisen visualisoinnin avulla saa (ks. alla olevassa kuvassa vasemmanpuoleista hajontakuvaa). Onneksi tähän yleiseen ongelmaan on olemassa kätevä ratkaisu, nimittäin kuvan datapisteiden tärisyttäminen (jittering).

Tärisyttäminen tarkoittaa sitä, että datapisteen sijaintiin lisätään hieman satunnaista kohinaa kummankin akselin suuntaisesti. Koska kohina kohdistuu kaikkiin datapisteisiin tasaisen satunnaisesti, efekti ei muuta itse vaihtelua, vaan tuo sitä paremmin näkyville; toistensa päälle sijoittuneet datapisteet pääsevät näkyviin (ks. kuvan kaksi oikeanpuoleista hajontakuvaa).

Kategorisen ja jatkuvan muuttujan hajontakuva tärisytettynä

Yllä olevassa kuvassa on kolme eri hajontakuvaa, joissa pystyakselilla kulkee koettu terveydentila 5-portaisella asteikolla ja vaaka-akselilla ikä (aineisto: ESS-Suomi, 2010). Ensimmäinen on selvästi välimatka-asteikollinen ja jälkimmäinen jatkuva muuttuja. Ensimmäisestä kuvasta on vaikeaa saada käsitystä muuttujien yhteisvaihtelusta, sillä kaikki datapisteet kasaantuvat riveiksi iän mukaan tereveydentila-muuttujan viidelle eri arvolle. Jälkimmäiset kaksi kuvaa ovat tärisytettyjä, jälkimmäinen voimakkaammin kuin ensimmäinen. Jälkimmäisistä kuvista näkyy selvästi, että ikä vaihtelee melko hajallaan kahden ylimmän terveydentila-arvon sisällä, kun suurin osa arvoista sijoittuu kategoriaan 4 ja trendi on hieman negatiivinen (koettu terveydentila alenee iän myötä). Saman toimenpiteen voi tehdä myös kahdelle kategoriselle muuttujalle, mikä auttaa hahmottamaan muuttujien vaihtelua toistensa eri luokissa. Tässä alla esimerkki sukupuolesta ja koetusta terveydentilasta.

Sukupuoli ja koettu terveydentila tärisytettyinä.

Viimeisessä esimerkissä (alla oleva kuva) on visualisoitu kaksi jatkuvaa muuttujaa, median käyttö -summamuuttuja ja vastaajan ikä. Tässäkin tapauksessa tärisyttäminen parantaa kuvien luettavuutta. Median käyttö -muuttuja ei ole aidosti jatkuva, vaan eri medioihin kulutetun ajan keskiarvosummamuuttuja, mistä johtuu muuttujan arvojen kerrostuminen ensimmäisessä hajontakuvassa.

Median käyttö ja ikä tärisytettyinä.

Tärisyttäminen SPSS:llä (commands for jittering with SPSS)

SPSS tarjoaa tärisyttämisen suorittamiseksi kaksi toimintoa, joihin pääsee käsiksi vain syntax-komentoikkunan kautta. Ensimmäinen on ohjelman vanhempiin versioihin suunniteltu IGRAPH-toiminto (esimerkeissä keskimmäiset hajontakuvat), joka voidaan suorittaa seuraavalla komennolla (lisää omien muuttujien nimet kohtiin “Y-” ja “X-variables”):

1
2
3
4
5
igraph
/Y= VAR(X-variable) TYPE = scale
/X1=VAR(Y-variable) TYPE=SCALE
/COORDINATE=VERTICAL
/SCATTER COINCIDENT=JITTER.

Suorittaessa tämän komennon SPSS (ver. 18) muistuttaa, että IGRAPH-toimintoa ei enää tueta, ja suosittelee siirtymistä GGRAPH-toimintoon. GGRAPH-toiminnosta löytyy tuki kategorisen hajontakuvan tärisyttämiselle, ja se voidaan piirtää seuraavan komennon avulla:

1
2
3
4
5
6
7
8
9
10
11
GGRAPH
/GRAPHDATASET NAME="DataSet1" VARIABLES= X-variable Y-variable
/GRAPHSPEC SOURCE=INLINE.
BEGIN GPL
SOURCE: s = userSource(id("DataSet1"))
DATA: Ikä=col(source(s), name("X-variable"), unit.category())
DATA: Y-variable=col(source(s), name("Y-variable"), unit.category())
GUIDE: axis(dim(2), label("Y-variable"))
GUIDE: axis(dim(1), label("X-variable"))
ELEMENT: point.jitter(position(X-variable*Y-variable))
END GPL.

Harmillisesti en ainakaan itse ole löytänyt GGRAPH:sta toimintoa, joka tukisi myös muiden kuin “kategoristen hajontakuvien” tärisyttämistä. Tämä aiheuttaa sen, että kuvien käsittely Output-ikkunassa on ennalta rajattu kategorisia muuttujia varten,  ja esimerkiksi regressiosuoran lisääminen kuvaan pitää tehdä syntax-koodin kautta:

1
ELEMENT: line(position(smooth.linear(X-variable*Y-variable)))

GGRAPH tarjoaa sentään jonkinlaisen tavan määritellä, miten datapisteiden uuden sijainnin arvonta tapahtuu. Muokkaamalla riviä ELEMENT: point.jitter(position(X-variable*Y-variable)), voidaan määrittää mitä jakaumaa arvonta noudattaa – vakiovaihtoehdon olleessa tasajakauma. Lisätietoa löytyy SPSS:n helpistä hakusanalla “jittering”. Julkaistaessa tärisytettyjä kuvia niiden oheen on tapana liittää näkyville tieto tärisyttämisestä.

Postaus on julkaistu alun perin 4.7.2013.

Leave a comment

Your email address will not be published. Required fields are marked *