CLT255: Kuudes materiaalierä

Havaintomatriiseista

Aiemmissa esimerkeissä on opittu lukemaan taulukkolaskimella tms. luotu tiedosto R:ään käsiteltäväksi joko read.table("tiedostonnimi") -komennolla (jos arvoja on erotettu välilyönneillä tai sarkainmerkeillä tai read.csv() -komennolla (jos arvot on erotettu toisitaan pilkuilla ja desimaaleja erotetaan pisteellä) tai sitten read.csv2() -komennolla (jos arvoja erotetaan toisistaan puolipisteellä ja desimaaliosaa pilkulla).

Ohjelman sisäisesti havaintomatriisi on ns. data frame -tyyppiä. Joskus olisi tarpeen tehdä tällainen havaintomatriisi R:n sisällä lasketuista muuttujista. Se onnistuu komennolla hm <- data.frame(Muuttuja1, Muuttuja2, ...) missä funktion parametreina (Muuttuja1, ...) on keskenään yhtä pitkiä vektoreita, jotka toimivat muuttujina. Havaintomatriisissa näiden vektorien nimet toimivat muuttujien niminä.

Tällainen tai mikä tahansa R:ssä oleva havaintomatriisi voidaan tulostaa komennolla write.table(hm, file="havmat.txt", sep=" ") tai write.csv(hm, file="havmat.txt") tai write.csv2(hm, file="havmat.txt") sen mukaan, minkä muotoiseksi tiedosto halutaan tulostaa (välilyönneillä, pilkuilla vaiko puolipisteillä erotettuina arvoina).

Tilastollisen käsittelyn perusasetelmia

Tilastollinen testaus perustuu siihen, että havainnoista (siis havaintomatriisista) lasketaan tiettyjä suureita, joiden jakautumasta meillä on tietoa, ainakin tiettyjen oletusten vallitessa. Oletetaan, että meillä esimerkiksi olisi tuotantoprosessi, jossa tehdään lakritsipatukoita ja että pidemmän ajan kuluessa on todettu, että patukoiden koolla on tietty toivottu keskiarvo. Yksittäisten patukoiden kokojen on myös havaittu noudattavan normaalijakautuma tuolla keskiarvolla ja tietyllä hajonnalla. Kone ei kuitenkaan aina toimi samalla tavalla ja tehtailija haluaisi saada luotettavaa tietoa siitä, toimiiko kone nyt kuten tavallisesti, vai onko jotakin poikkeavaa meneillään. Yhden vähän pienemmän tai suuremman patukan esiintyminen on aina mahdollista, joten meidän pitää ottaa useampia eli ns. otos.

Tilastotieteen avulla voimme laskea näillä oletuksilla tietynkokoisten otosten keskiarvon jakautuman. Kun tiedämme tämän otoksesta johdetun suureen jakautuman, voimme arvioida sitä siihen, millaiset arvot suureelle ovat tavallista ja millaiset epätavallista. Jos suure saa arvon, jotka on pienempi kuin melkein kaikki arvot, voimme epäillä systemaattista poikkeamaa. Vastaavasti myös, jos arvo on suuri. Jakautuman suhteen poikkeava arvo tarkoittaa sitä, että jos ottaisimme tästä teoreettisesta jakautumasta arvoja, niin esim. 99 % tapauksista arvo ei olisi näin pieni (tai suuri).

Normaalijakautumasta poimitun otoksen keskiarvo sattuu noudattamaan myös normaalijakautumaa, mutta muille testisuureille niiden jakautumat ovat omanlaisiaan. Tilastollinen testi perustuu aina siihen, että lasketun suureen jakautuma voidaan laskea (edellyttäen, että muuttuja noudattaa tiettyä jakautumaa ym.). Olettamus vastaa yleensä ns. nollahypoteesia eli esimerkiksi sitä, että juuri nyt lakritsipatukkakone tuottaa samalla tavoin jakautuneita patukoita kuin normaalisti. Testi sanoo, kuinka epätavallinen tuo otoksella saatu arvo olisi tämän oletuksen ollessa voimassa.

Onko muuttujan jakautuma normaali?

Oletetaan, että meillä on muuttuja F$X, joka on jatkuvalla asteikolla ja mittaa jotakin fysikaalista suuretta, esimerkiksi äänteen kestoa tai koehenkilön vastaamisen viivettä. Ensimmäinen asia, mikä kannattaa yleensä tehdä, on piirtää näkyville joko muuttujan jakautuman tiheyskäyrä plot(density(F$X)) tai kertymäkäyrä plot(ecdf(F$X)). Näitä käyriä voi silmämääräisesti verrata normaalijakautuman vastaaviin käyriin.

Jakautuman silmämääräistä tarkastelua parempi keino normaalisuuden arvioimiseksi on ns. kvantiili-kvantiili -diagrammi (qq-plot, quantile-quantile plot). Tällaisessa diagrammissa piirretään kahden jakautuman kertymäfunktiot samaan ruutuun siten, että toisen jakautuma on vaaka- eli x-akselilla ja toisen pysty- eli y-akselilla. Nyt otetaan samaa jakautuman osuutta vastaavia pisteitä, siis esim. kohdat, joissa on kummankin mediaani (tai 1. kvartiili tms.) ja piirretään ruutuun piste siihen kohtaan, jonka x-koordinaattina on ensimmäisen ja y-koordinaattina jälkimmäisen muuttujan mediaani. Piirtämällä muutkin kuin tämä 50 % vastaava piste, saadaan qq-diagrammi.

Jos jakautumat ovat samat, tulee ruutuun suora viiva vasemmasta alanurkasta oikeaan ylänurkkaan. Notkolla ja kuprulla oleva viiva ilmentää jakautumien välistä poikkeamaa.

Jos halutaan verrata yhdestä muuttujasta saatua jakautumaa normaalijakautumaan, voidaan käyttää R:n valmista funktiota qqnorm(F$X), joka piirtää toiselle akselille tämän teoreettisen jakautuman mukaisia kvantiileja ja toiselle oman muuttujamme mukaiset. Suora viiva osoittaisi jakautumamme normaalisuutta.

Onko muuttujan keskiarvo tietty?

Keskiarvon saa jo summary() -funktiolla, mutta sitä varten on toki oma funktionsa mean(). Lakritsikoneen tarkkailussa meillä oli tiedossa etukäteen, miten painavia patukoiden pitäisi keskimäärin olla. Nollahypoteesi olisi siis, että otoksemme keskiarvo on juuri tuo haluttu arvo. Studentin t-testistä on erikseen versio, jossa testataan juuri tätä: t.test(F$X,mu=25.0). Testissä lasketaan t-arvo, jonka jakautuma voidaan johtaa normaalijakautumasta. Meille kiinnostavana tuloksena annetaan p-arvo, jonka suuruudesta päättelemme, olisiko nollahypoteesin vallitessa epätavallista saada näin suuri tai pieni t-arvo. Pieni arvo tarkoittaa sitä, että t-arvo olisi noin epätodennäköinen, eli p-arvo, joka on pienempi kuin 0,01 tarkoittaa sitä, että t-arvo saa näin poikkeavia (tai vielä enemmän poikkeavia) arvoja vain harvemmin kuin kerran sadasta.

Kuten näistä t-testin kuvailuista huomataan, testin mielekäs käyttäminen edellyttää sitä, että muuttujamme on normaalisti jakautunut. Ohjelma tietysti laskee testin arvot mille tahansa lukusarjoille, mutta sellaisten tulosten tulkinnalle ei ole perusteita, eikä sellaisia testejä pitäisi julkaisuihin tai opinnäytteisiin laittaa.

Ovatko kahden otoksen jakautumat samat?

Yllä käsiteltiin qq-diagrammia, jollainen voidaan piirtää mille tahansa kahdelle jatkuvalla asteikolla olevien muuttujien otokselle riippumatta siitä, millaisesta jakautumasta otokset ovat kotoisin. Jos otokset ovat kotoisin samasta jakautumasta, niiden kertymäfunktioiden tulisi olla samankaltaisia. Vastaavasti, jos otokset ovat kotoisin jollakin tavalla erilaisista jakautumista, kertymäfunktioissa on ainakin jossakin kohdassa eroa.

Kolmogorovin ja Smirnovin testissä laskettava suure on kahden otoksen kertymäfunktioiden maksimiero, eli etsitään muuttujien asteikolta sellaisia kohtia, joissa toisessa otoksessa on suurempi (tai yhtä hyvin pienempi) prosentti tätä arvoa pienempiä arvoja kuin toisessa. Testi mittaa suurinta eroa, joka koko jakautumassa näiden kertymäfunktioiden välissä on.

Kolmogorovin ja Smirnovin testi on ns. ei-parametrinen (nonparametric) eli sitä voidaan käyttää riippumatta siitä, millaista jakautumaa muuttujat noudattavat. Erityisesti normaalijakautumaa ei tarvitse olettaa, eikä ole haittaa, vaikka jakautuma ei olisikaan normaalinen.

Ovatko kahden otoksen keskiarvot samat?

Keskiarvo voidaan laskea mille tahansa jatkuvan asteikon muuttujalle ja miksei kokonaislukuarvoisellekin. Keskiarvolla ei kuitenkaan ole aivan samaa merkitystä muille jakautumille kuin normaalijakautuman mukaisille. Sama koskee hajontaa, joka voidaan aina laskea, mutta normaalijakautumalle hajonnalla on erityinen tulkinta.

Muille, siis ei-normaalisille jatkuvan asteikon jakautumille on muita tunnuslukuja, jotka voivat olla sopivampia. Hyvin yleispäteviä ovat mediaani (arvo, jota pienempiä puolet havainnoista on), kvartiilit (arvo, jota pienempiä 1/4, 2/4 tai 3/4 havainnoista on) ym.

Oletetaan, että meillä on kaksi otosta, joiden voidaan olettaa olevan kotoisin normaalijakautuman mukaisesta jakautumasta. Nollahypoteesina on, että kummatkin otokset olisivat yhdestä ja samasta jakautumasta. T-testin suorittamiseksi täytyy arvioida tätä yhteistä jakautumaa laskemalla näiden kahden otoksen yhteinen keskiarvo ja vastaavasti otosten yhteinen hajonta. Sen jälkeen voimme laskea tällaisen jakautuman mukaisesti t-testin suureen arvon ja arvioida sen poikkeuksellisuutta. Itse t-testi suoritetaan funktiolla t.test(), jonka kahtena ensimmäisenä argumentteina ovat ne muuttujat, joiden keskiarvojen erilaisuutta testataan.

Tehtävä nro 7

Tämän sivun liitteenä on havaintomatriisi kahdessa muodossa talletettuna (taulukonmuotoisena ja pilkuilla erotettuina arvoina). Ota niistä jompikumpi R:ään tutkittavaksi. Havaintomatriisissa on neljä muuttujaa X1, x2, x3 ja x4. Tutki niiden jakautumia siltä kannalta, olisivatko ne normaalijakautuman mukaisia. Kerro kustakin muuttujasta, onko se mielestäsi normaalijakautuman mukainen vai ei ja kerro lisäksi, millä perusteella (eli millä R:n komennon tai piirroksen perusteella) tulit tähän johtopäätökseen.

Tehtävä nro 8

Edellisen tehtävän aineistossa oli joitakin normaalijakautuman mukaisia muuttujia. Voidaanko olettaa, että niiden keskiarvoissa on eroa vai olisiko tavanomaista, että tällainen keskiarvojen ero tulisi tämänkokoisiin otoksiin, vaikka eroa itse asiassa ei olisikaan. Testaa vielä näistä erikseen, voisiko otos olla kotoisin jakautumasta, jonka keskiarvo on nolla.


-- KimmoKoskenniemi - 2011-11-24

  • hav1.txt: Tehtävien 7 ja 8 testiaineisto

  • hav1.csv: Tehtävien 7 ja 8 testiaineisto CSV-muodossa
Topic attachments
I Attachment Action Size Date Who Comment
Unknown file formatcsv hav1.csv manage 15.2 K 2011-11-25 - 13:09 KimmoKoskenniemi Tehtävien 7 ja 8 testiaineisto CSV-muodossa
Texttxt hav1.txt manage 15.2 K 2011-11-25 - 13:09 KimmoKoskenniemi Tehtävien 7 ja 8 testiaineisto
Topic revision: r7 - 2011-11-26 - KimmoKoskenniemi
 
This site is powered by the TWiki collaboration platform Powered by PerlCopyright © 2008-2018 by the contributing authors. All material on this collaboration platform is the property of the contributing authors.
Ideas, requests, problems regarding TWiki? Send feedback