Hoe de dunn-test in python uit te voeren
Een Kruskal-Wallis-test wordt gebruikt om te bepalen of er al dan niet een statistisch significant verschil bestaat tussen de medianen van drie of meer onafhankelijke groepen. Het wordt beschouwd als het niet-parametrische equivalent van eenrichtings-ANOVA .
Als de resultaten van een Kruskal-Wallis-test statistisch significant zijn, is het passend om de Dunn-test uit te voeren om precies te bepalen welke groepen verschillend zijn.
In deze tutorial wordt uitgelegd hoe u de Dunn-test in Python uitvoert.
Voorbeeld: de Dunn-test in Python
Onderzoekers willen weten of drie verschillende meststoffen tot verschillende niveaus van plantengroei leiden. Ze selecteren willekeurig 30 verschillende planten en verdelen ze in drie groepen van 10, waarbij elke groep een andere meststof wordt toegediend. Na een maand meten ze de hoogte van elke plant.
Na het uitvoeren van een Kruskal-Wallis-test ontdekken ze dat de totale p-waarde statistisch significant is, wat betekent dat de mediane groei niet hetzelfde is voor de drie groepen. Vervolgens voeren ze de test van Dunn uit om precies te bepalen welke groepen verschillend zijn.
Om de Dunn-test in Python uit te voeren, kunnen we de functie posthoc_dunn() uit de scikit-posthocs-bibliotheek gebruiken.
De volgende code laat zien hoe u deze functie kunt gebruiken:
Stap 1: Installeer scikit-posthocs.
Eerst moeten we de scikit-posthocs-bibliotheek installeren:
pip install scikit-posthocs
Stap 2: Voer de Dunn-test uit.
Vervolgens kunnen we de gegevens creëren en de Dunn-test uitvoeren:
#specify the growth of the 10 plants in each group group1 = [7, 14, 14, 13, 12, 9, 6, 14, 12, 8] group2 = [15, 17, 13, 15, 15, 13, 9, 12, 10, 8] group3 = [6, 8, 8, 9, 5, 14, 13, 8, 10, 9] data = [group1, group2, group3] #perform Dunn's test using a Bonferonni correction for the p-values import scikit_posthocs as sp sp. posthoc_dunn (data, p_adjust = ' bonferroni ') 1 2 3 1 1.000000 0.550846 0.718451 2 0.550846 1.000000 0.036633 3 0.718451 0.036633 1.000000
Merk op dat we ervoor hebben gekozen om een Bonferroni-correctie voor de p-waarden te gebruiken om het familiefoutenpercentage te controleren, maar andere mogelijke keuzes voor het p_adjust- argument zijn onder meer:
- sidak
- Holm-Sidak
- simes hochberg
- manl
- fdr_bh
- fdr_door
- fdr_tsbh
Raadpleeg de documentatie voor meer details over elk van deze p-waardeaanpassingsmethoden.
Stap 3: Interpreteer de resultaten.
Uit de resultaten van de Dunn-test kunnen we het volgende waarnemen:
- De aangepaste p-waarde voor het verschil tussen groep 1 en groep 2 is 0,550846 .
- De aangepaste p-waarde voor het verschil tussen groep 1 en groep 3 is 0,718451 .
- De aangepaste p-waarde voor het verschil tussen groep 2 en groep 3 is 0,036633 .
De enige twee groepen die statistisch significant verschillen bij α = 0,05 zijn dus de groepen 2 en 3.
Aanvullende bronnen
Een inleiding tot de Dunn-test voor meerdere vergelijkingen
Hoe de Dunn-test uit te voeren in R