- MATH.APP.210
- 6. Tilastollinen testaaminen
- 6.4 Varianssien testaus
Varianssien testaus¶
Olkoon X1,X2,…,Xn otos satunnaismuuttujasta X∼N(μ,σ2), jonka odotusarvo ja varianssi ovat tuntemattomia. Varianssin nollahypoteesin
testaaminen lähtee liikkeelle havainnosta, että sen sisältävä otossuure
Nollahypoteesin ollessa voimassa siis testisuureeksi saadaan
missä n on otoskoko ja S2 muuttujan X otosvarianssi. Riippuen vaihtoehtoisesta hypoteesista merkitsevyystasoa α vastaava kriittinen alue valitaan yksi- tai kaksiosaisena ei-symmetrisen χ2-jakauman toisesta tai molemmista reunoista. Kriittisen alueen muodot ja p-arvot on tiivistetty seuraavaan taulukkoon, jossa testisuureelle W realisoitunutta arvoa merkitään symbolilla w, ja merkinnöillä w1,γ ja w2,γ tarkoitetaan lukuja, joille P(W<w1,γ)=γ ja P(W<w2,γ)=1−γ.
Esimerkki 6.4.1
Oletetaan, että mittaustulos X on normaalijakaumasta X∼N(μ,σ2) ja että aikaisempien tulosten perusteella varianssiksi on arvioitu σ2=1100. Nyt halutaan tietää, onko varianssi pysynyt ennallaan ja suoritetaan 11 mittausta ja saadaan mittaustulokset 453,460,351,421,339,439,402,422,470,310,416. Suorita hypoteesin testaus 1 %:n merkitsevyystasolla.
Nyt nollahypoteesi on muotoa H0:σ2=1100 ja α=0.01. Realisoitunut otosvarianssi s2≈2761.1 (Matlabin/R:n funktio var
). Tämän perusteella näyttäisi siltä, että jos varianssi on muuttunut, se on kasvanut. Valitaan vaihtoehtoiseksi hypoteesiksi siis H1:σ2>1100.
Testisuure ja sen jakauma on
ja testisuureelle realisoituu arvo w≈25.1007. Kriittinen alue on jakauman oikeassa reunassa, ja taulukon vapausastelukua 10 vastaavalta riviltä, tai Matlabin komennolla chi2inv(1 - 0.01, 10)
/ R-komennolla qchisq(1 - 0.01, 10)
arvioidaan, että w2,α≈23.2093. Kriittinen alue on siis väli (23.2093,∞) ja testisuureen realisoitunut arvo kuuluu sille. Nollahypoteesi hylätään ja päätellään, että todellinen varianssi on todennäköisesti suurempi kuin 1100. Testin p-arvoksi voidaan laskea Matlab-komennolla
1 - chi2cdf(25.1007, 10) % Matlab 1 - pchisq(25.1007, 10) # R
p=1−P(W<w)≈0.0052, mikä luonnollisesti johtaa samaan johtopäätökseen.
Esimerkki 6.4.2
Edellisessä esimerkissä on käytössä myös alkuperäinen havaintoaineisto, jolloin testaus voidaan tehdä Matlabin vartest
-funktiolla. Tallennetaan arvot pystyvektoriksi
x = [453, 460, 351, 421, 339, 439, 402, 422, 470, 310, 416]'
Tämän ns. varianssin χ2−testin nollahypoteesina H0:σ=σ0 voi suorittaa Matlabin komennolla
[h,p,ci,stats] = vartest(x, 1100, 'Tail','right', 'Alpha', 0.01)
missä
xmuuttuja x vektorina1100nollahypoteesin mukainen varianssin arvo'Tail'riippuen vaihtoehtoisesta hypoteesista tämän jälkeen annetaan'left' (H1:σ2<σ20), 'right' (H1:σ2>σ20) tai'both' (H1:σ2≠σ20). Oletusarvona on 'both''Alpha'tämän jälkeen annetaan merkitsevyystaso α. Oletusarvona on 0.05.
Tuloksena saadaan
h0, jos H0 jää voimaan; 1,jos H0 hylätäänptestin p-arvociotosvarianssin luottamusväli. Vaihtoehtoisen hypoteesin mukaan jokokaksi- tai yksisuuntainen luottamusvälistatstietoja testisuureesta: arvo, vapausaste.
R:llä varianssin testaamiseen löytyy funktio paketista PairedData. Asenna tarvittaessa install.packages("PairedData")
ja ota käyttöön library(PairedData)
.
Tallennetaan arvot vektoreiksi
x <- c(453, 460, 351, 421, 339, 439, 402, 422, 470, 310, 416)
Testaus saadaan edellä esitellyllä funktiolla Var.test
(koko komento yhdelle riville)
Var.test( x, ratio = 1100, alternative = "greater", conf.level = 0.95)
missä
xmuuttuja x vektorinaratioannetaan nollahypoteesin mukainen varianssi σ0alternativeriippuen vaihtoehtoisesta hypoteesista arvona annetaan"less" (H1:σ2<σ20), "greater" (H1:σ2>σ20) tai"two.sided" (H1:σ2≠σ20). Oletusarvona on "two.sided"conf.levelarvona annetaan 1−α.
Vastauksessa annetaan testisuureen arvo t, p-arvo, otoskeskiarvot ja otoskeskiarvojen erotuksen luottamusväli vaihtoehtoisen hypoteesin mukaan yksi- tai kaksisuuntaisena.
Kahden varianssin yhtäsuuruuden testaus¶
Myös kahden populaation varianssien yhtäsuuruutta voidaan testata, mutta sitä varten tarvitaan uusi jakauma.
Määritelmä 6.4.3
Jatkuva satunnaismuuttuja F noudattaa F-jakaumaa vapausasteluvuin n1 ja n2 (F distribution with parameters n1 and n2), F∼F(n1,n2), jos sen tiheysfunktio
missä Γ(t)=∫∞0e−xxt−1dx on Eulerin gammafunktio. F-jakaumaa kutsutaan myös Fisherin tai Snedecorin jakaumaksi.
Liitetaulukoista löytyy tai valmisohjelmien (Matlab, R) funktioilla voi laskea muuttujan F∼F(n1,n2) kertymäfunktion F(x)=P(F≤x) ja sen käänteisfunktion arvoja.
Esimerkki 6.4.4
Oletetaan, että F∼F(10,15) ja tutkitaan mitä ovat luvut f1 ja f2, kun P(F≤f1)=0.95 ja P(F≥f2)=0.01. Taulukoiden arvot on rajattu kertymäfunktioiden arvoihin 0.95, 0.975 ja 0.99, jolloin ensimmäisestä taulukosta luetaan, että f1≈2.54 ja kolmannesta että f2≈3.80. Matlabin komentojen
finv(0.95, 10, 15) % Matlab, f1 finv(1 - 0.01, 10, 15) % Matlab, f2 qf(0.95, 10, 15) # R, f1 qf(1 - 0.01, 10, 15) # R, f2
avulla saadaan tarkemmat likiarvot f1≈2.5437 ja f2≈3.8049.
Harjoitustehtäväksi jätetään osoittaa, että jos F∼F(n1,n2), niin
Sen seurauksena ehto P(F≤x)=α on yhtäpitävää ehdon P(1F≥1x)=α, eli
Tämä laajentaa F-jakauman taulukoiden käyttökelpoisuutta myös tapauksiin, joissa kertymäfunktion arvo P(F≤x)∈{0.05,0.025,0.01}. Yksinkertaisempaa, tarkempaa ja yleisemmin toimivaa on kuitenkin hyödyntää ohjelmistojen kertymäfunktion käänteisfunktiota.
Erityisesti kahden χ2-jakautuneen satunnaismuuttujan sopivasti painotettu osamäärä on F-jakautunut.
Lause 6.4.5
Oletetaan, että satunnaismuuttujat W1∼χ2(n1) ja W2∼χ2(n2) ovat riippumattomia. Tällöin satunnaismuuttuja
F-jakaumaa käytetään normaalijakautuneiksi oletettujen satunnaismuuttujien varianssien yhtäsuuruuden testaamiseen seuraavan tuloksen perusteella.
Lause 6.4.6
Olkoot X1,X2,…,Xn ja Y1,Y2,…,Ym otoksia riippumattomista satunnaismuuttujista X∼N(μX,σ2X) ja Y∼N(μY,σ2Y). Tällöin
missä S2X ja S2Y ovat muuttujien X ja Y otosvarianssit.
Koska muuttujat X ja Y ovat riippumattomia, myös S2X ja S2Y ovat riippumattomia. Lauseen 5.3.7 mukaan
joten edellisen lauseen nojalla
kuten väitettiinkin.
Jos nyt X1,X2,…,Xn ja Y1,Y2,…,Ym ovat otoksia riippumattomista normaalijakautuneista muuttujista X ja Y, joiden tuntemattomat varianssit ovat σ2X ja σ2Y, niin
missä S2X ja S2Y ovat muuttujien X ja Y otosvarianssit. Yhtäsuuruustestin nollahypoteesiksi asetetaan H0:σ2X=σ2Y, ja sen voimassa ollessa
joten valitaan se testisuureeksi. Riippuen vaihtoehtoisesta hypoteesista merkitsevyystasoa α vastaava kriittinen alue valitaan yksi- tai kaksiosaisena epäsymmetrisen F-jakauman toisesta tai molemmista reunoista. Kriittisten alueiden muodot ja p-arvot on tiivistetty seuraavaan taulukkoon, jossa testisuureelle F realisoitunutta arvoa merkitään symbolilla f, ja merkinnöillä f1,γ ja f2,γ tarkoitetaan lukuja, joille P(F<f1,γ)=γ ja P(F<f2,γ)=1−γ.
Esimerkki 6.4.7
Kurssin A tenttiin osallistui 51 opiskelijaa ja tulosten otosvarianssi s2A=478. Rinnakkaisen kurssin B tenttiin osallistui 26 opiskelijaa otosvarianssin ollessa s2B=372. Voidaanko näitä havaintoja pitää näyttönä siitä, että tenttitulosten varianssit rinnakkaisilla kursseilla ovat erisuuret? Tutki asiaa merkitsevyytasolla α=0.05. Pistemäärien jakaumat oletetaan normaaleiksi.
Testataan siis hypoteesiparia H0:σ2A=σ2B ja H1:σ2A≠σ2B. Valitaan merkitsevyystasoksi α=0.05, ja testisuureeksi
jolle realisoituu arvo f=478372≈1.2849. Kriittinen alue on [0,f1,α/2)∪(f2,α/2,∞), missä päätepisteiksi ratkaistaan Matlabin tai R:n komennoilla
finv([0.05/2, 1 - 0.05/2], 50, 25) % Matlab, [f1, f2] qf(0.05/2, 50, 25) # R, f1 qf(1 - 0.05/2, 50, 25) # R, f2
arvot f1,α/2≈0.5212 ja f2,α/2≈2.0787. Testisuureelle realisoitunut arvo jää siis kriittisen alueen [0,0.5212)∪(2.0787,∞) ulkopuolelle, joten nollahypoteesi jää voimaan. Vastaavasti p-arvoksi lasketaan Matlab tai R-komennolla
2*min([fcdf(1.2849, 50, 25), 1 - fcdf(1.2849, 50, 25)]) % Matlab 2*min( pf(1.2849, 50, 25), 1 - pf(1.2849, 50, 25)) # R
arvo p≈0.5033, joka on selvästi suurempi kuin riskitaso α. Tulosten valossa kurssien tenttien variansseja voidaan siis pitää yhtä suurina.
Esimerkki 6.4.8
Jos on käytössä alkuperäiset havainnot x
ja y
voidaan tämä ns. kahden otoksen varianssien F−testi nollahypoteesina H0:σ2x=σ2y suorittaa Matlabin komennolla
[h,p,ci,stats] = vartest2(x, y, 'Tail','both', 'Alpha', 0.05)
missä
x, ymuuttujat x ja y vektoreina'Tail'riippuen vaihtoehtoisesta hypoteesista tämän jälkeen annetaan'left' (H1:σ2<σ20), 'right' (H1:σ2>σ20) tai'both' (H1:σ2≠σ20). Oletusarvona on 'both''Alpha'tämän jälkeen annetaan merkitsevyystaso α. Oletusarvona on 0.05.
Tuloksena saadaan
h0, jos H0 jää voimaan; 1,jos H0 hylätäänptestin p-arvocivarianssien suhteen luottamusväli. Vaihtoehtoisen hypoteesin mukaanoko kaksi- tai yksisuuntainen luottamusvälistatstietoja testisuureesta: arvo, vapausasteet.
R:llä varianssien testaamiseen löytyy funktio paketista PairedData. Asenna tarvittaessa install.packages("PairedData")
ja ota käyttöön library(PairedData)
.
Kun havainnot on tallennettu vektoreiksi x
ja y
, testaus saadaan edellä esitellyllä funktiolla Var.test
(koko komento yhdelle riville)
Var.test( x, y, ratio = 1, alternative = "two.sided", paired = FALSE, conf.level = 0.95)
missä
x, ymuuttujat x ja y vektoreinaratioannetaan nollahypoteesin mukainen varianssien suhde σx/σy.Jos H0:σx=σy on ratio = 1alternativeriippuen vaihtoehtoisesta hypoteesista arvona annetaan"less" (H1:σ2<σ20), "greater" (H1:σ2>σ20) tai"two.sided" (H1:σ2≠σ20). Oletusarvona on "two.sided"pairedarvo FALSE: x ja y arvot eivät ole vastinparejaconf.levelarvona annetaan 1−α.
Vastauksessa annetaan testisuureen arvo F, p−arvo, johtopäätös sekä varianssien suhteen luottamusväli vaihtoehtoisen hypoteesin mukaan yksi tai kaksisuuntaisena.