Comment effectuer le test de Dunn en Python
Un test de Kruskal-Wallis est utilisé pour déterminer s’il existe ou non une différence statistiquement significative entre les médianes de trois groupes indépendants ou plus. Elle est considérée comme l’équivalent non paramétrique de l’ ANOVA unidirectionnelle .
Si les résultats d’un test de Kruskal-Wallis sont statistiquement significatifs, il est alors approprié d’effectuer le test de Dunn pour déterminer exactement quels groupes sont différents.
Ce didacticiel explique comment effectuer le test de Dunn en Python.
Exemple : le test de Dunn en Python
Les chercheurs veulent savoir si trois engrais différents conduisent à différents niveaux de croissance des plantes. Ils sélectionnent au hasard 30 plantes différentes et les divisent en trois groupes de 10, en appliquant un engrais différent à chaque groupe. Au bout d’un mois, ils mesurent la hauteur de chaque plante.
Après avoir effectué un test de Kruskal-Wallis, ils constatent que la valeur p globale est statistiquement significative, ce qui signifie que la croissance médiane n’est pas la même dans les trois groupes. Ensuite, ils effectuent le test de Dunn pour déterminer exactement quels groupes sont différents.
Pour effectuer le test de Dunn en Python, nous pouvons utiliser la fonction posthoc_dunn() de la bibliothèque scikit-posthocs.
Le code suivant montre comment utiliser cette fonction :
Étape 1 : Installez scikit-posthocs.
Nous devons d’abord installer la bibliothèque scikit-posthocs :
pip install scikit-posthocs
Étape 2 : Effectuez le test de Dunn.
Ensuite, nous pouvons créer les données et effectuer le test de Dunn :
#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
Notez que nous avons choisi d’utiliser une correction de Bonferroni pour les valeurs p afin de contrôler le taux d’erreur par famille , mais d’autres choix potentiels pour l’argument p_adjust incluent :
- sidak
- Holm-Sidak
- simes hochberg
- hommel
- fdr_bh
- fdr_by
- fdr_tsbh
Reportez-vous à la documentation pour plus de détails sur chacune de ces méthodes d’ajustement de la valeur p.
Étape 3 : Interprétez les résultats.
À partir des résultats du test de Dunn, nous pouvons observer ce qui suit :
- La valeur p ajustée pour la différence entre le groupe 1 et le groupe 2 est de 0,550846 .
- La valeur p ajustée pour la différence entre le groupe 1 et le groupe 3 est de 0,718451 .
- La valeur p ajustée pour la différence entre le groupe 2 et le groupe 3 est de 0,036633 .
Ainsi, les deux seuls groupes qui sont statistiquement significativement différents à α = 0,05 sont les groupes 2 et 3.
Ressources additionnelles
Une introduction au test de Dunn pour les comparaisons multiples
Comment effectuer le test de Dunn dans R