Le test de Wilcoxon

175px-FrankWilcoxon

\bullet Historique :

\begin{tabular}{|l|c|c|} \hline Bloc & 15/05/2013-V1 & 20/01/2020-V2 \\ \hline Historique &  & Cr\'eation \\ \hline Sommaire &  & Cr\'eation \\ \hline Pr\'esentation & Cr\'eation & MAJ \\ \hline Les diff\'erentes versions du test & Cr\'eation & MAJ \\ \hline Calcul de la p-valeur exacte &  & Cr\'eation \\ \hline Tendance lorsque... & Cr\'eation & MAJ \\ \hline Annexe th\'eo... & Cr\'eation & MAJ \\ \hline Exemple & Cr\'eation & Test du  signe \\ \hline Appli... info & Cr\'eation & Devient appli... sous R \\ \hline Appli... sous SAS &  & Cr\'eation \\ \hline Bibliographie & Cr\'eation & MAJ \\ \hline \end{tabular}

\bullet Sommaire :

  • Présentation
  • Les différentes versions du test
    • Cas pour échantillons non appariés
      • Si n < 12 et calcul de la p-valeur exacte
      • L’approximation de Wilcoxon dans le cas d’ex-aequo
      • Le U de Mann-Whitney
      • Conditions pour le rejet de H_0
    • Cas pour échantillons appariés
      • Si m < 12 et calcul de la p-valeur exacte
      • Le test du signe
      • Conditions pour le rejet de H_0
  • Calcul de la p-valeur dans le cadre de la loi normale centrée-réduite
    • Table de la loi normale centrée-réduite
    • Algorithme de calcul
  • Tendance lorsque n \rightarrow + \infty
  • Annexe théorique
    • Calcul de E_W, V_W dans le cadre de la version non appariée du test de Wilcoxon
    • Similitude entre la statistique W et le U de Mann-Whitney
    • Calcul de E_T, V_T dans le cadre de la version appariée du test de Wilcoxon
  • Exemple
    • Cas pour échantillons non appariés : les tests de la somme des rangs de Wilcoxon et le U de Mann-Whitney
    • Cas pour échantillons appariés
      • Le test des rangs signés de Wilcoxon
      • Le test du signe
  • Application sous R
    • Cas pour échantillons non appariés : les tests de la somme des rangs de Wilcoxon et du U de Mann-Whitney
    • Cas pour échantillons appariés
      • Le test des rangs signés de Wilcoxon
      • Le test du signe
  • Application sous SAS
    • Cas pour échantillons non appariés : les tests de la somme des rangs de Wilcoxon et du U de Mann-Whitney
    • Cas pour échantillons appariés
      • Le test des rangs signés de Wilcoxon
      • Le test du signe
  • Bibliographie

\bullet Présentation :

Publié en 1945 par Frank Wilcoxon, le test de Wilcoxon est une approche non paramétrique permettant de :

– Tester la liaison entre une variable continue ou ordinale X, transformée au préalable en « vecteur de rangs » (dans le cas continue), et une variable binaire Y. L’idée est de comparer les rangs de X|_{Y = g_1} par rapport à ceux de X|_{Y = g_2}, les sous-échantillons de X restreinte aux groupes g_1 et g_2 de Y. Et de voir si les rangs de l’un des groupes sont isolés de l’autre. Cette version du test porte également le nom de test de la somme des rangs de Wilcoxon ou de Wilcoxon-Mann-Whitney. De plus, le test de Wilcoxon est équivalent à celui du U de Mann-Whitney (malgré une formule d’usage qui diffère) du fait de la relation linéaire existante entre eux, d’où l’amalgame qui est né entre ces deux tests ;

– Tester la liaison entre deux variables continues ou ordinales appariées X ^{t_1}, X ^{t_2}. Cette version du test porte également le nom de test des rangs signés de Wilcoxon. Il s’agit d’une alternative plus puissante au test du signe, que l’on retrouve parfois dans la littérature sous l’appellation de : test des signes.

Que les données soient appariées ou non, le test de Wilcoxon est souvent vu comme l’alternative au test de Student lorsqu’elles ne respectent les hypothèses de normalité requises.

Enfin, cet article présentera également le U de Mann-Whitney et le test du signe.

\bullet Les différentes versions du test : 

Cas pour échantillons non appariés

Hypothèse préliminaire: X continue ou ordinale, Y binaire.

Soit R le vecteur des rangs associé à la variable X, ordonnée par ordre croissant (en supposant le cas continue, dans le cas ordinale : R = X). On a donc R|_{Y = g_1} et R|_{Y = g_2} les rangs de X restreinte aux deux groupes de Y et de tailles respectives n_1, n_2 (n = n_1 + n_2).

On définit l’espérance de la statistique de test : E_W = \frac{n \cdot (n + 1)}{2} et sa variance : V_W = \frac{n_1 \cdot n_2 \cdot (n + 1 )}{12}.

La statistique de test de la somme des rangs de Wilcoxon est :

W = \sum_{i_1 = 1} ^{n_1} (R|_{Y = g_1})_{i_1}

Si n \geq 12 alors on peut considérer la statistique de test suivante :

z = \frac{W - E_W}{\sqrt{V_W}}

, qui suit une loi normale centrée-réduite. L’hypothèse H_0 est :

Les deux groupes sont semblables / P(X|_{Y = g_1} < X|_{Y = g_2}) = \frac{1}{2}

Soit z_{\alpha} la valeur seuil de la distribution de la statistique de test z pour une confiance \alpha, l’hypothèse alternative est alors,

H_1: P(X|_{Y = g_1} < X|_{Y = g_2}) < \frac{1}{2}, soit z > z_{1 - \alpha}, pour un test unilatéral à gauche ;

H_1: P(X|_{Y = g_1} < X|_{Y = g_2}) > \frac{1}{2}, soit z > z_{\alpha}, pour un test unilatéral à droite ;

H_1: P(X|_{Y = g_1} < X|_{Y = g_2}) \neq \frac{1}{2}, soit z > z_{\frac{\alpha}{2}}, pour un test bilatéral.

Si n < 12 et calcul de la p-valeur exacte :

Dans le cas où n < 12, on utilisera la statistique W que l’on reportera à la table de la loi de Wilcoxon qui n’est pas disponible dans cet article. Aussi on réorientera lecteur vers le test du U de Mann-Whitney. On passera par la formule reliant W à U afin de déterminer la valeur seuil à retenir en fonction des différents paramètres.

La p-valeur se détermine selon l’algorithme suivant :

– Étape 1 : déterminer la matrice des combinaisons de rangs possibles de taille n_1 parmi n que l’on notera : \mathbf{C} ;

– Étape 2 : calculer la somme de chaque combinaison de rang et déterminer la valeur minimale W_{min}, qui correspond à la somme des n_1 premiers rangs ;

– Étape 3 : ne retenir que les cas compris dans [W_{min}, W] et pour chacun déterminer la fréquence d’apparition au sein de \mathbf{C}, que l’on notera :

F = (\sharp \lbrace S = W_{min} \rbrace, \cdots, \sharp \lbrace S = W \rbrace)

– Etape 4 : avant toute chose il faut ici se souvenir du groupe de référence car cela va impacter le type de test voulu (unilatéral à droite, à gauche et bilatéral). Il faudrait alors appliquer les étapes 1 à 3 avec la référence initiale dont on notera les fréquences F_k ^1 et les relancer pour le second groupe que l’on notera F_k ^2 :

 p = \frac{n_1 ! n_2 !}{n !} \sum_{k = 1} ^K F_k ^1 pour un test unilatéral à gauche ;

 p = \frac{n_2 ! n_1 !}{n !} \sum_{k = 1} ^K F_k ^2 pour un test unilatéral à droite  ;

 p = 2 \frac{n_1 ! n_2 !}{n !} \sum_{k = 1} ^K F_k ^1 pour un test bilatéral.

A noter que dans le cas où les p-valeurs associées au test unilatéral à gauche ou à droite sont les mêmes (ce qui peut arriver selon la distribution considérée), elles sont également supérieures à 0.5. Dés lors et par convention, on affecte la p-valeur du test bilatéral à 1.

L’Approximation de Wilcoxon dans le cas d’ex-aequo :

Si on compte un nombre trop important d’ex-aequos au sein des rangs de X, alors il convient de procéder à une optimisation V_W * du calcul de V_W, la variance de W. On détermine,

V_W * = \sqrt{\frac{n_1 \cdot n_2}{12} \cdot (n + 1 - \frac{\sum_{k = 1} ^{ge} \sharp \lbrace groupe_k \rbrace \cdot (\sharp \lbrace groupe_k \rbrace ^2 - 1)}{n \cdot (n - 1)})}

Avec ge le nombre de groupes d’ex-aequos. On note que si aucun ex-aequo n’est présent dans l’échantillon, alors on peut voir les observations comme autant de groupes d’un élément. Et dans ce cas :

ge = n et \forall k, \sharp \lbrace groupe_k \rbrace = 1 \Rightarrow V_W * = V_W

Le U de Mann-Whitney:

Publié en 1947 suite aux travaux de Henry Berthold Mann et Donald Ransom Whitney, le test de Mann-Whitney, également appelé U-test, est un test donnant des résultats strictement équivalent au test de Wilcoxon. En effet, une relation linéaire peut-être mise en évidence entre les deux statistiques de test. Néanmoins, le test de Wilcoxon reste relativement le plus populaire et le plus utilisé par les praticiens.

La formule de la statistique de test U de Mann-Whitney est:

U = \sum_{i_1 = 1} ^{n_1} \sum_{i_2 = 1} ^{n_2} 1_{(X|_{Y = g_1})_{i_1} > (X|_{Y = g_2})_{i_2}}

Si n < 12 alors il faut considérer U comme la statistique de test de Mann-Whitney et la comparer à la table de Mann-Whitney ci-dessous :

add.png

La p-valeur se détermine selon l’algorithme décrit pour le test de la somme des rangs de Wilcoxon. Il faudra au préalable transformer U en W en se basant sur la formule suivante :

W = U + \frac{n_1 (n_1 + 1)}{2}

Dans le cas où n > 12, on considérera comme statistique de test l’objet suivant :

z = \frac{U - \mu_U}{\sqrt{V_U}}

Avec,

\mu_U = \frac{n_1 \cdot n_2}{2} l’espérance de U,

V_U = \frac{n_1 \cdot n_2 \cdot (n + 1)}{12}, sa variance.

Et comparer la statistique de test z à la table de la loi normale centrée-réduite. L’hypothèse H_0 reste la même que pour le test de Wilcoxon.

Conditions pour le rejet de H_0:

Plus la statistique de test z \longrightarrow \infty et plus l’on a de chance de rejeter H_0. Ce cas se présente soit quand la variance de W est très faible mais étant donné qu’elle est basée sur n_1, n_2, n cette situation n’est pas concrètement possible. Soit si \sum_{i = 1} ^{n_1} (R|_{Y = g_1})_{i_1} s’éloigne fortement de E_W autrement dit l’espérance de W qui est la statistique construite en relation avec l’hypothèse H_0 et donc la valeur que doit prendre la somme des rangs dans le cas d’une distribution aléatoire.

Ainsi, une localisation des (R|_{Y = g_1})_{i_1} chez les plus bas ou plus haut rangs de R permet d’avoir une somme soit très faible, soit très forte par rapport à E_W. Ce qui correspond aux cas où les valeurs sont ordonnées et isolées en fonction des groupes.

Cas pour échantillons appariés

Hypothèse préliminaire: X ^{t_1}, X ^{t_2} continues ou ordinales.

Soit X variable aléatoire mesurée en deux temps t_1, t_2 et de taille n. La première étape du calcul de la statistique de test des rangs signés de Wilcoxon est de déterminer D le vecteur des différences des paires X ^{t_1}, X ^{t_2} tel que \forall i \in [1, \cdots, n],

D_i = | X_i ^{t_1} - X_i ^{t_2} |

Et S, vecteur des signes,  tel que \forall i \in [1, \cdots, n],

S_i = sign(X_i ^{t_1} - X_i ^{t_2})

La seconde étape consiste à éliminer de D les D_i = 0, on se retrouve alors avec un vecteur de taille m \leq n. De ce dernier, sera déterminé celui des rangs associés R.

Dés lors deux formes différentes vont être utilisées afin de calculer la statistique des rangs signés de Wilcoxon, le cas sans ex-aequos:

T = \sum_{i / S_i > 0} R_i

, et le cas avec ex-aequos:

T ^* = \frac{\sum_{i = 1} ^m S_i \times R_i}{\sqrt{\sum_{i = 1} ^m (S_i \times R_i) ^2}}

On considère T, la statistique du test des rangs signés de Wilcoxon est et de formule :

z = \frac{T - E_T}{\sqrt{V_T}}

, d’espérance E_T = \frac{m \cdot (m + 1)}{4} et de variance V_T = \frac{m \cdot (m + 1) \cdot (2 m + 1)}{24}.

Pour m \leq 20, on utilise la statistique de test T (ou T ^*) qui suit une loi de Wilcoxon signée à m degrés de liberté. Dans le cas où on a m > 20. Celle de z et qui suit une loi normale centrée-réduite.

Enfin, l’hypothèse H_0 testée quelque soit les conditions d’application du test des rangs signés de Wilcoxon est:

Aucune différence de population / Median(D) = 0

Soit z_{\alpha} la valeur seuil de la distribution de la statistique de test z pour une confiance \alpha, l’hypothèse alternative est alors,

H_1: Median(D) > 0, soit z > z_{1 - \alpha}, pour un test unilatéral à gauche ;

H_1: Median(D) < 0, soit z > z_{\alpha}, pour un test unilatéral à droite ;

H_1: Median(D) \neq 0, soit z > z_{\frac{\alpha}{2}}, pour un test bilatéral.

Si m < 12 et calcul de la p-valeur exacte :

Dans le cas où m < 12, on utilisera la statistique T (ou T ^*) que l’on reportera à la table de la loi de Wilcoxon signée suivante :

addb

 

N’ayant pas eu le bonheur de mettre la main sur la fonction de répartition de cette loi, on se basera sur l’algorithme un peu « bourrin » ci-dessous pour en déterminer la p-valeur.

Soit X une variable aléatoire suivant une loi signée de wilcoxon et qui peut s’écrire par définition ainsi:

X = \sum_{i = 1} ^n i \cdot X_i

, les X_i suivent pour leur part la même loi de Bernouilli de paramètre \frac{1}{2}. La complexité de cette loi de distribution étant le facteur i qui rend la tâche plus ardue que dans le cas d’une loi binomiale classique.

L’idée est alors de déterminer pour toutes les valeurs comprises entre 0 et T basées sur les différentes combinaisons de X_i.

Étape 1 : Générer toutes les combinaisons possibles de 1 à n ;

  • Pour chaque valeur entière de l’intervalle [1,T] que l’on notera \sum_{t_i} ^*, déterminer les C_i combinaisons dont la somme \sum_{i = 1} ^n i x_i = \sum_{t_i} ^* ;
  • Étant donné que le paramètre p = \frac{1}{2}, chaque combinaison donnant la somme \sum_{t_i} ^* se base sur la même probabilité d’apparition : \frac{1}{2 ^n}, puisque issue de p ^K (1 - p) ^{n - K} avec K le nombre de x_k = 1 nécessaires et n - K celui où x_k = 0. Dès lors, la probabilité de tirer \sum_{t_i} ^* dépend du nombre de combinaisons C_i remplissant la condition nécessaire. De ce fait on a :

P(\lbrace \sum_{t_i} ^* \rbrace) = \frac{C_i}{2 ^n}

Étape 2 : On sommera les probabilités associées aux valeurs entières de l’intervalle [0,T] et calculées précédemment afin de déterminer la p-valeur associée à la statistique de test T,

p = \sum_{i = 1} ^T P(\lbrace t_i ^* \rbrace) = \frac{\sum_{i = 1} ^T C_i}{2 ^n}

A noter le cas où T = 0, qui correspond au cas où l’ensemble des d_i, soit les différences entre X ^{t_1} et X ^{t_2}, sont toutes négatives doit être pris en compte également.

Enfin, la p-valeur obtenue correspond à l’approche unilatéral à gauche ou à droite en fonction du sens des différences retenues. Afin de passer sur une version bilatérale, on prendra la p-valeur associé à celle unilatérale à gauche et on la multipliera par deux.

Le test du signe :

Le test du signe est un concurrent au test des rangs signés de Wilcoxon. Néanmoins, ce dernier demeure plus puissant et donc plus souvent utilisé car tenant compte de la variance contrairement au test du signe. Il a été publié en 1710 par John Arbuthnott puis étendu par Nicholas Bernouilli en 1713.

On considère l’ensemble des paires appariées (X_1 ^{t_1}, X_2 ^{t_2}), \cdots, (X_n ^{t_1}, X_n ^{t_2}). La statistique du test du signe est alors:

T = \sum_{i = 1} ^n 1_ {X_i ^{t_1} < X_i ^{t_2}}

Elle suit une loi binomiale de paramètres (m, \frac{1}{2})m désigne le nombre de paires non égales. L’hypothèse H_0 est la même que celle du test des rangs signés de Wilcoxon.

Si m > 20, alors on peut reporter la statistique de test,

z = \frac{T - E_B}{\sqrt{V_B}}

, à la table de la loi normale centrée-réduite. Avec l’espérance : E_B = \frac{m}{2} et la variance : V_B = \frac{m}{4}.

Dans ce cas là, on s’appuiera sur la table de la loi binomiale suivante (pour  p =\frac{1}{2}) :

add.png

Le calcul de la p-valeur se fait via la formule qui suit. En notant E[.] la partie entière. On a,

– Pour un test unilatérale à gauche (on utilisera la statistique x = T ^+ = \sum_{i = 1} ^n 1_ {X_i ^{t_1} < X_i ^{t_2}}) ou à droite (x = T ^- = \sum_{i = 1} ^n 1_ {X_i ^{t_1} > X_i ^{t_2}}) :

p = P(X \leq x) = \frac{1}{2 ^n} \sum_{k = 1} ^{E[X]} \frac{n !}{(n - k)! k !}

– Pour un test bilatérale (on utilisera la statistique x = T ^+ = \sum_{i = 1} ^n 1_ {X_i ^{t_1} < X_i ^{t_2}}),

p = 2 \frac{1}{2 ^n} \sum_{k = 1} ^{E[X]} \frac{n !}{(n - k)! k !}

Conditions pour le rejet de H_0 :

Plus T ou  T* \longrightarrow \infty ou 0 plus on a de chance de rejeter H_0. En effet, plus on compte de différences positives et plus la somme est grande, traduit par un rang important, plus T, T* sont forts.

Pour cas \longrightarrow 0, il faudrait de préférence raisonner en terme de fortes différences avec E_T. Ce cas représentant celui où aucune d_i n’est strictement positif, soit X_i ^1 > X_i ^2, \forall i. Le test des rangs signés est symétrique puisque l’une de ces deux statistiques va dans ce sens, il suffirait de considérer la différence inverse, c’est à dire : ne plus considérer X_i ^1 > X_i ^2 mais X_i ^2 > X_i ^1, pour se retrouver dans la situation T, T* \longrightarrow \infty.

\bullet Calcul de la p-valeur dans le cadre de la loi normale centrée-réduite :

Les deux versions du test de Wilcoxon, le U de Mann-Whitney et le test du signe se basent sur la loi normale-centrée réduite lorsque l’échantillon est de taille suffisante.

La table de la loi normale centrée-réduite :

add

Algorithme de calcul :

Étant donné que la fonction de répartition de la loi centrée-réduite est basée sur la fonction erreur erf(.), il conviendra de passer par la méthode analytique proposée par Abramowitz et Stegun et permettant une estimation fiable à 10 ^{-7} prés. Soit le changement de variable suivant,

t = \frac{1}{1 + 0.2316419 \cdot z}

La formule d’usage et faisant intervenir aussi bien z que sa transformée t est :

– Dans le cadre unilatéral à gauche,

p = 1 - F_{L((0,1)} (Z) = 1 - \frac{1}{\sqrt{2 \pi}} e ^{-\frac{z ^2}{2}} \sum_{k = 1} ^5 t ^k C_k

– Dans le cadre unilatéral à droite,

p = F_{L((0,1)} (Z) = \frac{1}{\sqrt{2 \pi}} e ^{-\frac{z ^2}{2}} \sum_{k = 1} ^5 t ^k C_k

– Dans le cadre bilatéral,

p = 2 \cdot F_{L((0,1)} (Z) = 2 \frac{1}{\sqrt{2 \pi}} e ^{-\frac{z ^2}{2}} \sum_{k = 1} ^5 t ^k C_k

Avec,

C_1 = 0.319381530 ;

C_2 = -0.356563782 ;

C_3 = 1.781477937 ;

C_4 = -1.821255978 ;

C_5 = 1.330274429.

\bullet Tendance lorsque n \longrightarrow \infty:

Le test de Wilcoxon se base sur la loi normale centrée-réduite qui est indépendante de n. Par conséquent, se contenter d’étudier l’évolution de la p-valeur pour un cas similaire et pour une taille d’échantillon qui croît n’aura pas grand intérêt.

On proposera de simuler plusieurs échantillons selon cinq tailles différentes: N = 10, 100, 1000, 5000, 10000 et d’observer l’évolution des p-valeurs sous contrainte qu’ils suivent à chaque fois la même loi de distribution. Le tableau ci-dessous synthétise l’évolution de la situation:

\begin{tabular}{|c|c|c|c|c|} \hline  & \multicolumn{2}{c|}{Non appari\'ees} & \multicolumn{2}{c|}{Appari\'ees} \\ \hline N & Moyenne & Ecart-type & Moyenne & Ecart-type \\ \hline 10 & 0.5976 & 0.3195 & 0.4761 & 0.3070 \\ \hline 100 & 0.3784 & 0.2706 & 0.4630 & 0.3545 \\ \hline 1000 & 0.2824 & 0.3329 & 0.1444 & 0.2308 \\ \hline 5000 & 0.0214 & 0.0690 & 0.00009 & 0.0002 \\ \hline 10000 & 0.0001 & 0.00002 & 0 & 0 \\ \hline \end{tabular}

De manière hâtive, on reste en adéquation avec l’hypothèse de construction de la statistique de test W/T de Wilcoxon jusqu’à n = 1000 (p > 5 \%). C’est entre n = 1000 et n = 5000 que l’on commence à rejeter H_0 à tort. Le problème vient de l’équilibre entre E_W, V_W / E_T, V_T qui se base sur des produits faisant intervenir n_1 et n_2 et qui vont dérégler la statistique de test au fur et à mesure que la taille d’échantillon croît

Cette simulation montre que le test de Wilcoxon est atteint par la malédiction des grands échantillons.

\bullet Annexe théorique: 

Calcul de E_W, V_W dans le cadre de la version non appariée du test de Wilcoxon:

La statistique W peut être vue comme la somme de n variables de Bernouilli indépendantes Z_i valant 1 si X_i est en ième position, 0 sinon. Sur ce constat on peut calculer facilement E_W, V_W ainsi :

E_W = E[W] = E(\sum_{i = 1} ^n i \cdot Z_i) = E[Z_i] \cdot \sum_{i = 1} ^n i = \frac{n_1}{n} \times \frac{n \cdot (n + 1)}{2} = \frac{n_1 \cdot (n + 1)}{2} ;

V_W = V(W) = V(\sum_{i = 1} ^n i \cdot Z_i) = V(Z_i) \cdot \sum_{i = 1} ^n i ^2

= \frac{n_1 \cdot n_2}{2 \cdot n \cdot (2 n + 1)} \times \frac{n \cdot (n + 1) \cdot (2 n + 1)}{6}

= \frac{n_1 \cdot n_2 \cdot (n + 1)}{12}

Similitude entre la statistique W et le U de Mann-Whitney:

La statistique de Mann-Whitney est de la forme :

U = \sum_{i_1 = 1} ^{n_1} \sum_{i_2 = 1} ^{n_2} 1_{(X|_{Y = g1})_{i_1} > (X|_{Y = g2})_{i_2}}

, et plus particulièrement:

U_{X|_{Y = g_1}} = \sum_{i_1 = 1} ^{n_1} \sum_{i_2 = 1} ^{n_2} (1_{(X|_{Y = g_1})_{i_1} > (X|_{Y = g_2})_{i_2}} + \frac{1}{2} \times 1_{(X|_{Y = g_1})_{i_1} = (X|_{Y = g_2})_{i_1}})

U_{X|_{Y = g_2}} = \sum_{i_1 = 1} ^{n_1} \sum_{i_2 = 1} ^{n_2} (1_{(X|_{Y = g_1})_{i_1} < (X|_{Y = g_2})_{i_2}} + \frac{1}{2} \times 1_{(X|_{Y = g_1})_{i_1} = (X|_{Y = g_2})_{i_1}})

Il faut voir le calcul de la somme des rangs de manière inverse, c’est-à-dire :

\forall i_1, (R|_{Y = g_1})_{i_1} = \sharp \lbrace X|_{Y = g_2} < (X|_{Y = g_1)_{i_1}} \mbox{ a partir de l'indice } i_1 \rbrace

, on remarque que l’on applique un décalage de l’indice i_1 à chaque calcul de  (R|_{Y = g_1})_{i_1}. Dés lors, on a :

\sum_{i_1 = 1} ^{n_1} (R|_{Y = g_1})_{i_1} = \sum_{i_1 = 1} ^{n_1} \sum_{i_2 = 1} ^{n_2} (1_{(X|_{Y = g_1})_{i_1} > (X|_{Y = g_2})_{i_2}} + \frac{1}{2} \times 1_{(X|_{Y = g_1})_{i_1} = (X|_{Y = g_1})_{i_1}}) + \sum_{i_1 = 1} ^n i_1

= U_{X|_{Y = g_1}} + \frac{n_1 \cdot (n_1 + 1)}{2}

\Rightarrow U_{X|_{Y = g_1}}  = \sum_{i_1 = 1} ^{n_1} (R|_{Y = g_1})_{i_1} - \frac{n_1 \cdot (n_1 + 1)}{2}

Or \sum_{i_1 = 1} ^{n_1} (R|_{Y = g_1})_{i_1} = W, statistique de la somme des rangs de Wilcoxon. Par conséquent, 

U_{X|_{Y = g_2}}  = W - \frac{n_1 \cdot (n_1 + 1)}{2}

\bullet Calcul de E_T, V_T dans le cadre de la version appariée du test de Wilcoxon:

La statistique T peut être vue comme la somme de n variables de Bernouilli indépendantes Z_i conditionnellement aux rangs. Sur ce constat là on peut calculer facilement E_T, V_T avec E[Z_i] = \frac{1}{2} et V(Z_i) = \frac{1}{4}.

E(T / R) = \sum_{i = 1} ^n R_i \cdot E[Z_i] = E[Z_i] \cdot \sum_{i = 1} ^n R_i = \frac{1}{2} \times \frac{n \cdot (n + 1)}{2} = \frac{n \cdot (n + 1)}{4}

V(T / R) = \sum_{i = 1} ^n R_i ^2 \cdot V[Z_i] = V[Z_i] \cdot \sum_{i = 1} ^n R_i ^2

= \frac{1}{4} \times \frac{n \cdot (n + 1) \cdot (2n + 1)}{6}

= \frac{n \cdot (n + 1) \cdot (2n + 1)}{24}

\bullet Exemple:

Cas pour échantillons non appariés : Les tests de la somme des rangs de Wilcoxon et du U de Mann-Whitney

Soit la variable aléatoire X distribuée selon les deux groupes \lbrace A, B \rbrace d’une variable Y :

\begin{tabular}{|c|c|} \hline Y & X \\ \hline A & 3.1101 \\ \hline A & 4.1008 \\ \hline A & 4.7876 \\ \hline A & 7.0677 \\ \hline A & 6.0858 \\ \hline A & 4.9309 \\ \hline A & 4.0449 \\ \hline A & 3.0101 \\ \hline A & 5.9495 \\ \hline A & 6.8729 \\ \hline B & 1.0898 \\ \hline B & 1.9868 \\ \hline B & 2.9853 \\ \hline B & 10.0080 \\ \hline B & 8.9052 \\ \hline B & 8.0411 \\ \hline B & 2.0826 \\ \hline B & 1.0536 \\ \hline B & 9.0649 \\ \hline B & 10.0826 \\ \hline \end{tabular}

Ci-dessous, les boxplots des distributions de X restreinte au groupe « A » (en vert) et au groupe « B » (en rouge), permet de voir que visuellement les distributions des deux échantillons sont différentes.

add

Afin de calculer la statistique de test de Wilcoxon, on va d’abords ordonner le vecteur X. On obtient pour les observations associées au groupe « A » les rangs suivants :

\begin{tabular}{|c|c|c|c|c|c|c|c|c|c|c|} \hline Y & A & A & A & A & A & A & A & A & A & A \\ \hline X & 3.1101 & 4.1008 & 4.7876 & 7.0677 & 6.0858 & 4.9309 & 4.0449 & 3.0101 & 5.9495 & 6.8729 \\ \hline Rang & 7 & 9 & 10 & 15 & 13 & 11 & 8 & 6 & 12 & 14 \\ \hline \end{tabular}

On a pour n_1 = 10 (= n_2), la statistique de test :

W = \sum_{i_1 = 1} ^{10} R_{i_1} = 7 + 9 + 10 + 15 + 13 + 11 + 8 + 6 + 12 + 14 = 105

A noter que n = n_1 + n_2 = 20.

Avant de continuer, on peut également calculer le U de Mann-Whitney. On créé le tableau récapitulatif suivant :

\begin{tabular}{|c|c|} \hline X lorsque Y=A & Sup\'erieur \'a X lorsque Y = B \\ \hline 3.1101 & 5 \\ \hline 4.1008 & 5 \\ \hline 4.7876 & 5 \\ \hline 7.0677 & 5 \\ \hline 6.0858 & 5 \\ \hline 4.9309 & 5 \\ \hline 4.0449 & 5 \\ \hline 3.0101 & 5 \\ \hline 5.9495 & 5 \\ \hline 6.8729 & 5 \\ \hline \end{tabular}

, grâce auquel on détermine maintenant le nombre de fois où chaque valeur de X|_{Y = A} est supérieur aux valeurs de X_{Y = B}. Par conséquent on a,

U = 5 + 5 + 5 + 5 + 5 + 5 + 5 + 5 + 5 + 5 = 50

On poursuit avec le calcul de la p-valeur associée à la statistique de Wilcoxon. On se reportera à la table de la loi de Mann-Whitney pour la statistique de test équivalente à celle de Wilcoxon (W = U + \frac{10 \times (10 + 1)}{2} = 50 + 55 = 105),

U_{10,10,5\%,\mbox{bilat\'eral}} = 21 < U_{obs} = 50

Concernant le calcul de la p-valeur exacte, on détermine la matrice des combinaisons de 10 parmi 20, ce qui revient à explorer 184 756 cas possibles. La somme minimale est W_{min} = 55. Dans le cas de figure où l’on fixe comme groupe de référence celui où X = "A", on peut compter 95102 combinaisons de rangs dont les valeurs de W \in [55, 105]. Avant de déterminer la p-valeur bilatéral on regarde celles pour des tests unilatéraux à gauche. On obtient la p-valeur suivante :

p = 95102 \times \frac{10! 10!}{20!} = 95102 \times 0.000005412544 = 0.5147438

On est en présence d’une p-valeur en unilatérale supérieure à 0.5 et par convention on a donc que la p-valeur en bilatérale est de 1 > 5 \%

Dans le cas où l’on veut se reporter à la loi normale centrée-réduite :

– L’espérance E = \frac{10 \times (20 + 1)}{2} = 105 ;

– La variance V = \frac{10 \times 10 \times (20 + 1 )}{12} = 175 (formule utilisée car pas d’ex-aequos).

La statistique de test vaut alors :

z = \frac{|105 - 105|}{\sqrt{175}} = 0

On cherche à tester bilatéralement le rejet de l’hypothèse H_0. Sous cette approche, on génère une loi normale centrée-réduite et l’on reporte sur le graphe ci-dessous les valeurs seuils qui correspondent aux quantiles à 20 \%, 10 \%, 5 \% et 1 \% dans le cadre bilatéral,

add

En se reportant aux valeurs de la table de la loi normale centrée-réduite ci-dessus, on constate que,

z_{obs} = 0 < L_{(0,1),20\%,\mbox{bilat\'eral}} = 1.281552

Maintenant, on calcul la p-valeur associée à la statistique de test z_{obs} de la loi normale centrée-réduite dans le cadre bilatéral. On commence par appliquer le changement de variable,

t = \frac{1}{1 + 0.2316419 \times 0} = 1

On peut calculer maintenant la p-valeur,

p = 2 \times \frac{1}{\sqrt{2 \pi}} e ^{-\frac{0 ^2}{2}} (0.31938153 \times 1 - 0.356563782 \times 1 ^2 + 1.781477937 \times 1 ^3 - 1.821255978 \times 1 ^4 + 1.330274429 \times 1 ^5)

= 2 \times 0.3989423 \times 1 \times 1.253314

= 2 \times 0.5

= 1 > 5 \%

On ne pourra pas rejeter H_0 au risque de 5 \% et on en conclut que les rangs des valeurs des deux groupes sont les mêmes. La raison de cette contradiction entre la représentation graphique et le résultat du test provient du fait que le test de Wilcoxon recherche l’existence d’une relation linéaire entre X et Y, or ici la liaison entre les deux variables n’est pas de ce type.

Cas pour échantillons appariés

Soit l’échantillon apparié (X ^{t_1}, X ^{t_2}) suivant,

\begin{tabular}{|c|c|} \hline T1 & T2 \\ \hline 3.1101 & 0.8970 \\ \hline 4.1008 & 2.0949 \\ \hline 4.7876 & 3.0307 \\ \hline 7.0677 & 4.0135 \\ \hline 6.0858 & 5.0515 \\ \hline 4.9309 & 6.0261 \\ \hline 4.0449 & 6.9059 \\ \hline 3.0101 & 7.9838 \\ \hline 5.9496 & 8.9854 \\ \hline 6.8729 & 9.9468 \\ \hline 1.0898 & 11.1682 \\ \hline 1.9868 & 11.9124 \\ \hline 2.9853 & 12.9516 \\ \hline 10.0080 & 13.9288 \\ \hline 8.9052 & 14.8826 \\ \hline 8.0411 & 15.9808 \\ \hline 2.0826 & 16.9726 \\ \hline 1.0536 & 18.1530 \\ \hline 9.0649 & 18.9751 \\ \hline 10.0826 & 19.8936 \\ \hline \end{tabular}

Ci-dessous le nuage de points basé sur ces données,

add210

La représentation graphique montre, outre la différence de valeurs aux deux temps, une absence de linéarité entre X ^{t_1} (noté X1) et X ^{t_2} (noté X2).

Le test des rangs signés de Wilcoxon :

On veut appliquer le test de Wilcoxon sur les données appariées (X ^{t_1}, X ^{t_2}). On calcul le vecteur D des valeurs absolues des différences, R des rangs associés et S des signes, 

\begin{tabular}{|c|c|c|c|c|c|c|} \hline T1 & T2 & Rang T1 & Rang T2 & D & R & S \\ \hline 3.1101 & 0.8970 & 7 & 1 & 2.2131 & 5 & - \\ \hline 4.1008 & 2.0949 & 9 & 2 & 2.0059 & 4 & - \\ \hline 4.7876 & 3.0307 & 10 & 3 & 1.7569 & 3 & - \\ \hline 7.0677 & 4.0135 & 15 & 4 & 3.0542 & 8 & - \\ \hline 6.0858 & 5.0515 & 13 & 5 &1.0343 & 1 & - \\ \hline 4.9309 & 6.0261 & 11 & 6 & 1.0952 & 2 & + \\ \hline 4.0449 & 6.9059 & 8 & 7 & 2.8610 & 6 & + \\ \hline 3.0101 & 7.9838 & 6 & 8 & 4.9737 & 11 & + \\ \hline 5.9496 & 8.9854 & 12 & 9 & 3.0358 & 7 & + \\ \hline 6.8729 & 9.9468 & 14 & 10 & 3.0739 & 9 & + \\ \hline 1.0898 & 11.1682 & 2 & 11 & 10.0784 & 18 & + \\ \hline 1.9868 & 11.9124 & 3 & 12 & 9.9256 & 16 & + \\ \hline 2.9853 & 12.9516 & 5 & 13 & 9.9663 & 17 & + \\ \hline 10.0080 & 13.9288 & 19 & 14 & 3.9208 & 10 & + \\ \hline 8.9052 & 14.8826 & 17 & 15 & 5.9774 & 12 & + \\ \hline 8.0411 & 15.9808 & 16 & 16 & 7.9397 & 13 & + \\ \hline 2.0826 & 16.9726 & 4 & 17 & 14.8900 & 19 & + \\ \hline 1.0536 & 18.1530 & 1 & 18 & 17.0994 & 20 & + \\ \hline 9.0649 & 18.9751 & 18 & 19 & 9.9102 & 15 & + \\ \hline 10.0826 & 19.8936 & 20 & 20 & 9.8110 & 14 & + \\ \hline \end{tabular}

Aucun ex-aequo et aucune valeur D_i ne valant 0 n’est à relever, par conséquent m = n = 20.  On détermine ensuite T en fonction du cas de figure décrit juste avant,

T^- = \sum_{i / S_i = -} R_i = 5 + 4 + 3 + 8 + 1 = 21

Dans un premier temps on se reportera à la table de la loi signée de Wilcoxon dans le cadre bilatéral,

T_{20,1\%,\mbox{bilat\'eral}} = 52 > T_{obs} ^- = 21

Concernant le calcul de la p-valeur exacte, on détermine la matrice des combinaisons de 1 à 20 parmi 20, ce qui revient à explorer 1 048 575 cas possibles. En fonction de la valeur de T, on peut trouver le nombre suivant de combinaisons dont la somme pondérée par l’itération donne ces valeurs,

\begin{tabular}{|c|c|} \hline Valeur de T & Cas possibles \\ \hline 0 & 1 \\ \hline 1 & 1 \\ \hline 2 & 1 \\ \hline 3 & 2 \\ \hline 4 & 2 \\ \hline 5 & 3 \\ \hline 6 & 4 \\ \hline 7 & 5 \\ \hline 8 & 6 \\ \hline 9 & 8 \\ \hline 10 & 10 \\ \hline 11 & 12 \\ \hline 12 & 15 \\ \hline 13 & 18 \\ \hline 14 & 22 \\ \hline 15 & 27 \\ \hline 16 & 32 \\ \hline 17& 38 \\ \hline 18 & 46 \\ \hline 19 & 54 \\ \hline 20 & 64 \\ \hline 21 & 75 \\ \hline \end{tabular}

On obtient alors la p-valeur suivante dans un cadre bilatéral :

p = 2 \times (\frac{1}{2 ^{20}}+ \frac{1}{2 ^{20}} + \frac{1}{2 ^{20}} + \frac{2}{2 ^{20}} + \frac{2}{2 ^{20}} + \frac{3}{2 ^{20}} + \cdots + \frac{54}{2 ^{20}} + \frac{64}{2 ^{20}} + \frac{75}{2 ^{20}})

 = 2 \times \frac{446}{1048576}

 = 2 \times 0.00042253387

 = 0.0008506775 < 5 \%

Dans le cas où on souhaite se baser sur la loi normale centrée-réduite, on doit déterminer :

– L’Espérance, E_T = \frac{20 \times (20 + 1)}{4} = 105 ;

– Et la variance, V_T = \frac{20 \times (20 + 1) \times (2 \times 20 + 1)}{24} = 717.5.

La statistique de test vaut alors:

z = \frac{|21 - 105|}{\sqrt{717.5}} = 3.135944

On cherche à tester bilatéralement le rejet de l’hypothèse H_0. Sous cette approche, on génère une loi normale centrée-réduite et l’on reporte sur le graphe ci-dessous les valeurs seuils qui correspondent aux quantiles à 20 \%, 10 \%, 5 \% et 1 \% dans le cadre bilatéral,

add

En se reportant aux valeurs de la table de la loi normale centrée-réduite ci-dessus, on constate que,

L_{(0,1),20\%,\mbox{bilat\'eral}} = 1.281552 < L_{(0,1),10\%,\mbox{bilat\'eral}} = 1.644854 < L_{(0,1),5\%,\mbox{bilat\'eral}} = 1.959964 < L_{(0,1),1\%,\mbox{bilat\'eral}} = 2.326348 < z_{obs} = 3.135944

Maintenant, on calcul la p-valeur associée à la statistique de test z_{obs} de la loi normale centrée-réduite dans le cadre bilatéral. On commence par appliquer le changement de variable,

t = \frac{1}{1 + 0.2316419 \times 3.135944} = 0.5792347

On peut calculer maintenant la p-valeur,

p = 2 \times \frac{1}{\sqrt{2 \pi}} e ^{-\frac{3.135944 ^2}{2}} (0.31938153 \times 0.5792347 - 0.356563782 \times 0.5792347 ^2 + 1.781477937 \times 0.5792347 ^3 - 1.821255978 \times 0.5792347 ^4 + 1.330274429 \times 0.5792347 ^5)

= 2 \times 0.3989423 \times 0.007320531 \times 0.293301

= 0.001713153 < 5 \%

On pourra rejeter H_0 au risque de 5 \% et on en conclut que les rangs de la variable X évolue entre les deux temps t_1 et t_2.

Le test du signe :

On applique maintenant le test du signe au couple (X ^{t_1}, X^{t_2}). En se référant au tableau de synthèse des différences de l’exemple du test de Wilcoxon, on a alors,

T = \sum_{i = 1} ^{20} 1_{X_i ^{t_1} < X_i ^{t_2}}

 = 1 + 1 + 1 + 1 + 1 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0

 = 5 

Dans un premier temps on se reportera à la table de la loi binomial,

B_{20,1\%,\mbox{bilat\'eral}} = 4 < T_{obs} = 5 < B_{20,5\%,\mbox{bilat\'eral}} = 6

Concernant le calcul de la p-valeur exacte dans le cadre bilatéral,

p = 2 \times \sum_{k = 1} ^5 \frac{20!}{(20 - k)! k!} \frac{1}{2 ^{20}}

 = 2 \times \frac{1}{2 ^{20}} \times (20 + 190 + 1140 + 4845 + 15504)

 = 2 \times \frac{21699}{1048576}

 = 2 \times 0.02069378

 = 0.04138756

Dans le cas où on souhaite se baser sur la loi normale centrée-réduite, on calcul l’espérance E_B = \frac{20}{2} = 10 et la variance V_B = \frac{20}{4} = 5. La statistique de test vaut alors:

z = \frac{|5 - 10|}{\sqrt{5}} = \frac{5}{2.236068} = 2.236068

On cherche à tester bilatéralement le rejet de l’hypothèse H_0. Sous cette approche, on génère une loi normale centrée-réduite et l’on reporte sur le graphe ci-dessous les valeurs seuils qui correspondent aux quantiles à 20 \%, 10 \%, 5 \% et 1 \% dans le cadre bilatéral,

add

En se reportant aux valeurs de la table de la loi normale centrée-réduite ci-dessus, on constate que,

L_{(0,1),20\%,\mbox{bilat\'eral}} = 1.281552 > L_{(0,1),10\%,\mbox{bilat\'eral}} = 1.644854 < L_{(0,1),5\%,\mbox{bilat\'eral}} = 1.959964 < z_{obs} = 2.236068 < L_{(0,1),1\%,\mbox{bilat\'eral}} = 2.326348

Maintenant, on calcul la p-valeur exacte associée à la statistique de test z_{obs} de la loi normale centrée-réduite dans le cadre bilatéral. On commence par appliquer le changement de variable,

t = \frac{1}{1 + 0.2316419 \times 2.236068} = 0.6587758

On peut calculer maintenant la p-valeur,

p = 2 \times \frac{1}{\sqrt{2 \pi}} e ^{-\frac{2.236068 ^2}{2}} (0.31938153 \times 0.6587758 - 0.356563782 \times 0.6587758 ^2 + 1.781477937 \times 0.6587758 ^3 - 1.821255978 \times 0.6587758 ^4 + 1.330274429 \times 0.6587758 ^5)

 = 2 \times 0.3989423 \times 0.08208499 \times 0.387014

 = 2 \times 0.01267362

 = 0.02534723 < 5 \%

On pourra rejeter H_0 au risque de 5 \% et on en conclut que les rangs de la variable X évoluent entre les deux temps t_1 et t_2.

\bullet Application sous R:

Cas pour échantillons non appariés : Les tests de la somme des rangs de Wilcoxon et du U de Mann-Whitney

Dans un premier temps, on charge notre exemple:

X_Y1 = c(3.1101,4.1008,4.7876,7.0677,
6.0858,4.9309,4.0449,3.0101,5.9495,6.8729)

X_Y2 = c(1.0898,1.9868,2.9853,10.0080,8.9052,
8.0411,2.0826,1.0536,9.0649,10.0826)

Package et fonction R: http://stat.ethz.ch/R-manual/R-patched/library/stats/html/wilcox.test.html

La fonction wilcox.test du package stats permet d’appliquer les différentes versions du test de Wilcoxon sur données non appariés ou appariés. Le package se charge automatiquement lors du lancement de R.

On lance le test de Wilcoxon afin de savoir si les rangs de X_{Y = A} et X_{Y = B} sont différents. On procède de la manière suivante :

wilcox.test(X_Y1,X_Y2,paired=FALSE)

Parmi les éléments à insérer les plus importants il faut relever :

– Les deux échantillons sur lesquels appliquer le test : X_Y1, X_Y2 ;

– Si les données sont non appariées : paired = FALSE ;

– On aurait pu rajouter l’instruction « alternative » qui permettra de déterminer si on veut procéder à un test bilatéral, unilatéral à gauche ou à droite. Par défaut le logiciel R lance le test dans un cadre bilatéral ;

– On aurait pu rajouter l’instruction « exact » qui permettra de déterminer si l’on veut se baser sur la loi de distribution de la loi centrée-réduite (TRUE) ou celle de Wilcoxon (FALSE, soit l’option par défaut).

On obtient alors les résultats suivants:

add

On vérifie :

– Les données utilisées: « data: X_Y1 and X_Y2 » ;

– La statistique de test: « W = 50 » , qui est en réalité celle du Ude Mann-Whitney obtenue lors des calculs manuels (cf section « Exemple ») ;

– La p-valeur: « p-value = 1 » , qui est la même que celle obtenue lors des calculs manuels (cf section « Exemple ») ;

– Et le type de test effectué: « alternative hypothesis: true location shift is not equal to 0« .

Concernant le test du U de Mann-Whitney, il n’y a pas de fonction R qui lui soit dédié étant donné la relation intime qu’il partage avec le test de Wilcoxon.

Cas pour échantillons appariés

Dans un premier temps, on charge notre exemple:

X_t1 = c(3.1101,4.1008,4.7876,7.0677,6.0858,4.9309,
4.0449,3.0101,5.9496,6.8729,1.0898,1.9868,2.9853,10.0080,
8.9052,8.0411,2.0826,1.0536,9.0649,10.0826)

X_t2 = c(0.8970,2.0949,3.0307,4.0135,5.0515,6.0261,
6.9059,7.9838,8.9854,9.9468,11.1682,11.9124,12.9516,
13.9288,14.8826,15.9808,16.9726,18.1530,18.9751,19.8936)

Le test des rangs signés de Wilcoxon :

Package et fonction R: http://stat.ethz.ch/R-manual/R-patched/library/stats/html/wilcox.test.html

La fonction wilcox.test du package stats permet d’appliquer les différentes versions du test de Wilcoxon sur données appairées ou non appariées. Le package se charge automatiquement lors du lancement de R.

On lance le test de Wilcoxon afin de savoir si X évolue entre les temps t_1 et t_2. On procède de la manière suivante :

wilcox.test(X_t1,X_t2,paired=TRUE)

Parmi les éléments à insérer les plus importants il faut relever:

– Les deux échantillons sur lesquels appliquer le test : X_t1, X_t2 ;

– Si les données sont appariées : paired = TRUE;

– On aurait pu rajouter l’instruction « alternative » qui permettra de déterminer si on veut procéder à un test bilatéral, unilatéral à gauche ou à droite. Par défaut le logiciel R lance le test dans un cadre bilatéral.

– On aurait pu rajouter l’instruction « exact » qui permettra de déterminer si l’on veut se baser sur la loi de distribution de la loi centrée-réduite (TRUE) ou celle de Wilcoxon (FALSE, soit l’option par défaut).

On obtient alors les résultats suivants :

add.png

On vérifie :

– Les données utilisées: « data: X_t1 and X_t2 » ;

– La statistique de test: « W = 21 » , qui est la même que celle obtenue lors des calculs manuels  (cf section « Exemple ») ;

– La p-valeur: « p-value = 0.0008507 » , qui est la même que celle obtenue lors des calculs manuels (cf section « Exemple ») ;

– Et le type de test effectué: « alternative hypothesis: true location shift is not equal to 0 » .

Le test du signe :

Package et fonction R: https://www.rdocumentation.org/packages/BSDA/versions/1.2.0/topics/SIGN.test

La fonction SIGN.test du package BSDA permet d’appliquer le test du signe.

On lance le test du signe afin de savoir si X évolue entre les temps t_1 et t_2. On procède de la manière suivante :

SIGN.test(X_t1,X_t2)

Parmi les éléments à insérer les plus importants il faut relever:

– Les deux échantillons sur lesquels tester l’égalité des médianes : X_t1, X_t2 ;

– On aurait pu rajouter l’instruction « alternative » qui permettra de déterminer si on veut procéder à un test bilatéral, unilatéral à gauche ou à droite. Par défaut le logiciel R lance le test dans un cadre bilatéral.

On obtient alors les résultats suivants :

add

On vérifie :

– Les données utilisées: « data: X_t1 and X_t2 » ;

– La statistique de test: « S = 5 » , qui est en réalité celle que l’on a déterminé dans notre exemple moins l’espérance (cf section « Exemple ») ;

– La p-valeur: « p-value = 0.04139 » , qui est la même que celle obtenue lors des calculs manuels à ceci près qu’il s’agit de la p-valeur exacte et non celle associée à la distribution normale centrée-réduite (cf section « Exemple ») ;

– Et le type de test effectué: « alternative hypothesis: true median difference is not equal to 0 » .

\bullet Application sous SAS:

Cas pour échantillons non appariés : Les tests de la somme des rangs de Wilcoxon et du U de Mann-Whitney

Soit l’exemple suivant:

data E;
input Y $1. X;
cards;
A 3.1101
A 4.1008
A 4.7876
A 7.0677
A 6.0858
A 4.9309
A 4.0449
A 3.0101
A 5.9495
A 6.8729
B 1.0898
B 1.9868
B 2.9853
B 10.0080
B 8.9052
B 8.0411
B 2.0826
B 1.0536
B 9.0649
B 10.0826
;
run;

Procédure SAS : http://support.sas.com/documentation/cdl/en/statug/63033/HTML/default/viewer.htm#statug_npar1way_sect022.htm

On lance le test de Wilcoxon pour données non appariées afin de savoir si X|_{Y = "A"} et X|_{Y = "B"} ont la même médiane. On procède de la manière suivante:

proc npar1way wilcoxon data = E;
class Y;
var X;
ods exclude WilcoxonScores KruskalWallisTest;
run;

Parmi les éléments à insérer les plus importants il faut relever :

– La table contenant nos données: data = E ;

– L’utilisation du test de Wilcoxon: proc npar1way wilcoxon ;

– La variable sur laquelle appliquer le test : var X ;

– La variable binaire permettant de scinder X en X|_{Y = "A"} et X|_{Y = "B"}: class Y ;

– L’ods output est utilisé afin de filtrer les résultats et n’afficher que ceux dont on a besoin.

On obtient alors les résultats suivants:

add

On vérifie :

– Sur la ligne « Statistique » , la statistique de test: « T = 55 «  , qui est la même que celle obtenue lors des calculs manuels (cf section « Exemple ») ;

– Sur la ligne « Bilatéral » du paragraphe « Approximation normale », la p-valeur : « 1 » , qui est la même celle obtenue lors des calculs manuels (cf section « Exemple »).

Concernant le test du U de Mann-Whitney, il n’y a pas de procédure SAS qui lui soit dédié étant donné la relation intime qu’il partage avec le test de Wilcoxon.

Cas pour échantillons appariés

Soit l’exemple suivant:

data E;
input X_t1 X_t2;
cards;
3.1101 0.8970
4.1008 2.0949
4.7876 3.0307
7.0677 4.0135
6.0858 5.0515
4.9309 6.0261
4.0449 6.9059
3.0101 7.9838
5.9496 8.9854
6.8729 9.9468
1.0898 11.1682
1.9868 11.9124
2.9853 12.9516
10.0080 13.9288
8.9052 14.8826
8.0411 15.9808
2.0826 16.9726
1.0536 18.1530
9.0649 18.9751
10.0826 19.8936
;
run;

Le test des rangs signés de Wilcoxon :

Procédure SAS : http://support.sas.com/documentation/cdl/en/procstat/66703/HTML/default/viewer.htm#procstat_univariate_details84.htm

On lance le test des rangs signés de Wilcoxon afin de savoir si les rangs des valeurs de X aux temps t_1 et t_2 sont les mêmes.  Le test ne se fait pas directement, il faut pour cela créer une variable intégrant la différence des valeurs de X ^{t_1} et X ^{t_2}. On procède de la manière suivante:

data E;
set E;
diff = X_t1 – X_t2;
run;

proc univariate data = E;
var diff;
ods exclude Moments BasicMeasures Quantiles ExtremeObs;
run;

Parmi les éléments à insérer les plus importants il faut relever:

– La table contenant nos données: data = E ;

– La variable sur laquelle porte le test: var diff , qui correspond à la différence entre X ^{t_1} et X ^{t_2} calculée lors de l’étape data juste avant ;

– L’ods output est utilisé afin de filtrer les résultats et n’afficher que ceux dont on a besoin.

On obtient alors les résultats suivants:

add.png

On vérifie:

– Dans la colonne « Statistique » à la ligne « Signed Rank », la statistique de test S : « -84 » , qui est en réalité le résultat de celle obtenue lors de nos calculs manuels moins l’espérance (cf section « Exemple ») ;

– Dans la colonne « P-value » à la ligne « Signed Rank » , la p-valeur : « 0.0009 » , qui est la même que celle obtenue lors des calculs manuels à arrondi prés (cf section « Exemple » ).

Le test du signe :

Procédure SAS : http://support.sas.com/documentation/cdl/en/procstat/66703/HTML/default/viewer.htm#procstat_univariate_details84.htm

On lance le test du signe afin de savoir si les rangs des valeurs de X aux temps t_1 et t_2 sont les mêmes.  Le test ne se fait pas directement, il faut pour cela créer une variable intégrant la différence des valeurs de X ^{t_1} et X ^{t_2}. On procède de la manière suivante:

data E;
set E;
diff = X_t1 – X_t2;
run;

proc univariate data = E;
var diff;
ods exclude Moments BasicMeasures Quantiles ExtremeObs;
run;

Parmi les éléments à insérer les plus importants il faut relever:

– La table contenant nos données: data = E ;

– La variable sur laquelle porte le test: var diff , qui correspond à la différence entre X ^{t_1} et X ^{t_2} calculée lors de l’étape data juste avant ;

– L’ods output est utilisé afin de filtrer les résultats et n’afficher que ceux dont on a besoin.

On obtient alors les résultats suivants:

add.png

On vérifie:

– Dans la colonne « Statistique » à la ligne « Signe », la statistique de test SM : « -5 » , qui est la même que celle obtenue lors des calculs manuels (cf section « Exemple ») ;

– Dans la colonne « P-value » à la ligne « Sign » , la p-valeur : « 0.0414 » , qui est la même que celle obtenue lors des calculs manuels (cf section « Exemple » ).

\bullet Bibliographie:

– Individual comparisons by ranking methods de Franck Wilcoxon

– Statistique, dictionnaire encyclopédique de Yadolah Dodge

– Probabilité, analyse de données et statistique de Gilbert Saporta

– Le document : https://jonathanlenoir.files.wordpress.com/2013/12/tables-mann-whitney-wilcoxon-kruskal-wallis.pdf

– Méthodes et modèles en statistique non paramétrique, exposé fondamental de Philippe capéraà et Bernard Van Cutsem