- 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
.