T-testi eeldused

Tuletame meelde t-testi eeldused:
1.Andmed on vähemalt intervallskaalal.
1.1 Sõltuvate rühmade t-testi puhul peab olema normaaljaotusega jaotus, mis on moodustatud järgmiselt: ühel korral mõõdetud tulemustest on lahutatud teisel korral mõõdetud tulemused.
1.2 Sõltumatu t-testi puhul peab tunnus rühmade lõikes olema normaaljaotusega, samuti peavad rühmade dispersioonide olema homogeensed (ning valimid peavad olema sõltumatud).

Joonis 1. Keskmiste võrdlemine kahe grupi korral.

Joonis 1. Keskmiste võrdlemine kahe grupi korral.

Vaatame, kuidas neid eeldusi testida, kui tahame uurida, kas tüdrukud said teksti mõistmise testis paremaid tulemusi kui poisid.

Kas uuritav tunnus on rühmade lõikes normaaljaotusega?

Shapiro Wilki test üks levinumaid statistilisi meetodeid normaaljaotuse kontrollimiseks. Väljundist tuleb vaadata p-value-t. Kui p-value on väiksem kui 0.05, siis ei ole andmed selle testi kohaselt normaaljaotuslikud.

# Kontrollime poiste(1) puhul tunnuse "tekst" normaaljaotust:
shapiro.test(subset(test11$tekst, test11$Sugu == 1))
## 
##  Shapiro-Wilk normality test
## 
## data:  subset(test11$tekst, test11$Sugu == 1)
## W = 0.9577, p-value = 3.288e-12
# Kontrollime tüdrukute(2) puhul tunnuse "tekst" normaaljaotust:
shapiro.test(subset(test11$tekst, test11$Sugu == 2))
## 
##  Shapiro-Wilk normality test
## 
## data:  subset(test11$tekst, test11$Sugu == 2)
## W = 0.96074, p-value = 3.349e-13

Praktikas leiab harva selle testi põhjal normaalajotusele vastavust, st on levinud asümmeetriakordaja (skewness) ning ekstsessi (kurtosis) põhjal normaaljaotuse hindamine. Andmeid peetakse normaaljaotusele ligilähedaseks siis, kui asümmeetriakordaja ja järsakusaste/ekstsess on vahemikus -1 kuni 1.

Vaatame, kuidas asümmeetrijakordajat (skew) ja ekstsessi (kurtosis) arvutada.
Selleks kasutame funktsiooni describe(), mis on paketi psych funktsioonide komplektis. Esmalt peame selle paketi enda arvutisse installeerima. See käib läbi RStudio konsooli:

install.packages("psych")#kirjutage see rida RStudio konsoolile. Paketi installeerimise peale võib minna natuke aega.

Nüüd saame kasutada funktsiooni describe. Sellele funktsioonile anname argumendiks ühe grupi andmed.

library(psych)#selle käsuga teeme antud paketi funktsioonide aktiivseks
describe(subset(test11$tekst, test11$Sugu == 1))#poiste andmed
##    vars   n mean   sd median trimmed  mad min max range skew kurtosis   se
## X1    1 608 3.12 1.66      3    3.05 1.48   0   8     8 0.31    -0.34 0.07
describe(subset(test11$tekst, test11$Sugu == 2))#tüdrukute andmed
##    vars   n mean   sd median trimmed  mad min max range skew kurtosis   se
## X1    1 742 3.28 1.65      3    3.22 1.48   0   9     9  0.3    -0.16 0.06

Teeme ka histogrammi, et saada jaotusest parem mulje.

hist(subset(test11$tekst, test11$Sugu == 1))

hist(subset(test11$tekst, test11$Sugu == 2))

Kas rühmade dispersioonid on homogeensed?

Selle eelduse testimiseks kasutame funktsiooni leveneTest(), mis on paketi car funktsioonide komplektis. Esmalt peame selle paketi enda arvutisse installeerima. See käib läbi RStudio konsooli:

install.packages("car")

Nüüd saame kasutada funktsiooni leveneTest. Esimeseks argumendiks paneme sõltuva muutuja ja teiseks kategoriseeriva tunnuse.

library(car)
leveneTest(test11$tekst, test11$Sugu)
## Levene's Test for Homogeneity of Variance (center = median)
##         Df F value Pr(>F)
## group    1  0.0857 0.7697
##       1348

Sõltumatute gruppidega t-test

Parameetriline

Avage andmefail test11.
Uurige hüpoteesi: tüdrukute teksti mõistmise testi tulemus on statistiliselt oluliselt parem kui poiste oma.
Selle testi tegemiseks kasutame funktsiooni t.test():
t.test(y~x), kus y on numbriline tunnus ja x on kategooria (binaarne).

# kahe sõltumatu grupiga t-test
t.test(test11$tekst ~ test11$Sugu) 
## 
##  Welch Two Sample t-test
## 
## data:  test11$tekst by test11$Sugu
## t = -1.8692, df = 1293.9, p-value = 0.06182
## alternative hypothesis: true difference in means is not equal to 0
## 95 percent confidence interval:
##  -0.346850887  0.008380891
## sample estimates:
## mean in group 1 mean in group 2 
##        3.115132        3.284367

Uurige hüpoteesi: poiste ja tüdrukute keskmised tulemused matemaatika testis on erinevad.

# kahe sõltumatu grupiga t-test
t.test(test11$matemaatika ~ test11$Sugu) 
## 
##  Welch Two Sample t-test
## 
## data:  test11$matemaatika by test11$Sugu
## t = 9.1097, df = 1198.4, p-value < 2.2e-16
## alternative hypothesis: true difference in means is not equal to 0
## 95 percent confidence interval:
##  1.654612 2.562937
## sample estimates:
## mean in group 1 mean in group 2 
##        9.460526        7.351752

Mitteparameetriline

Avage andmefail koolid.csv.
Kas antisotsiaalsuse (tunnus “antisotsiaalsus2”") keskmised tulemused erinevad sugude lõikes?
Selle testi tegemiseks kasutame Mann-Whitney U testi. R-is saame seda teha funktsiooniga wilcox.test():
wilcox.test(y ~ x), kus y on numbriline tunnus ja x on kategooria (binaarne).

# kahe sõltumatu grupiga Mann-Whitney U Test 
wilcox.test(koolid$antisots2 ~ koolid$sugu) 
## 
##  Wilcoxon rank sum test with continuity correction
## 
## data:  koolid$antisots2 by koolid$sugu
## W = 8970.5, p-value = 2.673e-06
## alternative hypothesis: true location shift is not equal to 0

Sõltuvate gruppidega t-test - AUhinnangud

Avage andmefail AUhinnangud.csv.
Tegemist on ühe koolitöö raames kogutud andmestikuga, milles näidati naisterahvastele 10 mehe pilte, mida paluti atraktiivsuse (A) ja usaldusväärsuse (U) 10-palli-skaalal hinnata. Igast pildist oli 2 versiooni: (1) ühel juhul vaatas isik otse, (2) teisel juhul oli pilti töödeldud nii, et pilk oli suunatud kõrvale (andmestikus on märge a, mis tuleneb ingliskeelsest sõnast averted). Hüpoteesideks oli, et otsepilguga pilte hinnati keskmiselt (H1) atraktiivsemaks ning (H2) usaldusväärsemaks. Kas need hüpoteesid leidsid kinnitust ka andmestikust?
Katsetingimuste keskmised tulemused on juba välja arvutatud:

  1. U_kesk - usaldusväärsuse hinnang, isik pildil vaatas otse
  2. U_kesk_a - usaldusväärsuse hinnang, isik pildil vaatas kõrvale
  3. A_kesk - atraktiivsuse hinnang, isik pildil vaatas otse
  4. A_kesk_a - atraktiivsuse hinnang, isik pildil vaatas kõrvale
# Arvutuskäigu näide:  
# loob andmestikku uue veeru nimega "U_kesk"
AUhinnangud$U_kesk = mean(U1.1,U1.2,U1.3,U1.4,U1.5,U1.6,U1.7,U1.8, U1.9, U1.10, na.rm =TRUE) #na.rm =TRUE - arvutuskäik ignoreerib puuduvaid väärtusi

Parameetriline

Uurige välja, kas hüpoteesid leidsid kinnitust. Esialgu võrrelge omavahel usaldusväärsuse hinnanguid erinevates katsetingimustes (pilk suunatud otse vs pilk suunatud kõrvale). Seejärel võrrelge omavahel ka atrkatiivsuse hinnanguid erinevates katsetingimustes. Nende testide tegemiseks kasutame sõltuvate valimitega t-testi.
Selle testi tegemiseks kasutame funktsiooni t.test(), aga seekord lisame argumendi “paired=TRUE”:
t.test(y1,y2,paired=TRUE), kus y1 ja y2 on mõlemad numbrilised muutujad

# sõltuvate gruppidega t-test
t.test(AUhinnangud$U_kesk, AUhinnangud$U_kesk_a,paired=TRUE) 
## 
##  Paired t-test
## 
## data:  AUhinnangud$U_kesk and AUhinnangud$U_kesk_a
## t = 5.0326, df = 29, p-value = 2.317e-05
## alternative hypothesis: true difference in means is not equal to 0
## 95 percent confidence interval:
##  0.2235895 0.5297438
## sample estimates:
## mean of the differences 
##               0.3766667
# sõltuvate gruppidega t-test
t.test(AUhinnangud$A_kesk, AUhinnangud$A_kesk_a,paired=TRUE) 
## 
##  Paired t-test
## 
## data:  AUhinnangud$A_kesk and AUhinnangud$A_kesk_a
## t = 4.9505, df = 29, p-value = 2.911e-05
## alternative hypothesis: true difference in means is not equal to 0
## 95 percent confidence interval:
##  0.2347442 0.5652558
## sample estimates:
## mean of the differences 
##                     0.4

Mitteparameetriline

Kui parameetrilise testi eeldused on rikutud, siis tuleks siinkohal kasutada Wilcoxon Signed Rank testi.
Võrrelge nii atraktiivsusele kui ka usaldusväärsusele antud hinnaguid ka mitteparameetriliste testidega. Mille poolest tulemused erinevad?

Selle testi tegemiseks kasutame funktsiooni jälle wilcox.test(), aga seekord lisame argumendi “paired=TRUE”:
wilcox.test(y1,y2,paired=TRUE), kus y1 ja y2 on mõlemad numbrilised muutujad

# kahe sõltuva grupiga Wilcoxon Signed Rank Test 
wilcox.test(AUhinnangud$U_kesk, AUhinnangud$U_kesk_a,paired=TRUE) 
## 
##  Wilcoxon signed rank test with continuity correction
## 
## data:  AUhinnangud$U_kesk and AUhinnangud$U_kesk_a
## V = 354.5, p-value = 7.296e-05
## alternative hypothesis: true location shift is not equal to 0
# kahe sõltuva grupiga  Wilcoxon Signed Rank Test 
wilcox.test(AUhinnangud$A_kesk, AUhinnangud$A_kesk_a,paired=TRUE) 
## 
##  Wilcoxon signed rank test with continuity correction
## 
## data:  AUhinnangud$A_kesk and AUhinnangud$A_kesk_a
## V = 405.5, p-value = 4.956e-05
## alternative hypothesis: true location shift is not equal to 0