# Test de Kruskal-Wallis

Le test de Kruskal-Wallis (d'après William Kruskal et Wilson Allen Wallis), aussi appelé ANOVA unidirectionnelle sur rangs (ou ANOVA à un facteur contrôlé sur rangs) est une méthode non paramétrique utilisée pour tester si des échantillons trouvent leur origine dans la même distribution$^,$$^,$. Ce test s'intéresse aux médianes de $k$ populations ($k\geqslant 3$) (ou treatment dans la littérature en anglais) et propose comme hypothèse nulle que les $k$ échantillons sont confondus et proviennent d'un même échantillon (combiné) d'une population. Le test permet de comparer deux ou plusieurs échantillons indépendants de taille similaire ou non. Il généralise le test de Wilcoxon-Mann-Whitney, qui est utilisé pour comparer seulement deux groupes. L'équivalent paramétrique du test de Kruskal-Wallis est l'analyse de la variance (ANOVA) à un facteur.
Un test de Kruskal-Wallis significatif indique qu'au moins un échantillon domine stochastiquement un autre échantillon. Le test n'identifie pas où cette dominance stochastique se produit ni pour combien de paires de groupes la dominance stochastique s'obtient. Pour analyser les paires d'échantillons spécifiques en vue de déterminer la dominance stochastique, on utilise parfois le test de Dunn, les tests de Mann-Whitney par paires sans correction de Bonferroni ou encore le test de Conover-Iman, plus puissant mais moins connu.
Comme il s'agit d'une méthode non paramétrique, le test de Kruskal-Wallis ne suppose pas une distribution normale des résidus, contrairement à l'analyse de variance à un facteur analogue. Si le chercheur peut faire l'hypothèse d'une distribution de forme et d'échelle identiques pour tous les groupes, à l'exception de toute différence dans les médianes, alors l'hypothèse nulle est que les médianes de tous les groupes sont égales, et l'hypothèse alternative est qu'au moins une médiane de la population d'un groupe est différente de la médiane de la population d'au moins un autre groupe.

## Test

Le modèle s'écrit $X_{i,j}=\theta +\tau _{j}+\epsilon _{i,j}$ où $i=1,\dots ,n_{j},j=i,\dots ,k$.
$\theta$ est la médiane globale et $\tau _{j}$ le "treatment j effect" .
Et on écrit le test $H_{0}:[\tau _{1}=\dots =\tau _{j}]$contre $H_{1}:$ au moins deux $\tau _{j}$ne sont pas égales.

## Méthode

* Classer toutes les données de tous les groupes ensemble, c'est-à-dire classer les données de 1 à N sans faire de groupes. Attribuer à toute valeur liée la moyenne des classements qu'ils auraient obtenus s'ils n'avaient pas été liés.
* La statistique de test est donnée par :
    $H=(N-1){\frac {\sum _{i=1}^{g}n_{i}({\bar {r}}_{i\cdot }-{\bar {r}})^{2}}{\sum _{i=1}^{g}\sum _{j=1}^{n_{i}}(r_{ij}-{\bar {r}})^{2}}},$, où:
** $n_{i}$ est le nombre d'observations dans le groupe $i$
** $r_{ij}$ est le rang (parmi toutes les observations) de l'observation $j$ du groupe $i$
** $N$ est le nombre total d'observations sur l'ensemble des groupes
** ${\bar {r}}_{i\cdot }={\frac {\sum _{j=1}^{n_{i}}{r_{ij}}}{n_{i}}}$ est le rang moyen de toutes les observations du groupe $i$
** ${\bar {r}}={\tfrac {1}{2}}(N+1)$ est la moyenne de tous les $r_{ij}$.
* Si les données ne contiennent pas de lien, le dénominateur de l'expression pour $H$ est exactement $(N-1)N(N+1)/12$ et ${\bar {r}}={\tfrac {N+1}{2}}$. Ainsi :
    ${\begin{aligned}H&={\frac {12}{N(N+1)}}\sum _{i=1}^{g}n_{i}\left({\bar {r}}_{i\cdot }-{\frac {N+1}{2}}\right)^{2}\\&={\frac {12}{N(N+1)}}\sum _{i=1}^{g}n_{i}{\bar {r}}_{i\cdot }^{2}-\ 3(N+1)\end{aligned}}$ La dernière formule contient seulement les carrés des rangs moyens.
* Une correction pour les liens si on utilise la formule raccourcie décrite au point précédent peut être faite en divisant $H$ par $1-{\frac {\sum _{i=1}^{G}(t_{i}^{3}-t_{i})}{N^{3}-N}}$, où $G$ est le nombre de groupements de différents rangs liés, et $t_{i}$ est le nombre de valeurs liées au sein du groupe i qui sont liées à une valeur particulière. Cette correction fait en général peu de différence dans la valeur obtenue de H à moins qu'il y ait un grand nombre de liens.
* Finalement, la décision de rejeter ou non l'hypothèse nulle est faite en comparant $H$ à une valeur critique $H_{c}$ obtenue à partir d'un tableau ou d'un logiciel pour un niveau de significativité ou alpha donnés. Si $H$ est supérieur à $H_{c}$, l'hypothèse nulle est rejetée. Si cela est possible (pas de liens, échantillon pas trop large), on doit pouvoir comparer $H$ à la valeur critique obtenue à partir de la distribution exacte de $H$. Autrement, la distribution de $H$ peut être approximée par une distribution chi-carré (χ$^2$) avec $g-1$ degrés de liberté. Si certaines valeurs ni sont faibles (par exemple inférieures à 5), la distribution de probabilité exacte de $H$ peut être assez différente de cette distribution chi-carré. Si un tableau de la distribution de probabilité du χ$^2$ est disponible, la valeur critique du chi-carré peut être trouvée en entrant dans le tableau à $g-1$ degrés de liberté et en regardant sous le niveau de significativité ou alpha désiré.
* Si la statistique n'est pas significative, alors il n'y a pas de preuve de dominance stochastique entre les échantillons. Cependant, si le test est significatif, alors au moins un échantillon domine stochastiquement un autre échantillon. Par conséquent, un chercheur peut utiliser des contrastes d'échantillons entre des paires d'échantillons individuels, ou des tests post hoc utilisant le test de Dunn, qui (1) utilise correctement les mêmes classements que le test de Kruskal-Wallis, et (2) utilise correctement la variance mise en commun impliquée par l'hypothèse nulle du test de Kruskal-Wallis afin de déterminer lesquelles des paires d'échantillons sont significativement différentes. Lorsque l'on effectue des contrastes d'échantillons ou des tests multiples, le taux d'erreur de type I a tendance à gonfler, ce qui soulève des inquiétudes quant aux comparaisons multiples.

## Tableaux de probabilités exactes

Une grande quantité de ressources informatiques est nécessaire pour calculer des probabilités exactes pour le test de Kruskal-Wallis. Les logiciels existants ne fournissent des probabilités exactes que pour des échantillons de moins de 30 participants environ. Ces logiciels reposent sur une approximation asymptotique pour les échantillons de plus grande taille.
Les valeurs exactes des probabilités pour les échantillons de plus grande taille sont disponibles. En 2003, Spurrier a publié des tableaux de probabilités exactes pour des échantillons allant jusqu'à 45 participants. Meyer et Seaman ont produit en 2006 des distributions de probabilités exactes pour des échantillons allant jusqu'à 105 participants.

## Distribution exacte de H

Choi et al. ont passé en revue deux méthodes qui avaient été développées pour calculer la distribution exacte de $H$, en ont proposé une nouvelle et ont comparé la distribution exacte à son approximation par le χ$^2$.

## Implémentation

* kruskal.test sous R avec la librairie "stats"
* scipy.stats.kruskal sous python avec la librairie "scipy.stats"