Gebruik Friedman’s ANOVA om te toetsen of twee of meer gepaarde groepen van elkaar verschillen op een ordinale1 variabele.2 Als de variabele beter als nominaal3 beschouwd kan worden, is de multilevel multinomiale logistische regressie een alternatief. Bij deze toets wordt echter geen rekening gehouden met de ordening van de categorieën van de ordinale variabele: de variabele wordt behandeld als een nominale variabele.
De opleidingsdirecteur van de bachelor Geschiedenis van een universiteit merkt dat er tijdens het eerste studiejaar veel studenten zijn die niet alle vakken voldoende afsluiten. Zij wil uitvinden in welke onderwijsperiode dit vooral plaatsvindt om te onderzoeken waardoor de studievertraging veroorzaakt wordt. Op deze universiteit bestaat het eerste jaar uit vier onderwijsperiodes met daarin drie vakken. De opleidingsdirecteur vraagt studieresultaten op van eerstejaars studenten in het vorige collegejaar. Met deze resultaten wil zij onderzoeken of er verschillen zijn tussen de vier onderwijsperiodes wat betreft het aantal vakken dat studenten voldoende afsluiten.
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: Er zijn geen verschillen tussen (de gemiddelde rangnummers van) het aantal voldoendes in onderwijsperiode 1, 2, 3 en 4 voor studenten van de bachelor Geschiedenis.
HA: Er zijn wel verschillen tussen (de gemiddelde rangnummers van) het aantal voldoendes in onderwijsperiode 1, 2, 3 en 4 voor studenten van de bachelor Geschiedenis.
Het meetniveau van de afhankelijke variabele is ordinaal4 of continu.5 In deze toetspagina staat een casus met een ordinale afhankelijke variabele centraal; een casus met een continue afhankelijke variabele met bijbehorende uitwerking is te vinden in de Friedman’s ANOVA I.
Om Friedman’s ANOVA uit te voeren met een ordinale afhankelijke variabele, moet deze variabele in sommige gevallen omgezet worden in getallen. Als een variabele bijvoorbeeld vier categorieën bevat, worden ze genummerd van 1 tot en met 4 op basis van de ordening van de variabele. Een voorbeeld hiervan is de afhankelijke variabele Beoordeling die de categorieën onvoldoende, voldoende, goed en uitstekend bevat. De categorieën onvoldoende, voldoende, goed en uitstekend worden dan omgezet in respectievelijk 1, 2, 3 en 4. Bij de multilevel multinomiale logistische regressie wordt dit niet gedaan, maar wordt de ordinale afhankelijke variabele als nominaal6 beschouwd.
Friedman’s ANOVA maakt voor elke observatie-eenheid een rangschikking van alle observaties. Vervolgens wordt het gemiddelde rangnummer per groep berekend en vergeleken tussen de groepen. In de huidige casus wordt er dus voor elke student een rangschikking gemaakt van het aantal voldoendes in onderwijsperiode 1, 2, 3 en 4 en wordt het gemiddelde rangnummer berekend voor elk van de vier onderwijsperioden. Het verschil tussen de gemiddelde rangnummers van de groepen bepaalt de significantie van de toets.7
Friedman’s ANOVA toetst of er een verschil is tussen de groepen op gebied van de afhankelijke variabele. De post-hoc toets wordt daarna gebruikt om te toetsen tussen welke specifieke groepen er een significant verschil is. Gebruik de Wilcoxon signed rank toets als post-hoc toets.
Gebruik een correctie voor de p-waarden, 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). In deze toetspagina wordt de Bonferroni correctie gebruikt. Deze correctie past de p-waarde aan door de p-waarde te vermenigvuldigen met het aantal uitgevoerde toetsen en verlaagt hiermee de kans op een type I fout. Een andere uitleg hiervan is dat het significantieniveau gedeeld wordt door het aantal toetsen wat leidt tot een lager significantieniveau en dus een strengere toets. Er zijn ook andere opties voor een correctie op de p-waarden.8
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.9 Voor Friedman’s ANOVA wordt de effectmaat Kendall’s W vaak gebruikt.10, 11, 12 Een indicatie om Kendall’s W te interpreteren is: rond 0,1 is het een klein effect, rond 0,3 is het een gemiddeld effect en rond 0,5 is het een groot effect.13
Er is een dataset Voldoendes_Geschiedenis ingeladen met daarin per student per periode het aantal voldoendes in het eerste jaar van de studenten van de bachelor Geschiedenis.
Gebruik head() en tail() om de structuur van de data te bekijken.
## Eerste 6 observaties
head(Voldoendes_Geschiedenis)
## Studentnummer Periode Voldoendes
## 1 3909362 1 3
## 2 3731799 1 3
## 3 3623196 1 3
## 4 3720223 1 1
## 5 3468737 1 2
## 6 3327754 1 1
## Laatste 6 observaties
tail(Voldoendes_Geschiedenis)
## Studentnummer Periode Voldoendes
## 795 3162161 4 3
## 796 3801554 4 3
## 797 3010415 4 3
## 798 3277705 4 3
## 799 3988183 4 0
## 800 3636809 4 3
Een kruistabel geeft het aantal observaties weer voor de combinaties van de categorieën van de variabelen Periode en Voldoendes. In feite laat dit zien hoeveel studenten 0, 1, 2 of 3 voldoendes hebben gehaald in elke onderwijsperiode. Maak de kruistabel met de functie table() met als argumenten de variabele Voldoendes_Geschiedenis$Periode en de variabele Voldoendes_Geschiedenis$Voldoendes.
## Maak een kruistabel
Voldoendes_kruistabel <- table(Voldoendes_Geschiedenis$Periode,
Voldoendes_Geschiedenis$Voldoendes,
dnn = c("Periode","Aantal voldoendes"))
## Print de kruistabel
print(Voldoendes_kruistabel)
## Aantal voldoendes
## Periode 0 1 2 3
## 1 10 40 50 100
## 2 20 20 30 130
## 3 10 30 100 60
## 4 10 20 20 150
## Print een tabel met proporties; het tweede argument `1` zorgt ervoor dat de
## proporties per rij berekend worden
prop.table(Voldoendes_kruistabel, 1)
## Aantal voldoendes
## Periode 0 1 2 3
## 1 0.05 0.20 0.25 0.50
## 2 0.10 0.10 0.15 0.65
## 3 0.05 0.15 0.50 0.30
## 4 0.05 0.10 0.10 0.75
De kruistabel en bijbehorende kruistabel met proporties geven informatie over de verdeling van de beoordelingen van studenten. In periode 1, 2 en 4 haalden de meeste studenten 3 voldoendes, maar in periode 3 haalden de meeste studenten 2 voldoendes.
Maak een staafdiagram om de verdeling van het aantal voldoendes voor alle onderwijsperioden visueel weer te geven.
## Staafdiagram met ggplot2
library(ggplot2)
ggplot(Voldoendes_Geschiedenis,
aes(Voldoendes)) +
geom_bar(color = "grey30",
fill = "#0089CF") +
facet_wrap(~ Periode) +
ylab("Frequentie") +
labs(title = "Aantal voldoendes per periode")
Figuur 1. Staafdiagram met de frequenties van het aantal voldoendes voor onderwijsperiode 1, 2, 3 en 4.
Het staafdiagram (Figuur 1) laat zien dat de meeste studenten 3 voldoendes halen in periode 1, 2 en 4 en de meeste studenten 2 voldoendes halen in periode 3. Ook valt op dat in periode 2 en 4 verreweg de meeste studenten 3 voldoendes halen, maar dat dat niet zo is in periode 1.
Voer de Friedman’s ANOVA uit om te onderzoeken of er verschillen zijn tussen het aantal voldoendes in de vier onderwijsperioden in het eerste jaar van studenten van de bachelor Geschiedenis. Gebruik de functie friedman.test() met als eerste argument de formule Voldoendes ~ Periode | Studentnummer met daarin links van de tilde de afhankelijke variabele Voldoendes en rechts van de tilde de onafhankelijke variabele Periode en na het sluisteken de variabele Studentnummer die de deelnemers14 aangeeft. Het tweede argument is de dataset Voldoendes_Geschiedenis.
friedman.test(Voldoendes ~ Periode | Studentnummer,
Voldoendes_Geschiedenis)
##
## Friedman rank sum test
##
## data: Voldoendes and Periode and Studentnummer
## Friedman chi-squared = 53.862, df = 3, p-value = 1.201e-11
Bereken de effectmaat Kendall’s W vervolgens op basis van de χ2-waarde van de Friedman’s ANOVA.
# Sla de Chi-kwadraat waarde op
Chi2 <- friedman.test(Voldoendes ~ Periode | Studentnummer,
Voldoendes_Geschiedenis)$statistic
# Sla het aantal deelnemers op
N <- length(unique(Voldoendes_Geschiedenis$Studentnummer))
# Sla het aantal groepen op
k <- length(unique(Voldoendes_Geschiedenis$Periode))
# Bereken de effectmaat
W <- Chi2 / (N * (k - 1))
# Print de effectmaat
paste("De effectmaat is", W)
## [1] "De effectmaat is 0.0897701555869873"
vdf = 53,86, p < 0,0001, W = 0,09Gebruik de Wilcoxon signed rank toets als post-hoc toets om te bepalen welke groepen significant verschillen. Gebruik de functie pairwise.wilcox.test() met als eerste argument de afhankelijke variabele Voldoendes_Geschiedenis$Voldoendes, als tweede argument de onafhankelijke variabele Voldoendes_Geschiedenis$Periode, als derde argument paired = TRUE om aan te geven dat er gepaarde groepen zijn en als vierde argument p.adjust.method = "bonferroni" om aan te geven dat de Bonferroni correctie toegepast moet worden. Naast de p-waarde worden bij de Wilcoxon signed rank toets de som van de rangnummers gerapporteerd. Voor meer informatie, zie de toetspagina van de Wilcoxon signed rank toets.
pairwise.wilcox.test(Voldoendes_Geschiedenis$Voldoendes,
Voldoendes_Geschiedenis$Periode,
paired = TRUE,
p.adjust.method = "bonferroni")
##
## Pairwise comparisons using Wilcoxon signed rank test
##
## data: Voldoendes_Geschiedenis$Voldoendes and Voldoendes_Geschiedenis$Periode
##
## 1 2 3
## 2 0.49605 - -
## 3 0.81424 0.03123 -
## 4 0.00098 0.25867 1.3e-06
##
## P value adjustment method: bonferroni
De Wilcoxon signed rank toets gebruikt de som van positieve en negatieve rangnummers van de verschilscores om de significantie van de toets te bepalen. Deze sommen beschrijven het verschil tussen twee gepaarde groepen waarbij de groep met een hogere som van rangnummers ook hogere waarden op de afhankelijke variabele heeft. In deze casus heeft de periode met hogere rangnummers een hoger aantal voldoendes. Bereken de som van de positieve en negatieve rangnummers voor alle vergelijkingen. In de onderstaande code worden de gemiddelde rangnummers voor alle post-hoc toetsen berekend. De resultaten zijn te zien in Tabel 1.
# Definieer een functie die de sommen van de positieve en negatieve rangnummers berekent
Sommen_rangnummers <- function(Groep_1, Groep_2){
# Bereken de verschilscores
Verschilscores <- Groep_1 - Groep_2
# Rangschik de absolute waarden van de verschilscores
Rangnummers <- rank(abs(Verschilscores))
# Maak een vector met daarin de tekens (plus of min) van de verschilscores
Tekens <- sign(Verschilscores)
# Bereken de som van de positieve rangnummers
Som_positief <- sum(Rangnummers[Tekens == 1])
# Bereken de som van de negatieve rangnummers
Som_negatief <- sum(Rangnummers[Tekens == -1])
# Retourneer de som van de positieve en negatieve rangnummers
return(list(Positief = Som_positief, Negatief = Som_negatief))
}
# Definieer de variabelen die het aantal voldoendes bevatten per periode
Voldoendes_Periode_1 <- Voldoendes_Geschiedenis$Voldoendes[Voldoendes_Geschiedenis$Periode == 1]
Voldoendes_Periode_2 <- Voldoendes_Geschiedenis$Voldoendes[Voldoendes_Geschiedenis$Periode == 2]
Voldoendes_Periode_3 <- Voldoendes_Geschiedenis$Voldoendes[Voldoendes_Geschiedenis$Periode == 3]
Voldoendes_Periode_4 <- Voldoendes_Geschiedenis$Voldoendes[Voldoendes_Geschiedenis$Periode == 4]
# Bereken de positieve en negatieve som van rangnummers
## De som van rangnummers per vergelijking
(Som_1_2 <- Sommen_rangnummers(Voldoendes_Periode_1, Voldoendes_Periode_2))
## $Positief
## [1] 6645
##
## $Negatief
## [1] 9885
Som_1_3 <- Sommen_rangnummers(Voldoendes_Periode_1, Voldoendes_Periode_3)
Som_1_4 <- Sommen_rangnummers(Voldoendes_Periode_1, Voldoendes_Periode_4)
Som_2_3 <- Sommen_rangnummers(Voldoendes_Periode_2, Voldoendes_Periode_3)
Som_2_4 <- Sommen_rangnummers(Voldoendes_Periode_2, Voldoendes_Periode_4)
Som_3_4 <- Sommen_rangnummers(Voldoendes_Periode_3, Voldoendes_Periode_4)
| Vergelijking | p-waarde | Som positieve rangnummers | Som negatieve rangnummers | |
|---|---|---|---|---|
| Periode 1 vs. 2 | 0,496 | 6645 | 9885 | |
| Periode 1 vs. 3 | 0,814 | 10476 | 7854 | |
| Periode 1 vs. 4 | < 0,001 | 4503 | 11319 | |
| Periode 2 vs. 3 | 0,031 | 12129 | 6318 | |
| Periode 2 vs. 4 | 0,259 | 5945 | 8902 | |
| Periode 3 vs. 4 | < 0,0001 | 4565 | 13939 |
Tabel 1. Resultaten post-hoc toetsen voor de vergelijking van het aantal voldoendes voor periode 1, 2, 3 en 4.
De significante verschillen op de post-hoc toetsen zijn:
De Friedman’s ANOVA is uitgevoerd om te toetsen of er verschillen zijn tussen het aantal voldoendes in de vier onderwijsperioden van het eerste jaar van de bachelor Geschiedenis. Uit de resultaten kan afgelezen worden dat er een significant verschil is tussen de onderwijsperioden wat betreft het aantal voldoendes, χ2vdf = 53,86, p < 0,0001, W = 0,09.
De Wilcoxon signed rank toets is uitgevoerd als post-hoc toets om te onderzoeken tussen welke perioden er verschillen zijn in het aantal voldoendes dat studenten behalen. De Bonferroni correctie is gebruikt om de Type I fout te voorkomen die gepaard gaat met het veelvuldig toetsen. Er is een significant verschil (p < 0,001) gevonden tussen periode 1 (Som = 4503) en periode 4 (Som = 11319) waarbij er meer voldoendes zijn gehaald in periode 4. Daarnaast is er een significant verschil (p = 0,031) gevonden tussen periode 2 (Som = 12129) en periode 3 (Som = 6318) waarbij er meer voldoendes zijn gehaald in periode 2. Ook is er een significant verschil (p < 0,0001) gevonden tussen periode 3 (Som = 4565) en periode 4 (Som = 13939) waarbij er meer voldoendes zijn gehaald in periode 4. De overige vergelijkingen tussen opleidingen leidden niet tot een significant verschil. De resultaten suggereren dat periode 2 en 4 periodes zijn waarin studenten een groot aantal voldoendes halen voor de drie vakken die ze volgen. In periode 1 en 3 lijkt het aantal voldoendes per student wat lager te zijn. Het is daarom handig om in te zoomen op deze onderwijsperioden om de oorzaak van studievertraging te vinden.
Een ordinale variabele is een categorische variabele waarbij de categorieën geordend kunnen worden. Een voorbeeld is de variabele beoordeling met de categorieën Onvoldoende, Voldoende, Goed en Uitstekend.↩
Laerd statistics (2018). Friedman Test using SPSS Statistics. https://statistics.laerd.com/spss-tutorials/friedman-test-using-spss-statistics.php.↩
Een nominale variabele is een categorische variabele waarbij de categorieën niet geordend kunnen worden. Een voorbeeld is de variabele windstreek (noord, oost, zuid, west) en geslacht (man of vrouw).↩
Een ordinale variabele is een categorische variabele waarbij de categorieën geordend kunnen worden. Een voorbeeld is de variabele beoordeling met de categorieën Onvoldoende, Voldoende, Goed en Uitstekend.↩
Laerd statistics (2018). Friedman Test using SPSS Statistics. https://statistics.laerd.com/spss-tutorials/friedman-test-using-spss-statistics.php.↩
Een nominale variabele is een categorische variabele waarbij de categorieën niet geordend kunnen worden. Een voorbeeld is de variabele windstreek (noord, oost, zuid, west) en geslacht (man of vrouw).↩
Laerd statistics (2018). Friedman Test using SPSS Statistics. https://statistics.laerd.com/spss-tutorials/friedman-test-using-spss-statistics.php.↩
Field, A., Miles, J., & Field, Z. (2012). Discovering statistics using R. London: Sage publications.↩
Field, A., Miles, J., & Field, Z. (2012). Discovering statistics using R. London: Sage publications.↩
University of Sheffield. Friedman test in SPSS. Mathematics and Statistics Help (MASH). Bezocht op 13 maart 2020.↩
Kendall’s W wordt berekend door de teststatistiek van Friedman’s ANOVA (dit is de χ2) te delen door het aantal deelnemers N en het aantal groepen k minus één, i.e. \(W = \frac{\chi^2}{N(k-1)}\).↩
Kassambara, A. (2020). rstatix: Pipe-Friendly Framework for Basic Statistical Tests. R package version 0.4.0..↩
University of Sheffield. Friedman test in SPSS. Mathematics and Statistics Help (MASH). Bezocht op 13 maart 2020.↩
Met een deelnemer wordt het object bedoeld dat geobserveerd wordt, bijvoorbeeld een student, een inwoner van Nederland, een opleiding of een organisatie. Met een observatie wordt de waarde bedoeld die de deelnemer heeft voor een bepaalde variabele. Een deelnemer heeft dus meestal een observatie voor meerdere variabelen.↩
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.↩