- MATH.APP.210
- 6. Tilastollinen testaaminen
- 6.2 Odotusarvojen testaus
Odotusarvojen testaus¶
Odotusarvon testaus, varianssi tunnettu¶
Olkoon X_1,X_2,\ldots,X_n on otos muuttujasta X\sim\rN(\mu,\sigma^2), missä varianssi \sigma^2 tunnetaan, ja asetetaan nollahypoteesiksi H_0: \mu=\mu_0. Tällöin otoskeskiarvo \overline{X} \sim \rN\left(\mu, \frac{\sigma^2}{n}\right) ja erityisesti
joten nollahypoteesin ollessa voimassa
Valitaan siis testisuureeksi Z. Vaihtoehtoisen hypoteesin muodosta riippuen kriittinen alue on standardinormaalijakauman toisessa tai molemmissa reunoissa oleva joukko, johon liittyvä todennäköisyys on valitun merkitsevyystason \alpha suuruinen. Eri vaihtoehtoisia hypoteeseja vastaavat kriittiset alueet ja p-arvot on tiivistetty seuraavaan taulukkoon. Siinä testisuureelle Z realisoitunutta arvoa merkitään symbolilla z, ja merkinnöillä z_{\alpha} ja z_{\alpha/2} tarkoitetaan lukuja, joille \Phi(z_{\alpha}) = 1 - \alpha ja \Phi(z_{\alpha/2}) = 1 - \frac{\alpha}{2}.
Esimerkki 6.2.1
Seudun vuotuisen sademäärän X (cm) keskiarvoksi 100 vuoden ajalta on saatu 106.0 ja keskihajonnaksi 15.3, ja oletetaan, että X\sim\rN(106.0, 15.3^2). Viimeisen 5 vuoden sademäärän keskiarvoksi on saatu 89.3. Millä todennäköisyydellä tällainen tulos olisi odotettavissa, jos keskisademäärissä ei ole tapahtunut muutosta? Onko syytä epäillä, että seudun sääolosuhteissa on tapahtunut pysyvänluonteinen muutos?
On testattava nollahypoteesia H_0 : \mu = 106.0, missä \mu on sademäärän X todellinen odotusarvo viimeisen viiden vuoden ajalta. Mittaustulos \overline{x} = 89.3 viittaisi siihen, että mahdollinen muutos olisi sademäärän pienentyminen, joten asetetaan vaihtoehtoiseksi hypoteesiksi H_1: \mu < 106.0. Valitaan testin merkitsevyystasoksi \alpha = 0.01.
Nollahypoteesin ollessa voimassa vuoden sademäärä X\sim\rN(106.0, 15.3^2), joten viiden vuoden sademäärän standardoitu otoskeskiarvo
jolle realisoituu arvo z \approx -2.4407. Valitaan testisuureeksi Z. Kysytty todennäköisyys on testin p-arvo
jolle lasketaan komennolla normcdf(-2.4407)
(Matlab), pnorm(-2.4407)
(R) tai taulukosta katsomalla likiarvo p \approx 0.0073. Koska p < 0.01, nollahypoteesi hylätään ja vaihtoehtoinen hypoteesi H_1: \mu < 106.0 astuu voimaan. Johtopäätöksenä todetaan, että seudun keskisademäärä on vähentynyt.
Tarkastellaan saman hypoteesin testaamista vielä kriittisen alueen avulla. Vaihtoehtoisen hypoteesin muodon vuoksi kriittinen alue on jakauman \rN(0, 1) vasemmassa reunassa oleva reaalilukuväli (-\infty, -z_{\alpha}), jonka yläraja z_{\alpha} toteuttaa ehdon
missä yhteys \Phi(2.3263) \approx 0.99 ratkaistaan Matlab komennolla norminv(0.99)
/ R komennolla qnorm(0.99)
tai luetaan karkeampi likiarvo taulukosta. Testisuureen Z kriittiseksi alueeksi saadaan siis (-\infty, -2.3263), ja koska realisoitunut testisuureen arvo z on tällä välillä, nollahypoteesi on hylättävä.
Testisuureena käytetään \rN(0,1)-jakaumaan skaalattua otoskeskiarvoa. Ohjelmilla laskettaessa ei tämä muunnos ole välttämätön, vaan laskut voitaisiin tehdä suoraan otoskeskiarvon alkuperäisellä jakaumalla \rN(106.0, 15.3^2/5). Matlabilla ja R:llä saataisiin p-arvo komennoilla
normcdf(89.3, 106, sqrt(15.3^2/5)) % Matlab pnorm(89.3, 106, sqrt(15.3^2/5)) # R
Esimerkki 6.2.2
Jos käytössä on alkuperäinen havaintoaineisto tallennettuna vektoriksi data
, niin tämän ns. z-testin voi suorittaa Matlabin komennolla
[h,p,ci,zval] = ztest(data, mu, sd, 'Tail','left', 'Alpha', 0.01)
missä
\begin{array}{lll} & \texttt{data} & \text{havaintoaineisto pystyvektorina} \\ & \texttt{mu} & \text{nollahypoteesin mukainen odotusarvo} \\& \texttt{sd} & \text{jakauman tunnettu keskihajonta } \sigma \text{ (varianssin neliöjuuri)} \\& \texttt{'Tail'} & \text{riippuen vaihtoehtoisesta hypoteesista tämän jälkeen annetaan} \\& & \texttt{'left' } (H_1: \mu<\mu_0), \texttt{ 'right' } (H_1: \mu>\mu_0) \text{ tai} \\& & \texttt{'both' } (H_1: \mu\ne\mu_0). \text{ Oletusarvona on } \texttt{'both'} \\& \texttt{'Alpha'} & \text{tämän jälkeen annetaan merkitsevyystaso } \alpha. \text{ Oletusarvona on } 0.05.\end{array}
Tuloksena saadaan
\begin{array}{lll}& \texttt{h} & 0, \text{ jos } H_0 \text{ jää voimaan; } 1, \text{jos } H_0 \text{ hylätään} \\ & \texttt{p} & \text{testin } p \text{-arvo}\\& \texttt{ci} & \text{otoskeskiarvon luottamusväli. Vaihtoehtoisen hypoteesin mukaan joko}\\& & \text{kaksi- tai yksisuuntainen luottamusväli}\\& \texttt{zval} & \text{testisuureen arvo.}\\\end{array}
R:llä z-testi löytyy paketista BSDA. Asenna tarvittaessa install.packages("BSDA")
ja ota käyttöön library(BSDA)
. Funktio on muotoa
z.test( data, alternative = "less", mu = 0, sigma.x = 1, conf.level = 0.95)
missä
\begin{array}{lll}& \texttt{data} & \text{havaintoaineisto vektorina} \\ & \texttt{alternative} & \text{riippuen vaihtoehtoisesta hypoteesista arvona annetaan}\\& & \texttt{"less" } (H_1: \mu<\mu_0), \texttt{ "greater" } (H_1: \mu>\mu_0) \text{ tai } \\& & \texttt{"two.sided" } (H_1: \mu\ne \mu_0). \text{ Oletusarvona } \texttt{"two.sided"}\\& \texttt{mu} & \text{annetaan nollahypoteesin mukainen odotusarvo}\\& \texttt{sigma.x} & \text{annetaan jakauman tunnettu keskihajonta } \sigma \text{ (varianssin neliöjuuri)}\\& \texttt{conf.level} & \text{arvona annetaan } 1-\alpha. \end{array}
Vastauksessa annetaan testisuureen arvo z, p-arvo, otoskeskiarvo ja otoskeskiarvon vaihtoehtoisen hypoteesin mukainen luottamusväli.
Huomautus 6.2.3
Keskeinen raja-arvolause takaa, että vain harvoin poikkeuksin riittävän suurilla otoksilla minkä tahansa satunnaismuuttujan X otoskeskiarvo \overline{X} noudattaa likimain normaalijakaumaa. Tämän vuoksi edellinen menetelmä soveltuu rajoitetusti myös muille kuin normaalijakaumaa noudattaville satunnaismuuttujille.
Odotusarvon testaus, varianssi tuntematon¶
Kun normaalijakauman varianssi on tuntematon, joudutaan sen sijaan käyttämään otosvarianssia ja luottamusvälin konstruoimisessa t-jakaumaa. Satunnaismuuttuja
ja nollahypoteesin \mu = \mu_0 ollessa voimassa
joten valitaan testisuureeksi T. Vaihtoehtoisen hypoteesin muodosta riippuen kriittinen alue on t(n-1)-jakauman toisessa tai molemmissa reunoissa oleva joukko, johon liittyvä todennäköisyys on valitun merkitsevyystason \alpha suuruinen. Eri vaihtoehtoisia hypoteeseja vastaavat kriittiset alueet ja p-arvot on tiivistetty seuraavaan taulukkoon. Siinä testisuureelle T realisoitunutta arvoa merkitään symbolilla t, ja merkinnöillä t_{\alpha} ja t_{\alpha/2} tarkoitetaan lukuja, joille P(T < t_{\alpha}) = 1 - \alpha ja P(T < t_{\alpha/2}) = 1 - \frac{\alpha}{2}.
Esimerkki 6.2.4
Tehtaan ilmoituksen mukaan venttiilivarren halkaisija noudattaa normaalijakaumaa ja on keskimäärin 8.040 mm. Tehdas ottaa uudesta tuotantoerästään 40 kappaleen otoksen tutkiakseen, onko tuotantoerän laatu yhtä hyvä kuin alkuperäisillä. Otoskeskiarvoksi saatiin \overline{x}=8.038 mm ja otoskeskihajonnaksi s=0.006 mm. Pitäisikö erä päästää markkinoille, jos väärän hylkäyspäätöksen riskiksi sallitaan 5~\%?
Testataan nollahypoteesia H_0: \mu = 8.040 merkitsevyystasolla \alpha = 0.05. Koska halutaan selvittää, onko halkaisija muuttunut, mutta muutoksen suunta on epäselvä, valitaan vaihtoehtoiseksi hypoteesiksi H_1 : \mu \neq 8.040.
Varianssi on tuntematon, joten käytetään testisuuretta
jolle nollahypoteesin ollessa voimassa realisoituu arvo
Testi on kaksisuuntainen, joten kriittinen alue koostuu kahdesta osasta. Taulukkoon ei ole merkitty riviä vapausasteluvulle 39, joten sitä käytettäessä testisuureen T oikeaa jakaumaa joudutaan approksimoimaan jakaumalla t(40). Matlabin tai R:n komennolla
tinv(1 - 0.05/2, 39) % Matlab qt(1 - 0.05/2, 39) # R
ratkaistaan t_{\alpha/2} \approx 2.0227, joten t-jakauman symmetrisyyden perusteella kriittinen alue on (-\infty, -2.0227) \cup (2.0227, \infty). Testisuureelle realisoitunut arvo osuu kriittiselle alueelle, joten hylätään nollahypoteesi ja todetaan, että venttiilivarren halkaisija on muuttunut ilmoitetusta. Varovaisena toimijana tehtaan ei siis tulisi päästää erää markkinoille.
Tutkitaan sitten vielä p-arvon avulla pienintä merkitsevyystasoa, jolla nollahypoteesi hylättäisiin. Kaksisuuntaiselle testille
jolle Matlabin
2 * min([tcdf(-2.108, 39), 1 - tcdf(-2.108, 39)])
ja R-ohjelmiston
2 * min(pt(-2.108, 39), 1 - pt(-2.108, 39))
antavat arvoksi p \approx 0.0415. Siis esimerkiksi merkitsevyystasolla \alpha = 0.01 nollahypoteesia ei hylätä, ja erä voitaisiin antaa myyntiin! Tämä ei silti kerro koko totuutta, sillä merkitsevyystason (tyypin I virheen todennäköisyyden) pienentyessä tyypin II virheen todennäköisyys kasvaa. Sallimalla vain pienempi 1~\% väärän hylkäyksen riski onnistutaan kasvattamaan väärän hyväksynnän riskiä.
Esimerkki 6.2.5
Jos käytössä on alkuperäinen havaintoaineisto tallennettuna pystyvektoriksi data
, niin tämän ns. t-testin voi suorittaa Matlabin komennolla
[h,p,ci,stats] = ttest(data, mu, 'Tail','left', 'Alpha', 0.01)
missä
\begin{array}{lll}&\texttt{data} & \text{havaintoaineisto vektorina} \\ &\texttt{mu} & \text{annetaan nollahypoteesin mukainen odotusarvo}\\&\texttt{'Tail'} & \text{riippuen vaihtoehtoisesta hypoteesista tämän jälkeen annetaan}\\& & \texttt{'left' } (H_1: \mu<\mu_0), \texttt{ 'right' } (H_1: \mu>\mu_0) \text{ tai} \\& & \texttt{'both' } (H_1: \mu\ne\mu_0). \text{ Oletusarvona on } \texttt{'both'}\\&\texttt{'Alpha'} & \text{tämän jälkeen annetaan merkitsevyystaso } \alpha. \text{ Oletusarvona on } 0.05.\end{array}
Tuloksena saadaan
\begin{array}{lll}& \texttt{h} & 0, \text{ jos } H_0 \text{ jää voimaan; } 1, \text{jos } H_0 \text{ hylätään} \\ & \texttt{p} & \text{testin } p \text{-arvo}\\& \texttt{ci} & \text{otoskeskiarvon luottamusväli. Vaihtoehtoisen hypoteesin mukaan joko}\\& & \text{kaksi- tai yksisuuntainen luottamusväli}\\& \texttt{stats} & \text{tietoja testisuureesta: arvo, vapausaste, otoshajonta.}\\\end{array}
R:llä t-testi löytyy paketista stats
, joka kuuluu R:n perusasennukseen. Jos pakettia ei löydy, asenna se tarvittaessa install.packages("stats")
ja ota käyttöön library(stats)
. Funktio on muotoa
t.test( data, alternative = "less", mu = 0, conf.level = 0.95)
missä
\begin{array}{lll} &\texttt{data} & \text{havaintoaineisto vektorina} \\ &\texttt{alternative} & \text{riippuen vaihtoehtoisesta hypoteesista arvona annetaan}\\ & & \texttt{"less" } (H_1: \mu<\mu_0), \texttt{ "greater" } (H_1: \mu>\mu_0) \text{ tai} \\ & & \texttt{"two.sided" } (H_1: \mu\ne\mu_0). \text{ Oletusarvona on } \texttt{"two.sided"}\\ &\texttt{mu} & \text{annetaan nollahypoteesin mukainen odotusarvo}\\ &\texttt{conf.level} & \text{arvona annetaan } 1-\alpha. \end{array}
Vastauksena annetaan testisuureen arvo t, p-arvo, otoskeskiarvo ja otoskeskiarvon vaihtoehtoisen hypoteesin mukainen luottamusväli.
Kahden odotusarvon yhtäsuuruuden testaus¶
Olkoot X_1,X_2,\dots,X_n ja Y_1,Y_2,\dots,Y_m otoksia satunnaismuuttujista X\sim\rN(\mu_X,\sigma_X^2) ja Y\sim\rN(\mu_Y,\sigma_Y^2), ja pyritään vertailemaan odotusarvoja \mu_X ja \mu_Y tilastollisen testauksen keinoin. Kun tarkoitus on tutkia, ovatko populaatioiden odotusarvot yhtäsuuret, testataan nollahypoteesia
Otoskeskiarvot \overline{X} ja \overline{Y} ovat normaalijakautuneita, joten lauseen 4.4.6 mukaan
Kun varianssit oletetaan tunnetuiksi, nollahypoteesin testaamiseksi saadaan testisuure
Jos varianssit \sigma_X^2 ja \sigma_Y^2 ovat tuntemattomia, mutta ne voidaan olettaa yhtä suuriksi, eli \sigma_X^2 = \sigma_Y^2 = \sigma^2, voidaan satunnaismuuttujien X ja Y otosvarianssien S_X^2 ja S_Y^2 avulla muodostaa niin sanottu yhteisotosvarianssi
joka on yhteisen varianssin \sigma^2 harhaton estimaattori. Korvaamalla tunnettujen varianssien testisuureen Z lausekkeessa varianssit \sigma_X^2 ja \sigma_Y^2 yhteisotosvarianssilla saadaan t-jakautunut testisuure
Molempien testisuureiden jakaumat ovat symmetrisiä, joten merkitsevyystasoa \alpha vastaava kriittinen alue määräytyy vaihtoehtoisen hypoteesin mukaisesti samaan tapaan kuin yksittäisen odotusarvon testeissä jakauman toisesta tai molemmista reunoista.
Esimerkki 6.2.6
Satunnaismuuttujasta X\sim\rN(\mu_X,\sigma_X^2) on saatu otos 4.1, 4.2, 4.8, 4.6, 4.9
satunnaismuuttujasta Y\sim\rN(\mu_Y,\sigma_Y^2) otos 3.9, 5.1, 4.4, 4.2.
Testataan hypoteesiparia
0.05 merkitsevyystasolla, kun varianssit \sigma_X^2 ja \sigma_Y^2 oletetaan yhtä suuriksi.
Otosten perusteella lasketaan (Matlab/R, mean
ja var
), että
Koska todellisia variansseja ei tunneta, lasketaan yhteisotosvarianssi
Tällöin testisuure
ja sille realisoituu arvo t \approx 0.417. Kriittisen alueen rajaksi määritetään t_{\alpha/2} \approx 2.3646 komennolla tinv(1 - 0.05/2, 7)
(Matlab) tai qt(1 - 0.05/2, 7)
(R), jolloin kriittinen alue on kaksiosainen (-\infty, -2.3646) \cup (2.3646, \infty). Testisuureen arvo ei kuulu kriittiselle alueelle, joten H_0 jää voimaan ja testin perusteella satunnaismuuttujilla X ja Y on sama odotusarvo.
Kaksisuuntaisen testin p-arvoksi saadaan Matlabilla tai R:llä
2 * min([tcdf(0.417, 7), 1 - tcdf(0.417, 7)] ) % Matlab 2 * min pt(0.417, 7), 1 - pt(0.417, 7) ) # R
varsin korkea p \approx 0.6891 \geq \alpha, missä \alpha on mikä vain tyypillinen merkitsevyystaso.
Esimerkki 6.2.7
Edellisessä esimerkissä on käytössä myös alkuperäinen havaintoaineisto, jolloin testaus voidaan tehdä Matlabin ttest2
-funktiolla. Tallennetaan arvot pystyvektoreiksi
x = [4.1, 4.2, 4.8, 4.6, 4.9]' y = [3.9, 5.1, 4.4, 4.2]'
Tämän ns. kahden otoksen t-testin nollahypoteesina H_0: \mu_x=\mu_y voi suorittaa Matlabin komennolla
[h,p,ci,stats] = ttest2(x, y, 'Tail','both', 'Alpha', 0.05)|
missä
\begin{array}{lll} &\texttt{x, y } & \text{muuttujat } x \text{ ja } y \text{ vektorina} \\ &\texttt{'Tail'} & \text{riippuen vaihtoehtoisesta hypoteesista tämän jälkeen annetaan}\\ & & \texttt{'left' } (H_1: \mu<\mu_0), \texttt{ 'right' } (H_1: \mu>\mu_0) \text{ tai} \\ & & \texttt{'both' } (H_1: \mu\ne\mu_0). \text{ Oletusarvona on } \texttt{'both'}\\ &\texttt{'Alpha'} & \text{tämän jälkeen annetaan merkitsevyystaso } \alpha. \text{ Oletusarvona on } 0.05. \end{array}
Tuloksena saadaan
\begin{array}{lll} & \texttt{h} & 0, \text{ jos } H_0 \text{ jää voimaan; } 1, \text{jos } H_0 \text{ hylätään} \\ & \texttt{p} & \text{testin } p \text{-arvo}\\ & \texttt{ci} & \text{otoskeskiarvon luottamusväli. Vaihtoehtoisen hypoteesin mukaan joko}\\ & & \text{kaksi- tai yksisuuntainen luottamusväli}\\ & \texttt{stats} & \text{tietoja testisuureesta: arvo, vapausaste, yhteisotoshajonta.}\\ \end{array}
R:llä t-testi löytyy paketista stats. Asenna tarvittaessa install.packages("stats")
ja ota käyttöön library(stats)
.
Tallennetaan arvot vektoreiksi
x <- c(4.1, 4.2, 4.8, 4.6, 4.9) y <- c(3.9, 5.1, 4.4, 4.2)
Testaus saadaan edellä esitellyllä funktiolla t.test
lisäämällä parametreja (koko komento yhdelle riville)
t.test( x, y, alternative = "two.sided", mu = 0, paired = FALSE, var.equal = TRUE, conf.level = 0.95)
missä
\begin{array}{lll} &\texttt{x, y } & \text{muuttujat } x \text{ ja } y \text{ vektorina} \\ &\texttt{mu} & \text{annetaan nollahypoteesin mukainen odotusarvo } \mu_x-\mu_y\\ &\texttt{alternative} & \text{riippuen vaihtoehtoisesta hypoteesista arvona annetaan}\\ & & \texttt{"less" } (H_1: \mu<\mu_0), \texttt{ "greater" } (H_1: \mu>\mu_0) \text{ tai} \\ & & \texttt{"two.sided" } (H_1: \mu\ne\mu_0). \text{ Oletusarvona on } \texttt{"two.sided"}\\ &\texttt{paired} & \text{arvo FALSE: } \texttt{x} \text{ ja } \texttt{y} \text{ arvot eivät ole vastinpareja}\\ &\texttt{var.equal} & \text{arvo TRUE: } \sigma_x^2 \text{ ja } \sigma_y^2 \text{ tuntemattomia, mutta oletetaan samoiksi}\\ &\texttt{conf.level} & \text{arvona annetaan } 1-\alpha. \end{array}
Vastauksessa annetaan testisuureen arvo t, p-arvo, otoskeskiarvot ja otoskeskiarvojen erotuksen luottamusväli vaihtoehtoisen hypoteesin mukaan yksi tai kaksisuuntaisena.
Esimerkki 6.2.8
Parittaisten havaintojen testaus.
Edellä oli kyse kahden, tavallisesti riippumattoman otoksen odotusarvojen testaamisesta. Parittaisten havaintojen testaamisessa on kyse siitä, että arvot x
ja y
ovat samaan tilastoyksiköön liittyviä vastinpareja. Tällainen tilanne syntyy esimerkiksi, kun tutkitaan muuttujan arvoja kahtena ajankohtana samoilla tilastoyksiköillä. Kun satunnaismuuttujat X ja Y normaalijakautuneita, on niiden erotus D=X-Y myös normaalijakautunut. Muodostetaan parittaisista havainnoista x_i, y_i uusi havainto d_i=x_i-y_i ja tutkitaan sitten hypoteesia H_0: \mu_D=0 yhden otoksen t-testillä.
Matlabilla testaus voidaan tehdä funktiolla ttest
antamalla kaksi havaintovektoria
[h,p,ci,stats] = ttest(x, y, 'Tail','left', 'Alpha', 0.01)
Parametrit ja vastaukset kuten edellä. Tällä Matlabin funktiolla tutkitaan aina nollahypoteesia H_0: \mu_D=0. Jos nollahypoteesissa erotuksen odotusarvo on muu kuin nolla, tulee toista vektoreista muokata siten, että voidaan käyttää tätä nollahypoteesia.
R:llä testaus tehdään antamalla parametri paired = TRUE
komennossa
t.test( x, y, alternative = "two.sided", mu = 0, paired = TRUE, var.equal = TRUE, conf.level = 0.95)
R:ssä nollahypoteesissa sallitaan muukin arvo kuin 0 kohdassa mu
.