T-testi R-ohjelmoinnissa: Yksi otos ja paritettu esimerkki
โก รlykรคs yhteenveto
R:n t-testi vertaa keskiarvoja t.test()-funktion avulla, kattaen yhden otoksen kiinteรครคn kohteeseen, kahteen riippumattomaan ryhmรครคn ja parittaisiin toistuviin mittauksiin. Tรคmรค lรคpikรคynti suorittaa jokaisen variantin, lukee p-arvon oikein ja varmistaa taustalla olevat oletukset.

Mikรค on tilastollinen pรครคttely?
Tilastollinen pรครคttely on taitoa tehdรค johtopรครคtรถksiรค datan jakaumasta. Datatieteilijรค kohtaa usein kysymyksiรค, joihin voidaan vastata vain tieteellisesti. Siksi tilastollinen pรครคttely on strategia, jolla testataan, onko hypoteesi totta eli onko data validoinut sen.
Yleinen strategia hypoteesin arvioimiseksi on t-testi, joka kertoo, ovatko kaksi keskiarvoa yhtรค suuret. Se tunnetaan myรถs nimellรค Opiskelijan testiT-testi voidaan laskea seuraaville:
- Yksittรคinen vektori kiinteรครค arvoa vasten (yhden otoksen t-testi)
- Kaksi vektoria kahdesta erillisestรค ryhmรคstรค (riippumaton kahden otoksen t-testi)
- Kaksi vektoria mitattuna samoilla koehenkilรถillรค (paritettu t-testi)
Jokainen t-testi olettaa, ettรค tiedot on otettu satunnaisesti ja ettรค arvot (tai paritestissรค erot) tulevat suunnilleen normaalijakautuneesta populaatiosta. Kahden riippumattoman otoksen versio olettaa lisรคksi, ettรค kaksi ryhmรครค ovat toisistaan โโriippumattomia, ja klassinen muoto olettaa, ettรค niiden varianssit ovat yhtรค suuret.
Mikรค on T-testi R-ohjelmoinnissa?
T-testin perusideana on kรคyttรครค tilastoja kahden pรคinvastaisen hypoteesin arvioimiseen:
- H0nollahypoteesi, jonka mukaan populaation keskiarvo on yhtรค suuri kuin testattava arvo
- H1vaihtoehtoinen hypoteesi, ettรค populaation keskiarvo eroaa tuosta arvosta
T-testi on suunniteltu pienille otoskoille, joissa normaaliapproksimaatio on epรคluotettava. Se edellyttรครค, ettรค data on suunnilleen normaalijakautunut.
T-testin syntaksi R:ssรค
R:n t.test():n perussyntaksi on:
t.test(x, y = NULL, mu = 0, var.equal = FALSE) arguments: - x : A vector to compute the one-sample t-test - y: A second vector to compute the two sample t-test - mu: Mean of the population under the null hypothesis - var.equal: Specify whether the variances of the two vectors are equal. By default, set to `FALSE` - paired: Set to `TRUE` when the two vectors are repeated measures on the same subjects
Ennen kuin suoritat mitรครคn, sovita datan asettelu testin oikeaan varianttiin.
T-testien tyypit R:ssรค
Vรครคrรคn variantin valitseminen on yleisin t-testin virhe, joten aloita sovittamalla datan asettelu oikeaan kutsuun.
| Tyyppi | Kรคytรค sitรค, kun | R-kutsu |
|---|---|---|
| Yhden nรคytteen | Yksi ryhmรค verrattuna tunnettuun tavoitearvoon | t.test(x, mu = arvo) |
| Riippumaton kahden otoksen (Welch) | Kaksi erillistรค ryhmรครค, varianssit mahdollisesti epรคtasaiset | t.testi(x, y) |
| Riippumaton kahden otoksen (yhdistetty) | Kaksi erillistรค ryhmรครค, joilla on yhtรค suuri varianssi | t.test(x, y, muuttuja.yhtรค suuri = TOSI) |
| pariksi | Samat koehenkilรถt mitattiin kahdesti | t.test(x, y, parillinen = TOSI) |
| Yksipuolinen | Vรคlitรคt vain yhden suunnan eroista | t.test(x, mu = arvo, vaihtoehto = โsuurempiโ) |
Kolmen ryhmรคn jรคlkeen t-testi ei ole enรครค sopiva. Siirry seuraavaan: ANOVA testi, mikรค pitรครค kokonaisvirhesuhteen 5 prosentissa sen sijaan, ettรค se nousisi toistuvien pareittain tehtyjen vertailujen vรคlillรค.
Yksi nรคyte T-testi R:ssรค
One Sample t-testi eli Studentin testi vertaa vektorin keskiarvoa teoreettiseen keskiarvoon, . T-testin laskemiseen kรคytetty kaava on:
Tรครคllรค
viittaa keskiarvoon
teoreettiseen keskiarvoon
- s on keskihajonta
- n havaintojen mรครคrรค.
t-testin tilastollisen merkitsevyyden arvioimiseksi sinun on laskettava p-arvo. p-arvo vaihtelee vรคlillรค 0-1, ja se tulkitaan seuraavasti:
- P-arvo, joka on pienempi kuin 0.05, tarkoittaa, ettรค nollahypoteesi voidaan hylรคtรค. Huomaa, ettรค H0:n hylkรครคminen ei ole sama asia kuin H1:n todistaminen todeksi, se tarkoittaa vain sitรค, ettรค data on epรคtodennรคkรถistรค H0:n vallitessa.
- P-arvo, joka on suurempi kuin 0.05, osoittaa, ettei nollahypoteesin hylkรครคmiseksi ole riittรคvรคsti todisteita.
Voit muodostaa p-arvon katsomalla vastaavaa t-testin itseisarvoa Studentin jakaumassa vapausasteilla
Esimerkiksi viiden havainnon perusteella vertaat t-arvoasi Studentin jakaumaan, jossa on neljรค vapausastetta ja 95 prosentin luottamustaso. Nollahypoteesin hylkรครคmiseksi kaksipuolisessa testissรค absoluuttisen t-arvon on oltava yli 2.776.
Katso alla oleva taulukko:
Yksi nรคyte-T-testiesimerkki kirjassa R
Oletetaan, ettรค olet evรคsteitรค valmistava yritys. Jokaisen keksin pitรคisi sisรคltรครค 10 grammaa sokeria. Keksit valmistetaan koneella, joka lisรครค sokerin kulhoon ennen kaiken sekoittamista. Uskot, ettรค kone ei lisรครค 10 grammaa sokeria jokaiseen evรคsteeseen. Jos olettamuksesi pitรครค paikkansa, kone on korjattava. Sรคilytit kolmenkymmenen keksin sokeritason.
Huomautuksia: Voit luoda satunnaistetun vektorin funktiolla rnorm(). Tรคmรค funktio luo normaalijakauman arvoja. Perussyntaksi on:
rnorm(n, mean, sd) arguments - n: Number of observations to generate - mean: The mean of the distribution. Optional - sd: The standard deviation of the distribution. Optional
Voit luoda jakauman, jossa on 30 havaintoa, joiden keskiarvo on 9.99 ja keskihajonta 0.04.
set.seed(123) sugar_cookie <- rnorm(30, mean = 9.99, sd = 0.04) head(sugar_cookie)
lรคhtรถ:
## [1] 9.967581 9.980793 10.052348 9.992820 9.995172 10.058603
Voit kรคyttรครค yhden nรคytteen t-testiรค tarkistaaksesi, onko sokeripitoisuus erilainen kuin reseptissรค. Voit tehdรค hypoteesitestin:
- H0: Keskimรครคrรคinen sokeritaso on 10
- H1: Keskimรครคrรคinen sokeritaso on eri kuin 10
Kรคytรคt merkitsevyystasoa 0.05.
# H0 : mu = 10 t.test(sugar_cookie, mu = 10)
Tรคssรค on tuotos:
Yhden otoksen t-testin p-arvo on 0.1079, joka on yli 0.05 kynnysarvon. Keskiarvon 95 prosentin luottamusvรคli on 9.973โ10.002 grammaa, ja se sisรคltรครค tavoitearvon 10. Et siis voi hylรคtรค H0:a: ei ole riittรคvรคsti nรคyttรถรค siitรค, ettรค kone poikkeaa reseptistรค.
Riippumaton kahden otoksen t-testi R:ssรค
Kahden otoksen riippumaton t-testi on yleisimmin kรคytetty variantti, ja sitรค sovelletaan aina, kun kaksi mittaussarjaa ovat perรคisin eri koehenkilรถiltรค: kahdelta verstaselta, kahdelta koneelta, kahdelta hoitoryhmรคltรค.
Oletetaan, ettรค tehtaalla on kaksi tuotantolinjaa ja haluat tietรครค, tรคyttรคvรคtkรถ ne purkkeja samaan painoon.
set.seed(123) line_a <- rnorm(25, mean = 500, sd = 8) line_b <- rnorm(25, mean = 505, sd = 8) # Welch test, the safe default t.test(line_a, line_b) # Pooled test, only when the variances are equal t.test(line_a, line_b, var.equal = TRUE)
Lue tuloste neljรคssรค vaiheessa.
- t on kahden keskiarvon vรคlisen aukon standardoitu koko. Sen etumerkki heijastaa vain jรคrjestystรค, jossa vektorit vรคlitettiin.
- df on vapausasteet. Welch tuottaa murtolukuarvon; yhdistetty testi antaa kokonaisluvun, joka on yhtรค kuin n1 + n2 โ 2.
- p-arvo on todennรคkรถisyys nรคhdรค nรคin suuri ero, jos todelliset keskiarvot olisivat identtiset.
- Luottamusvรคli rajaa todellisen eron. Kun se sisรคltรครค nollan, ero ei ole merkitsevรค kyseisellรค tasolla.
Jos datasi sijaitsee yhdessรค datakehyksessรค, jossa on yksi arvosarake ja yksi tekijรคsarake, kรคytรค sen sijaan kaavaliittymรครค, joka on helpompi lukea eikรค vaadi datan jakamista manuaalisesti:
t.test(weight ~ line, data = jars)
Mitรค versiota kรคyttรครค. Jรคtรค var.equal oletusarvoonsa FALSE, ellet ole testannut ja vahvistanut yhtรคlรคisiรค varianssien arvoja. Welchin korjaus ei maksa juuri mitรครคn, kun varianssit sattuvat olemaan samat, ja se suojaa sinua, kun ne eivรคt ole samat.
Parillinen T-testi R:ssรค
Paritettu t-testi, jota kutsutaan myรถs riippuvan otoksen t-testiksi, soveltuu, kun sama ryhmรค mitataan kahdesti. Tyypillisiรค sovelluksia ovat:
- / B-testaus: Vertaa kahta versiota
- Tapaus-verrokkitutkimuksetennen ja jรคlkeen samojen kohteiden kรคsittelyn
Parillinen T-testiesimerkki kirjassa R
Juomayhtiรถ on kiinnostunut tietรคmรครคn alennusohjelman toimivuuden myynnistรค. Yritys pรครคtti seurata pรคivittรคistรค myyntiรค yhdessรค ohjelmaa edistรคvรคssรค liikkeessรครคn. Ohjelman lopussa yritys haluaa tietรครค, onko kaupan keskimyynnin vรคlillรค tilastollista eroa ennen ohjelmaa ja sen jรคlkeen.
- Yritys tracseurasin myyntiรค joka pรคivรค ennen ohjelman alkua. Tรคmรค on ensimmรคinen vektorimme.
- Ohjelmaa mainostetaan viikon ajan ja myynti kirjataan joka pรคivรค. Tรคmรค on toinen vektorimme.
- Suoritat t-testin arvioidaksesi ohjelman tehokkuutta. Tรคtรค kutsutaan pari-t-testiksi, koska molempien vektorien arvot tulevat samasta jakaumasta (eli samasta kaupasta).
Hypoteesin testaus on:
- H0: Ei eroa keskiarvossa
- H1: Nรคmรค kaksi keinoa ovat erilaisia
Muista, ettรค klassinen t-testi olettaa tuntemattoman, mutta yhtรค suuren varianssin molemmissa ryhmissรค. Todelliset tiedot harvoin tรคyttรคvรคt tรคmรคn tรคysin, ja eron huomiotta jรคttรคminen voi vรครคristรครค tulosta.
Korjauskeinona on Welchin t-testi, joka lieventรครค yhtรคlรคisen varianssin oletusta. R kรคyttรครค sitรค oletusarvoisesti, koska var.equal on EPรTOSI, ellet toisin mainitse. Tรคssรค aineistossa molemmat vektorit luotiin samalla keskihajonnalla, joten voit turvallisesti asettaa var.equal = TOSI.
Luot Gaussin jakaumasta kaksi satunnaisvektoria, joilla on korkeampi keskiarvo ohjelman jรคlkeiselle myynnille.
set.seed(123) # sales before the program sales_before <- rnorm(7, mean = 50000, sd = 50) # sales after the program.This has higher mean sales_after <- rnorm(7, mean = 50075, sd = 50) # draw the distribution t.test(sales_before, sales_after,var.equal = TRUE)
p-arvo on 0.04606, juuri alle 0.05:n kynnysarvon, joten hylkรครคt H0:n ja pรครคttelet, ettรค kaksi keskiarvoa eroavat toisistaan โโmerkittรคvรคsti. Alennusohjelma nรคyttรครค nostaneen myyntiรค.
โ ๏ธ Tรคrkeรครค: yllรค oleva kutsu vertaa kahta vektoria seuraavasti itsenรคinen nรคytteitรค. Koska molemmat sarjat ovat saman tyรถpajan mittauksia, tilastollisesti oikea pรครคtรถs lisรครค paritettu = TOSI:
t.test(sales_before, sales_after, paired = TRUE)
Parillinen muoto testaa pรคivittรคisten erojen keskiarvoa kahden keskiarvon erotuksen sijaan. Se poistaa molempien vektorien yhteisen tyรถpaikkakohtaisen vaihtelun ja sillรค on siksi enemmรคn tilastollista tehoa.
T-testin oletusten tarkistaminen R:ssรค
T-testin p-arvo on merkityksellinen vain, kun sen oletukset pรคtevรคt. Jokaisella on suora tarkistus.
1. Normaalisuus. Yhden ja kahden otoksen testeissรค oletetaan arvojen olevan suunnilleen normaaleja; paritettu testi olettaa, ettรค erot ovat. Tutki QQ-kuvaajaa ja vahvista se Shapiro-Wilk-testillรค:
qqnorm(sugar_cookie); qqline(sugar_cookie)
shapiro.test(sugar_cookie)
# for a paired design, test the differences
shapiro.test(sales_after - sales_before)
Shapiro-Wilkin p-arvo, joka on yli 0.05, tarkoittaa, ettรค normaaliutta ei voida hylรคtรค. Kun havaintoja ryhmรครค kohden on yli noin 30, keskeinen raja-arvolause tekee t-testistรค joka tapauksessa vankan kohtalaiseen vinoumaan.
2. Yhtรคlรคinen varianssi. Vain yhdistetty kahden otoksen testi tarvitsee tรคtรค. Testaa se F-testillรค:
var.test(line_a, line_b)
P-arvo, joka on yli 0.05, tukee yhtรค suuria varianssiarvoja, mikรค oikeuttaa muuttuja.yhtรค suuri = TOSI.
3. Itsenรคisyys. Tรคmรค johtuu tutkimusasetelmasta, eikรค sitรค voida testata jรคlkikรคteen. Jos sama koehenkilรถ vaikuttaa molempiin vektoreihin, riippumattomuustesti on yksinkertaisesti vรครคrรค tyรถkalu ja tarvitaan parillinen = TOSI.
Kun oletus epรคonnistuu. Selvรคsti epรคnormaalille datalle pienillรค otoksilla kรคytรค jรคrjestysperusteisia vaihtoehtoja: wilcox.test(x, y) korvaa kahden otoksen t-testin ja wilcox.test(x, y, paired = TRUE) korvaa paritetun version. Kumpikaan ei vaadi normaaliutta, vaikka molemmat vรคhentรคvรคt hieman potenssia, kun data on todellisuudessa normaalia.
T-testi R:ssรค: Keskeiset tiedot ja testiviite
- Tilastollinen pรครคttely on taitoa tehdรค johtopรครคtรถksiรค tietojen jakautumisesta.
- T-testi kuuluu pรครคttelytilastojen perheeseen. Sitรค kรคytetรครคn yleisesti selvittรคmรครคn, onko kahden ryhmรคn keskiarvojen vรคlillรค tilastollista eroa.
- Yhden otoksen t-testi eli Studentin testi vertaa vektorin keskiarvoa teoreettiseen keskiarvoon.
- Paritettu t-testi eli riippuvan otoksen t-testi soveltuu, kun sama ryhmรค mitataan kahdesti.
Alla oleva taulukko esittรครค yhteenvedon jokaisesta yllรค kรคsitellystรค testistรค:
| Testi | Hypoteesi testattavaksi | p-arvo | Code | Valinnainen argumentti |
|---|---|---|---|---|
| yhden otoksen t-testi | Vektorin keskiarvo on eri kuin teoreettinen keskiarvo | 0.05 |
t.test(x, mu = mean)
|
|
| parillinen nรคyte t-testi | Keskiarvo A eroaa keskiarvosta B samoilla koehenkilรถillรค | 0.05 |
t.test(A, B, paired = TRUE) |
var.equal = TRUE
|
Jos olet valmis olettamaan yhtรค suuret varianssit riippumattomassa kahden otoksen testissรค, aseta var.equal = TRUE. Jรคtรค se oletusarvoiseen FALSE-arvoon suorittaaksesi turvallisemman Welch-korjauksen.




