Le test de Klotz

add

\bullet Présentation:

Né suite aux travaux de J. H. Klotz, le  test de Klotz est une approche non paramétrique permettant de tester si X|_{Y = g_1}, \dots, X|_{Y = g_K}, les sous-échantillons d’une variable continue X distribuée en fonction des K \geq 2 groupes d’une variable qualitative Y, ont même fonction de répartition.

Le test de Klotz se base sur le même principe que ceux de Ansari-Bradley, Conover, Siegel-Tukey et Savage, à savoir la construction d’une fonction score répartissant la distribution des rangs de X autour de la position centrale symbolisée par leur moyenne.

A noter que le test de Klotz est basé sur une fonction score équivalente à celle du test de Wan der Waerden élevée au carré. De plus, dans le cas où les données suivent une loi normale, le test de Klotz est équivalent aux approches paramétriques.

\bullet Le test:

Hypothèse préliminaire: variable continue distribuée selon K modalités d’une variable qualitative.

La formule de la fonction score intervenant pour calculer la statistique de test de Klotz est:

f(R_i) = \Phi ^ {-1}(\frac{R_i}{n + 1})

Avec \Phi ^{-1} la fonction inverse de la loi normale centrée-réduite également appelée fonction quantile normale. Nous avons alors la statistique de test:

K = \frac{\sum_{k = 1} ^K \frac{1}{n_k} [\sum_{i = 1} ^{n_k} f(R_i) - n_k \overline{f(R)}] ^2}{T ^2}

Avec T ^2 = \frac{\sum_{i = 1} ^n [f(R_i) - \overline{f(R)}] ^2}{n - 1}.

Elle suit une loi du \chi ^2  à (K - 1) degrés de liberté et l’hypothèse H_0 est: « Distribution identique de la variable au sein des K groupes / F_1 = \cdots = F_K« .

Ci-dessous le tableau de la loi du \chi ^2.

addTendance pour le rejet de H_0:

Plus la statistique de test K de Klotz est grande et plus nous avons de chance de rejeter H_0, ce qui revient à dire que,

\sum_{k = 1} ^K \frac{1}{n_k} [\sum_{i = 1} ^{n_k} (f(R|_{Y = g_k}))_i - n_k \overline{f(R)}] ^2 \rightarrow \infty \Rightarrow rejet de H_0

Ce qui implique,

\exists k / \frac{1}{n_k} [\sum_{i = 1} ^{n_k} (f(R|_{Y = g_k}))_i - n_k \overline{f(R)}] ^2 \rightarrow \infty

\Rightarrow \exists k / \sum_{i = 1} ^{n_k} (f(R|_{Y = g_k}))_i >>>> n_k \overline{f(R)}

Soit que la somme des rangs pour l’un des groupes est nettement plus grande que la moyenne des rangs pondérés, impliquant que l’une des distributions est nettement différente des autres.

\bullet Tendance lorsque n \longrightarrow \infty:

Nous proposons ici de vérifier si le test de Klotz est sensible aux grands échantillons ou non. Étant donné la formule de la statistique de test, et qui fait intervenir régulièrement les effectifs n_k des différents groupes, il semblerait que ce soit le cas.

Le tableau ci-dessous présente l’évolution des p-valeurs associées aux statistiques de test calculées sur plusieurs simulations dans le cas où les distribution sont différentes d’un groupe à l’autre.

add

Globalement, quelque soit la taille de l’échantillon, le test statistique rejette H_0, ce qui est en accords avec nos hypothèses.

Procédons à la même expérience mais cette fois-ci dans un cas où les différentes distributions ne devraient pas être statistiquement différentes. Le tableau ci-dessous présente ces résultats.

add

Jusqu’à N = 1 000 nous restons cohérent avec nos hypothèses, cependant nous voyons qu’à partir d’un échantillon de taille 10 000, le test rejette H_0 à tort.

Nous en déduisons que le test de Klotz est influencé par la taille de l’échantillon.

\bullet Annexe théorique:

Cette partie de l’article présente une esquisse des démonstrations pour la fonction génératrice, l’espérance et la variance de la statistique de test K de Klotz dans le cas où le nombre de groupe G = 2.

Démonstration de la fonction génératrice:

Sous l’hypothèse nulle H_0 chacune des \begin{pmatrix} n_1 + n_2 \\ n_1 \end{pmatrix} combinaisons des rangs R  associés à X sont équivalentes. La probabilité des différentes valeurs de K (Klotz) est alors obtenue comme produit des 1 / \begin{pmatrix} n_1 + n_2 \\ n_1 \end{pmatrix}.

De ce constat, nous pouvons écrire la probabilité de la manière suivante:

P(K | n_1, n_2 + 1) = f(K | n_1, n_2) / \begin{pmatrix} \\ n_1 + n_2 \\ n_1 \end{pmatrix}

, avec la fonction de densité:

f(K | n_1, n_2 + 1) = f(K | n_1, n_2) + f(K - N - 1 | n_1 - 1, n_2 + 1)

, en posant n_1 + n_2 = 2N ou n_1 + n_2 = 2N + 1.

Le premier terme étant la fréquence de K (Klotz) quand K (Klotz) ne contient pas l’élément de rang N + 1 et le second le cas inverse.

Alternativement, nous pouvons écrire,

(n_1 + n_2 + 1) P(K | n_1, n_2 + 1) = (n_2 + 1) P(K | n_1, n_2) + n_1 P(K - N - 1 |n_1 - 1, n_2 + 1)

La fonction génératrice est alors:

g(u,v) = \prod_{i = 1} ^N ( 1 + u ^i v) ^2 si n_1 + n_2 = 2 N

g(u,v) = ( 1 + u ^{n + 1} v) \prod_{i = 1} ^N ( 1 + u ^i v) ^2 si n_1 + n_2 = 2 N + 1

, dont la fonction de densité f(K |n_1, n_2) est s’inscrit comme étant le coefficient u ^{K} v ^{n_1} (où K est la statistique de test de Klotz).

L’espérance et la variance de K:

En reprenant la notation n_1 + n_2 = 2 N, nous avons:

E[K] = n_1 E_1(r) = \frac{n_1 (n_1 + n_2 + 2)}{4}

, Avec E_1[r] l’espérance basée sur l’intégrale choisie aléatoirement parmi les N premières intégrales.

En posant:

E_1 [r ^2], l’espérance basée sur le carré de l’une des intégrales choisie aléatoirement parmi les N premières,

E_1 [rs], l’espérance basée sur le produit de deux intégrales distinctes et choisies aléatoirement parmi les N premières,

E_2 [rs], l’espérance basée sur le produit de deux intégrales distinctes (sous contrainte d’être séparées au moins par un pas de deux) et choisies aléatoirement parmi les N premières,

Nous avons,

E[K ^2] = n_1 E_1 (r ^2) = n_1 E_1 (r ^2) + n_1 (n_1 - 1) E[rs]

 = \frac{(N + 1) (2 N + 1)}{6} + n_1 (n_1 - 1) [2 \begin{pmatrix} N \\ 2 \end{pmatrix} E_1 (rs) + 2 \begin{pmatrix} N \\ 2 \end{pmatrix} ^2 E_2 (rs)] / 2 \begin{pmatrix} 2 N \\ 2 \end{pmatrix}

 = \frac{(N + 1) (2 N + 1)}{6} + n_1 (n_1 - 1) [2 \begin{pmatrix} N \\2 \end{pmatrix} \frac{(3 N + 2) (N + 1)}{12} + 2 \begin{pmatrix} N \\ 2 \end{pmatrix} ^2 \frac{(N + 1) ^4}{4}] / 2 \begin{pmatrix} 2 N \\ 2 \end{pmatrix}

 = [n_1 \frac{(N + 1) (2 N + 1)}{6}] + [ \frac{n_1 (n_1 - 1) (N - 1) (3 N ^2 + N - 1)}{6 (2 N - 1)}]

La variance peut alors se calculer à son tour,

V(K) = E[K ^2] - E[K] ^2 = \frac{n_1 n_2 (n_ 1 + n_2 - 2) (n_1 + n_2 + 2)}{48 (n_1 + n_2 - 1)}

\bullet Exemple:

Soit l’échantillon ci-dessous:

add

Nous présentons ci-dessous les trois courbes de densité liées à X|_{Y = 1} (en vert), X_{Y = 2} (en bleu) et X|_{Y = 3} (en rouge):

add

Cette représentation des données permet de voir que les si les distributions de X|_{Y = 2} et X|_{Y = 3} semblent plus ou moins similaires, elles semblent différer de celle de X|_{Y = 1}. Vérifions-le statistiquement.

Dans un premier temps, présentons le vecteur des rangs R associés à X en fonction des trois groupes de Y:

R|_{Y = 1} = (11, 12, 2, 13, 20, 1, 5)

\Rightarrow \frac{R|_{Y = 1}}{20 + 1} = (0.52380952, 0.57142857, 0.09523810, 0.61904762, 0.95238095, 0.04761905, 0.23809524)

R|_{Y = 2} = (8, 13, 18, 4, 19, 15)

\Rightarrow \frac{R|_{Y = 2}}{20 + 1} = (0.3809524, 0.7619048, 0.8571429, 0.1904762, 0.7142857, 0.04761905)

R|_{Y = 3} = (7, 10, 3, 6, 14, 9, 17)

\Rightarrow \frac{R|_{Y = 3}}{20 + 1} = (0.33333333, 0.4761905, 0.1428571, 0.2857143, 0.66666667, 0.4285714, 0.8095238)

Nous pouvons donc calculer la fonction score de Klotz,

f(R|_{Y = 1}) = \Phi ^{-1} (\frac{R|_{Y = 1}}{21})

= (0.597171, 0.1800124, -1.3091717, 0.3029804, 1.6683912, -1.6683912, -0.7124430)

f(R|_{Y = 2}) = \Phi ^{-1} (\frac{R|_{Y = 2}}{21})

= (-0.3029804, 0.7124430, 1.0675705, -0.8761428, 1.3091717, 0.5659488)

f(R|_{Y = 3}) = \Phi ^{-1} (\frac{R|_{Y = 3}}{21})

= (-0.4307273, -0.0597171, -1.0675705, -0.5659488, 0.4307273, -0.1800124, 0.8761428)

Nous avons alors,

\overline{f(R)} = 0.754596

Ensuite, calculons le dénominateur T ^2 de la statistique de test K de Klotz,

T ^2 = \frac{\sum_{i = 1} ^{20} [f(R_i) - 0.754596] ^2}{20 - 1} = \frac{14.56751}{19} = 0.7667112

Enfin,

K = \frac{1}{0.7667112} \times [\frac{(7.916332 - 7 \times 0.754596) ^2}{7} + \frac{(4.540934 - 6 \times 0.754596) ^2}{6} + \frac{(2.634654 - 7 \times 0.754596) ^2}{7}]

= \frac{0.9912569+ 0.00002973997 + 1.001336}{0.7667112}

= \frac{1.992623}{0.7667112}

= 2.598922

Si nous reportons la valeur de la statistique de test à la table de la loi du \chi ^2 pour 3 - 1 = 2 degrés de liberté, nous obtenons une p-valeur de 0.2727 >>>>>> 5 \%. Nous en concluons que nous ne pouvons rejeter H_0 et donc que les distributions restreintes aux différents groupes de Y ne sont pas différentes.

\bullet Application informatique:

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

Package et fonction R: http://www.inside-r.org/packages/cran/coin/docs/ansari_test

\bullet Bibliographie: 

– Comparaison de populations, tests non paramétriques de Ricco Rakotomalala

– Rank sum tests for dispersion de A. R. Ansari et Richard A. Bradley