Gebruik de one-way ANOVA bij het toetsen of de gemiddelden van twee of meer onafhankelijke groepen verschillen.1
Om wervingsactiviteiten beter af te stemmen op de aankomende studenten, wil het hoofd van de afdeling Communicatie weten wat de reistijd (in minuten) is van studenten van verschillende opleidingen. Hij heeft daarom data verzameld over de reistijd van uitwonende studenten voor de opleidingen: Arabische Taal en Cultuur, Filosofie en Geschiedenis.
Dit onderzoek vertaalt zich in de volgende combinatie van hypothesen, waarbij de nulhypothese zo geformuleerd is dat er geen effect of verschil is en de alternatieve hypothese zo geformuleerd is dat er wel een effect of verschil is.
H0: De reistijden van de studenten van de drie opleidingen komen uit dezelfde verdeling en hebben dus een gezamenlijk gemiddelde
HA: De reistijden van de studenten van de drie opleidingen komen niet uit dezelfde verdeling en hebben dus een verschillend gemiddelde
Om een valide toetsresultaat te bereiken moet de data aan een aantal voorwaarden voldoen. Controleer of de steekproef aan de volgende assumpties voldoet: normaliteit, homogeniteit van varianties en onafhankelijkheid.
De one-way ANOVA is een robuuste toets: als er niet voldaan is aan de assumptie van normaliteit of homogeniteit van varianties, dan kan de one-way ANOVA in bepaalde gevallen nog steeds uitgevoerd en geïnterpreteerd worden.2 Hierdoor kan het wel zijn dat de toets minder onderscheidend vermogen heeft, dan wanneer de assumpties niet geschonden worden.3, 4 Als er grote afwijkingen zijn van normaliteit of homogeniteit van varianties, is de Kruskal-Wallis toets een alternatief voor de one-way ANOVA.5, 6
De assumptie van normaliteit houdt bij de one-way ANOVA in dat de afhankelijke variabele normaal verdeeld is voor elke groep. Controleer de assumptie van normaliteit voor elke groep met de volgende stappen:
1. Controleer de data visueel met een histogram, een boxplot of een Q-Q plot.
2. Toets of de data normaal verdeeld zijn met de Kolmogorov-Smirnov test of bij een kleinere steekproef (n < 50) met de Shapiro-Wilk test.7, 8
De eerste stap heeft als doel een goede indruk te krijgen van de verdeling van de steekproef. In de tweede stap wordt de assumptie van normaliteit getoetst. De statistische toets laat zien of de verdeling van de observaties van een groep voldoet aan de assumptie van normaliteit. Voor alle groepen moet er voldaan zijn aan de assumptie van normaliteit.
Als er niet voldaan is aan normaliteit, is het transformeren van de data een optie.9 Een andere optie is het gebruik van de nonparametrische Kruskal-Wallis toets waar normaliteit geen assumptie is.10 De one-way ANOVA is echter ook een robuuste toets ten opzichte van de assumptie van normaliteit. Als elke groep een aantal observaties (n) heeft dat groter dan 100 is, ga er dan vanuit dat de one-way ANOVA robuust genoeg is om uit te voeren zonder dat de afhankelijke variabele een normale verdeling volgt.
Toets met de Levene’s Test (for equality of variance) of de variantie van iedere groep ongeveer hetzelfde is. Bij een p-waarde kleiner dan 0,05 is de variantie van de groepen significant verschillend.11 De one-way ANOVA is in bepaalde gevallen robuust als er geen homogeniteit van varianties is. Als de ratio van de grootste en kleinste steekproefgrootte van alle groepen kleiner dan 10 is en de ratio van de grootste en kleinste variantie van alle groepen kleiner dan 4 is, dan kan de one-way ANOVA gewoon uitgevoerd worden.12 Voer de Kruskal-Wallis toets toets uit als er niet aan deze voorwaarden voor robuustheid is voldaan.
De p-waarde geeft aan of het verschil tussen groepen significant is. De grootte van het verschil of effect is echter ook relevant. Een effectmaat is een gestandaardiseerde maat die de grootte van een effect weergeeft, zodat effecten van verschillende onderzoeken met elkaar vergeleken kunnen worden.13 Voor de one-way ANOVA wordt de effectmaat eta squared vaak gebruikt.
De effectmaat eta squared (η2) berekent de proportie van de variantie in de afhankelijke variabele die verklaard wordt door de onafhankelijke variabele. In deze casus berekent het de proportie van de variantie in de lengte van de reistijd die verklaard kan worden door de opleiding. Een indicatie om η2 te interpreteren is: rond 0,01 is een klein effect, rond 0,06 is een gemiddeld effect en rond 0,14 is een groot effect.14,15
De one-way ANOVA toetst of de groepen afkomstig zijn van eenzelfde verdeling met een gezamenlijk gemiddelde of van verschillende verdeling met een eigen gemiddelde. Voer een post-hoc toets uit om te bepalen welke groepen significant verschillen. De post-hoc toetsen voeren meestal een correctie voor de p-waarden uit, omdat er meerdere toetsen tegelijkertijd worden gebruikt. Meerdere toetsen tegelijkertijd uitvoeren verhoogt de kans dat een van de nulhypotheses onterecht wordt verworpen en er bij toeval een verband wordt ontdekt dat er niet is (type I fout).
Er zijn meerdere post-hoc toetsen. De keuze voor een toets hangt onder andere af van het wel of niet schenden van de assumptie van homogeniteit van varianties:
* Gebruik de Tukey Honestly Significant Difference post-hoc toets bij gelijke variantie.16
* Gebruik de Games-Howell post-hoc toets bij ongelijke variantie.17
Er is een dataset ingeladen met de reistijden van uitwonende studenten per opleiding genaamd Reistijd_per_opleiding.
Gebruik head() en tail() om de structuur van de data te bekijken.
## Eerste 5 observaties
head(Reistijd_per_opleiding)
## Studentnummer Opleiding Reistijd
## 1 4186262 Filosofie 7.82
## 2 4495577 Geschiedenis 9.56
## 3 4165973 Filosofie 14.15
## 4 4113936 Geschiedenis 14.19
## 5 4113263 Filosofie 15.00
## 6 4142833 Geschiedenis 15.71
## Laatste 5 observaties
tail(Reistijd_per_opleiding)
## Studentnummer Opleiding Reistijd
## 252 4295316 Geschiedenis 62.89
## 253 4484281 Geschiedenis 63.10
## 254 4393334 Geschiedenis 63.90
## 255 4245767 Geschiedenis 64.99
## 256 4086107 Geschiedenis 65.44
## 257 4071131 Arabische Taal en Cultuur 67.56
De dataset bevat gegevens van studenten van verschillende opleidingen. Gebruik unique() om te onderzoeken welke opleidingen er in de data aanwezig zijn.
## Unieke opleidingen
unique(Reistijd_per_opleiding$Opleiding)
## [1] Filosofie Geschiedenis
## [3] Arabische Taal en Cultuur
## Levels: Arabische Taal en Cultuur Filosofie Geschiedenis
Selecteer de drie groepen en sla deze op in een vector om deze makkelijker aan te kunnen roepen.
Reistijd_ATC <- Reistijd_per_opleiding$Reistijd[Reistijd_per_opleiding$Opleiding == "Arabische Taal en Cultuur"]
Reistijd_FIL <- Reistijd_per_opleiding$Reistijd[Reistijd_per_opleiding$Opleiding == "Filosofie"]
Reistijd_GSC <- Reistijd_per_opleiding$Reistijd[Reistijd_per_opleiding$Opleiding == "Geschiedenis"]
Bekijk de beschrijvende statistieken per groep om meer inzicht te krijgen in de data. Gebruik hiervoor de functie descr en stby van het package summarytools om de beschrijvende statistieken per groep weer te geven. Voer de gewenste statistieken in met het argument stats = c("mean", "sd", "n.valid").
library(summarytools)
with(Reistijd_per_opleiding,
stby(data = Reistijd,
list(Opleiding),
descr,
stats = c("mean", "sd", "n.valid")))
## Descriptive Statistics
## Reistijd by Opleiding
## Data Frame: Reistijd_per_opleiding
## N: 48
##
## Arabische Taal en Cultuur Filosofie Geschiedenis
## ------------- --------------------------- ----------- --------------
## Mean 47.45 33.77 36.53
## Std.Dev 10.05 10.96 12.09
## N.Valid 48.00 60.00 149.00
Geef de verdeling van de reistijd voor elke opleiding visueel weer met een histogram, Q-Q plot en boxplot.
Focus bij het analyseren van een histogram18 op de symmetrie van de verdeling, de hoeveelheid toppen (modaliteit) en mogelijke uitbijters. Een normale verdeling is symmetrisch, heeft één top en geen uitbijters.19, 20
## Histogram met ggplot
library(ggplot2)
ggplot(Reistijd_per_opleiding,
aes(x = Reistijd)) +
geom_histogram(aes(y = ..density..),
binwidth = 5,
color = "grey30",
fill = "#0089CF") +
facet_wrap(~ Opleiding) +
geom_density(alpha = .2, adjust = 1) +
ylab("Frequentiedichtheid") +
labs(title = "Reistijd per opleiding")
De verdelingen van de opleidingen Filosofie en Geschiedenis lijken twee toppen te hebben. Alle drie de opleidingen hebben een niet geheel symmetrische verdeling, maar vertonen ook geen uitbijters. De verdeling van de opleiding Arabische taal en Cultuur is bij benadering normaal; voor de opleidingen Filosofie en Geschiedenis zijn lichte afwijkingen van de normale verdeling te zien.
Gebruik qqnorm() en qqline() met pch = 1om een Q-Q plot te maken, met als datapunten kleine cirkels.
qqnorm(
Reistijd_ATC, pch = 1,
main = "Normaal Q-Q plot van reistijd Arabische Taal en Cultuur",
ylab = "Kwantielen in data",
xlab = "Theoretische kwantielen")
qqline(Reistijd_ATC)
qqnorm(
Reistijd_FIL, pch = 1,
main = "Normaal Q-Q plot van reistijd Filosofie",
ylab = "Kwantielen in data",
xlab = "Theoretische kwantielen")
qqline(Reistijd_FIL)
qqnorm(
Reistijd_GSC, pch = 1,
main = "Normaal Q-Q plot van reistijd Geschiedenis",
ylab = "Kwantielen in data",
xlab = "Theoretische kwantielen")
qqline(Reistijd_GSC)
Bij alle drie de verdelingen liggen de meeste datapunten op of vlakbij de lijn. Hoewel er bij de uiteinden van de verdeling wat afwijkingen zijn, duidt deze grafiek op een goede benadering van de normaalverdeling voor de drie verdelingen.
De box geeft de middelste 50% van de reistijd weer. De zwarte lijn binnen de box is de mediaan. In de staarten of snorreharen zitten de eerste 25% en de laatste 25%. Cirkels visualiseren mogelijke uitbijters.21, 22 Hoe meer de boxen overlappen, hoe waarschijnlijker er geen significant verschil is tussen de groepen.
library(graphics)
boxplot(Reistijd ~ Opleiding, Reistijd_per_opleiding)
De boxplotten geven de spreiding weer van de gemiddelde reistijd van uitwonende studenten voor de opleidingen Arabische Taal en Cultuur, Filosofie en Geschiedenis. De boxplotten Arabische Taal en Cultuur en Geschiedenis zien er symmetrisch uit; de boxen zijn even hoog boven als onder de mediaan en de snorreharen zijn onder en boven even groot. De boxplot van Filosofie is boven de mediaan groter dan onder de mediaan, de data kan wat scheef verdeeld zijn. De mediaan Arabische Taal en Cultuur ligt hoger dan de twee andere opleidingen.
Om te controleren of de data normaal verdeeld is, kan de normaliteit getoetst worden. Twee veelgebruikte toetsen zijn: de Kolmogorov-Smirnov test en de Shapiro-Wilk test.
De Kolmogorov-Smirnov test toetst het verschil tussen twee verdelingen. Standaard toetst deze toets het verschil tussen een normale verdeling en de verdeling van de steekproef. De Lilliefors correctie is vereist als het gemiddelde en de standaardafwijking niet van tevoren bekend of bepaald zijn, wat meestal het geval is bij een steekproef. Als de p-waarde kleiner dan 0,05 is, is de verdeling van de data significant verschillend van de normale verdeling.
library("nortest")
lillie.test(Reistijd_ATC)
##
## Lilliefors (Kolmogorov-Smirnov) normality test
##
## data: Reistijd_ATC
## D = 0.10279, p-value = 0.2316
lillie.test(Reistijd_FIL)
##
## Lilliefors (Kolmogorov-Smirnov) normality test
##
## data: Reistijd_FIL
## D = 0.11192, p-value = 0.05924
lillie.test(Reistijd_GSC)
##
## Lilliefors (Kolmogorov-Smirnov) normality test
##
## data: Reistijd_GSC
## D = 0.065523, p-value = 0.1218
De p-waarde is groter dan 0,05 voor elke groep; er is geen significant verschil gevonden tussen de verdeling van de steekproef en de normale verdeling. 23 De one-way ANOVA kan uitgevoerd worden.
De Shapiro-Wilk test is een soortgelijke toets als de Kolmogorov-Smirnov test en vooral geschikt bij kleine steekproeven (n < 50). Als de p-waarde kleiner dan 0,05 is, is de verdeling van de data significant verschillend van de normale verdeling.
shapiro.test(Reistijd_GSC)
##
## Shapiro-Wilk normality test
##
## data: Reistijd_GSC
## W = 0.98501, p-value = 0.106
shapiro.test(Reistijd_FIL)
##
## Shapiro-Wilk normality test
##
## data: Reistijd_FIL
## W = 0.9738, p-value = 0.2231
shapiro.test(Reistijd_ATC)
##
## Shapiro-Wilk normality test
##
## data: Reistijd_ATC
## W = 0.97414, p-value = 0.3638
De p-waarde is groter dan 0,05 voor elke groep, dus er is geen significant verschil gevonden tussen de verdeling van de steekproef en de normale verdeling. De one-way ANOVA kan uitgevoerd worden.
Toets met de Levene’s test de homogeniteit van varianties. Gebruik hiervoor de functie leveneTest() van het package car met als eerst argument de afhankelijke variabele Reistijd_per_opleiding$Reistijd en als tweede argument de onafhankelijke variabele Reistijd_per_opleiding$Opleiding.
library(car)
leveneTest(Reistijd_per_opleiding$Reistijd, Reistijd_per_opleiding$Opleiding)
## Levene's Test for Homogeneity of Variance (center = median)
## Df F value Pr(>F)
## group 2 1.6633 0.1916
## 254
Voer de one-way ANOVA uit om de vraag te beantwoorden of de gemiddelde reistijd van de studenten per opleiding verschilt.
Gebruik aov() om een ANOVA-object (aov) te creëren. Het eerste argument bestaat uit de afhankelijke variabele Reistijd en de groepvariabele Opleiding; het tweede argument bevat de dataset Reistijd_per_opleiding. Geef het resultaat weer met summary().
res.aov <- aov(Reistijd ~ Opleiding, Reistijd_per_opleiding)
summary(res.aov)
## Df Sum Sq Mean Sq F value Pr(>F)
## Opleiding 2 5685 2842.6 21.58 2.21e-09 ***
## Residuals 254 33462 131.7
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
Gebruik EtaSq() van het package DescTools met als argument het ANOVA_object res.aov om de effectmaat eta squared te berekenen.
library(DescTools)
EtaSq(res.aov)
## eta.sq eta.sq.part
## Opleiding 0.145228 0.145228
Voer een Tukey Honestly Significant Difference post-hoc toets uit om te bepalen welke van de type opleidingen in reistijd verschillen. Deze post-hoc toets wordt gebruikt omdat er voldaan is aan de assumptie van homogeniteit van varianties. Gebruik TukeyHSD() op de uitkomsten van de one-way ANOVA, het ANOVA-object res.aov.
TukeyHSD(res.aov)
## Tukey multiple comparisons of means
## 95% family-wise confidence level
##
## Fit: aov(formula = Reistijd ~ Opleiding, data = Reistijd_per_opleiding)
##
## $Opleiding
## diff lwr upr p adj
## Filosofie-Arabische Taal en Cultuur -13.68542 -18.925405 -8.445429 0.0000000
## Geschiedenis-Arabische Taal en Cultuur -10.92452 -15.415423 -6.433610 0.0000001
## Geschiedenis-Filosofie 2.76090 -1.376419 6.898220 0.2591223
Een one-way ANOVA is uitgevoerd om te toetsen of de gemiddelde reistijd van de studenten per opleiding gelijk is aan elkaar. De opleidingen zijn Arabische Taal en Cultuur (Matc = 47,45, SDatc = 10,05), Filosofie (Mfil = 33,77, SDfil = 10,96) en Geschiedenis (Mgsc = 36,53, SDfil = 12,09); beschrijvende statistieken zijn ook te vinden in Tabel 1. De gemiddelde reistijd van de groepen verschilt significant van elkaar, F(2, 254) = 21,58, p < 0,0001, η2 = 0,15. De sterkte van het effect van de type opleiding op de reistijd is groot.
| Opleiding | N | M | SD |
|---|---|---|---|
| Arabisch | 48 | 47,45 | 10,05 |
| Filosofie | 60 | 33,77 | 10,96 |
| Geschiedenis | 149 | 36,53 | 12,09 |
Tabel 1. Groepsgrootte, gemiddelde reistijd en standaarddeviatie per opleiding
De Tukey Honest Significant Differences post-hoc toets is uitgevoerd om te toetsen welke van de drie gemiddelden significant verschillen. De gemiddelde reistijd van studenten Filosofie is significant lager dan de reistijd van studenten Arabische Taal en Cultuur (MD = -13,69, p < 0,0001). De reistijd voor studenten Geschiedenis is ook significant lager dan de reistijd voor studenten Arabische Taal en Cultuur (MD = -10,92, p < 0,0001). De reistijd van studenten Geschiedenis en studenten Filosofie is niet significant verschillend (MD = 2,76, p = 0,26). Aan de hand van de resultaten kan geconcludeerd worden dat de studenten van Arabische Taal en Cultuur langer moeten reizen dan de andere twee opleidingen en dat er geen verschil lijkt te zijn in de reistijd van de studenten Filosofie en Geschiedenis.
Van Geloven, N. (25 mei 2016). One-way ANOVA. Wiki Statistiek Academisch Medisch Centrum.↩
Universiteit van Amsterdam (8 juli 2014). One-way ANOVA. UvA Wiki Methodologiewinkel.↩
Onderscheidend vermogen, in het Engels power genoemd, is de kans dat de nulhypothese verworpen wordt wanneer de alternatieve hypothese ‘waar’ is.↩
Field, A., Miles, J., & Field, Z. (2012). Discovering statistics using R. London: Sage publications.↩
Van Geloven, N. (21 maart 2018). Kruskal Wallis. Wiki Statistiek Academisch Medisch Centrum.↩
De Kruskal-Wallis toets maakt een rangschikking van de data. Hierdoor is de toets verdelingsvrij en is normaliteit geen assumptie. Ook zijn uitbijters minder van invloed op het eindresultaat. Toch wordt er voor deze toets minder vaak gekozen, omdat bij het maken van een rankschikking de dataset informatie verliest. Als de data wel normaal verdeeld zijn, heeft de Kruskal-Wallis toets minder onderscheidend vermogen dan wanneer de one-way ANOVA uitgevoerd zou worden.↩
Laerd statistics (2018). Testing for Normality using SPSS Statistics. https://statistics.laerd.com/spss-tutorials/testing-for-normality-using-spss-statistics.php.↩
Universiteit van Amsterdam (14 juli 2014). Normaliteit. UvA Wiki Methodologiewinkel.↩
Universiteit van Amsterdam (8 juli 2014). One-way ANOVA. UvA Wiki Methodologiewinkel.↩
Onderscheidend vermogen, in het Engels power genoemd, is de kans dat de nulhypothese verworpen wordt wanneer de alternatieve hypothese ‘waar’ is.↩
Wikipedia (7 september 2019). Analysis of variance. https://en.wikipedia.org/wiki/Analysis_of_variance.↩
Tabachnick, B.G. & Fidell, L.S. (2013). Using multivariate statistics. Sixth Edition, Pearson. Pagina 86.↩
Field, A., Miles, J., & Field, Z. (2012). Discovering statistics using R. London: Sage publications.↩
Watson, P. (30 oktober 2019). Rules of thumb on magnitudes of effect sizes. MRC Cognition and Brain Sciences Unit Wiki.↩
Eta-squared. (2019 May 14). Retrieved from: https://en.wikiversity.org/wiki/Eta-squared.↩
Universiteit van Amsterdam (26 augustus 2014). MANOVA. UvA Wiki Methodologiewinkel.↩
Marshall, E., & Boggis, E. (2016). The statistics tutor’s quick guide to commonly used statistical tests. http://www.statstutor.ac.uk/resources/uploaded/tutorsquickguidetostatistics.pdf.↩
De breedte van de staven van het histogram wordt vaak automatisch bepaald, maar kan handmatig aangepast worden. Aangezien de breedte van de staven bepalend zijn voor de indruk die de visualisatie geeft, is het verstandig om hier goed op te letten.↩
Outliers (13 augustus 2016). UvA Wiki Methodologiewinkel.↩
Uitbijters kunnen bepalend zijn voor de uitkomst van toetsen. Bekijk of de uitbijters valide uitbijters zijn en niet een meetfout of op een andere manier incorrect verkregen data. Het weghalen van uitbijters kan de uitkomst ook vertekenen, daarom is het belangrijk om verwijderde uitbijters te melden in een rapport.↩
Outliers (13 augustus 2016). UvA Wiki Methodologiewinkel.↩
Uitbijters kunnen bepalend zijn voor de uitkomst van toetsen. Bekijk of de uitbijters valide uitbijters zijn en niet een meetfout of op een andere manier incorrect verkregen data. Het weghalen van uitbijters kan de uitkomst ook vertekenen, daarom is het belangrijk om verwijderde uitbijters te melden in een rapport.↩
In dit voorbeeld wordt uitgegaan van een waarschijnlijkheid van 95% c.q. een p-waardegrens van 0,05. De grens is naar eigen inzicht aan te passen; houd hierbij rekening met type I en type II fouten.↩
In dit voorbeeld wordt uitgegaan van een waarschijnlijkheid van 95% c.q. een p-waardegrens van 0,05. De grens is naar eigen inzicht aan te passen; houd hierbij rekening met type I en type II fouten.↩