Le test K2 de D’Agostino-Pearson

add

\bullet Présentation:

Publié en 1970 par Ralph B. d’Agostino, le test K ^2 de D’Agostino-Pearson ou test de D’Agostino est une approche non paramétrique permettant de tester si une variable continue X suit une loi normale.

Le test K ^2 de D’Agostino-Pearson est considéré comme plus puissant que le test de Kolmogorov-Smirnov ou ses variantes comme les tests de Cramér-von Mises, de Lilliefors et d’Anderson-Darling. De plus, il reste moins sensible aux ex-aequos que le test de Shapiro-Wilk. Le fait que les utilisateurs lui préfèrent les tests cités ci-avant provient principalement de sa complexité d’application ainsi que d’une absence explicite d’interprétations possibles lorsqu’il détecte une non-adéquation à la loi normale. De plus, contrairement aux autres tests, il est exclusivement réservé à la comparaison de la distribution de X à une loi normale.

La présence du nom de Karl Pearson dans l’appellation du test provient essentiellement du fait que le test K ^2 de D’Agostino-Pearson se base sur le coefficient d’asymétrie (appelé également coefficient of Skewness ou coefficient \beta_1 de Pearson) et d’aplatissement (appelé également coefficient of Kurtosis ou coefficient \beta_2 de Pearson) eux même conçus à partir des travaux de Karl Pearson. Le premier mesurant le caractère asymétrique d’une courbe de distribution alors que le second mesure sa capacité à s’aplatir au niveau de ses queues.

\bullet Le test:

Hypothèse préliminaire: Variable continue.

Le test K ^2 de D’Agostino-Pearson se base sur le coefficient d’asymétrie centré-réduit:

\gamma_1 = D \times ln(C + \sqrt{C ^2 + 1})

Où,

A = \frac{\frac{1}{n} \sum_{i = 1} ^n (x_i - \mu)^3}{(\frac{1}{n} \sum_{i = 1} ^n (x_i - \mu)^2)^\frac{3}{2}}

B = \frac{3(n^2 + 27n - 70)(n + 1)(n + 3)}{(n - 2)(n + 5)(n + 7)(n + 9)}

C = \frac{A \times \sqrt{\frac{(n + 1)(n + 3)}{6(n - 2)}}}{\sqrt{\frac{2}{\sqrt{2(B - 1)} - 2}}}

D = \frac{1}{\sqrt{ln(\sqrt{\sqrt{2(B - 1)}-1}})}

Et le coefficient d’aplatissement centré-réduit:

\gamma_2 = \frac{(1 - \frac{2}{9 (6 + \frac{8}{F} [\frac{2}{F} + \sqrt{1 + \frac{4}{F ^2}}]}) - H^\frac{1}{3}}{\sqrt{\frac{2}{9 (6 + \frac{8}{F} [\frac{2}{F} + \sqrt{1 + \frac{4}{F ^2}}]}}}

Où,

E = \frac{24 n (n - 2) (n - 3)}{(n + 1)^2 (n + 3) (n + 5)}

F = \frac{6(n^2 - 5 n + 2)}{(n + 7) (n + 9)} \sqrt{\frac{6 (n + 3) (n + 5)}{n (n - 2) (n - 3)}}

G = \frac{\frac{1}{n} \sum_{i = 1} ^n (\frac{X_i - \mu}{\sigma}) ^4 - 3 + \frac{6}{n + 1}}{\sqrt{E}}

H = \frac{1 - \frac{2}{(6 + \frac{8}{F} [\frac{2}{F} + \sqrt{1 + \frac{4}{F ^2}}]}}{1 + G \sqrt{\frac{2}{2 + \frac{8}{F} (\frac{2}{F} + \sqrt{1 + \frac{4}{F ^2}})}}}

La statistique du test K ^2 de D’Agostino-Pearson, connue également sous l’appellation de statistique omnibus K ^2, est:

K ^2 = \gamma_1 ^2 + \gamma_2 ^2

Elle suit une loi du \chi ^2 à deux degrés de libertés et l’hypothèse H_0 est: « La variable suit une loi normale / F_X = F_{LN}« .

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

add

Tests statistiques autour du coefficient d’asymétrie et du coefficient d’aplatissement:

Comme nous l’avons précisé, le test K ^2 D’Agostino-Pearson ne permet pas de définir directement si la raison de la non adéquation à une loi normale provient du coefficient d’asymétrie ou d’aplatissement. Deux tests existent afin d’y pallier.

– Pour le coefficient d’asymétrie centré-réduit \gamma_1,

\gamma_1 suit une loi normale L(0,1)

, et H_0 est: « le coefficient d’asymétrie est égale à 0« .

– Pour le coefficient d’aplatissement centré-réduit \gamma_2,

\gamma_2 suit une loi normale L(0,1)

, et H_0 est: « le coefficient d’aplatissement est égale à 3« .

Tendance pour le rejet de H_0:

En résumé, nous acceptons H_0 lorsque K ^2 \rightarrow 0 ce qui implique,

\gamma_1 ^2 + \gamma_2 ^2 \rightarrow 0

Soit que les versions centrées-réduites des coefficients d’asymétrie et d’aplatissement \gamma_1, \gamma_2 \rightarrow 0 étant donné que la somme ne peut s’annuler car les deux membres sont toujours positifs.

Si nous restons sur sa version non centrée-réduite, pour le coefficient \gamma_1 lorsque X suit une loi normale, il converge naturellement vers 0 traduisant une symétrie parfaite de la courbe de distribution. Néanmoins, la réciproque n’est pas avérée, par exemple la loi uniforme ou encore arc-sinus ont également (et c’est logique) un coefficient d’asymétrie valant 0. Nous rappelons que si \gamma_1 > 0 cela implique que l’essentiel de la distribution tend vers la gauche, tandis que si \gamma_1 < 0 alors elle tend vers la droite.

Si nous restons sur sa version non centrée-réduite, pour le coefficient \gamma_2 lorsque X suit une loi normale, il converge naturellement vers 3 traduisant un aplatissement progressif autour du centre de la distribution puis plus radical au niveau de ses queues. A noter que le coefficient \gamma_2 est toujours supérieur à 1 et plus particulièrement il est relié à \gamma_1 par la relation: \gamma_2 \geq 1 + \gamma_1 ^2. Nous rappelons que si \gamma_2 \rightarrow \infty alors la courbe de distribution ressemble à un pic (nous parlons de courbe leptocurtique) et si \gamma_2 \approx 1 alors elle est plate (nous parlons de courbe platicurtique).

Enfin, nous retrouvons l’explication pour laquelle le test K ^2 de D’Agostino-Pearson, malgré sa puissance avérée, pâtit d’une qualité d’information précieuse car sa formule d’usage ne permet pas de déterminer si la raison, pour laquelle X ne suit pas une loi normale, est un coefficient d’asymétrie ou d’aplatissement hors norme étant donné que l’information est fondue dans la somme des deux éléments.

\bullet Tendance lorsque n \longrightarrow \infty:

– Nous avons fait tourner cinq simulations afin d’étudier la robustesse du test K ^2 de D’Agostino-Pearson. Nous générons des échantillons de taille 20, 10^2, 10^3, 10^4 puis 45 000 selon une loi uniforme et nous étudions si le fait d’augmenter le paramètre n a une influence sur le fait d’accepter H_0 à tort.

add

Nous constatons que nous rejetons à chaque fois l’hypothèse H_0, ce qui est en adéquation avec les hypothèses fixées. Il n’est pas assuré que dans le cas N = 20 le générateur fournisse à coup sûr un échantillon qui suit une loi uniforme, d’où la valeur de l’écart-type.

– Nous avons fait tourner cinq simulations afin d’étudier la robustesse du test K ^2 de D’Agostino-Pearson. Nous générons des échantillons de taille 20, 10^3, 10^4 puis 45 000 selon une loi normale et nous étudions si le fait d’augmenter le paramètre n a une influence sur le fait de rejeter H_0 à tort.

add

Nous constatons que nous acceptons à chaque fois l’hypothèse H_0, ce qui est en adéquation avec les hypothèses fixées.

Nos simulations montrent bien que le test K ^2 de D’Agostino-Pearson n’est pas influencé par la convergence de n vers \infty.

\bullet Annexe théorique:

Nous proposons ici de démontrer les valeurs du coefficient d’asymétrie \gamma_1 et du coefficient d’aplatissement \gamma_2 dans le cas où X suit une loi normale en rappelant que E[X] = \mu et E[X ^2] = V(X) - E ^2[X] = \sigma ^2 - \mu ^2 par définition.

coefficient d’asymétrie:  \gamma_1 = 0

\gamma_1 = \frac{1}{\sigma ^3} \cdot E[X - E[X]] ^3

= \frac{1}{\sigma ^3} \cdot (E[X ^3] - 3 E[X] \cdot E[X ^2] + 3 E ^2[X] \cdot E[X] - E[X] ^3)

Nous avons,

E[X ^3] = \frac{1}{\sigma \cdot \sqrt{2 \pi}} \cdot \int_R x ^3 \cdot e ^{- \frac{1}{2} \cdot (\frac{x - \mu}{\sigma}) ^2} dx

Nous pouvons simplifier ce terme en effectuant le changement de variable t = \frac{X - \mu}{\sigma} \Rightarrow t \cdot \sigma + \mu = X \Rightarrow dx = \sigma \cdot dt, nous obtenons alors:

E[X ^3] = \frac{1}{\sigma \cdot \sqrt{2 \pi}} \cdot (\int_R (t \cdot \sigma) ^3 e ^{-\frac{t ^2}{2}} \cdot \sigma dt + 3 \int_R (t \cdot \sigma) ^2 \cdot \mu e ^{-\frac{t ^2}{2}} \cdot \sigma dt + 3 \int_R t \cdot \sigma \cdot \mu ^2 e ^{-\frac{t ^2}{2}} \cdot \sigma dt

= \frac{\sigma ^4}{\sigma \cdot \sqrt{2 \pi}} \int_R t ^3 e ^{- \frac{t ^2}{2}} dt + 3 \frac{\sigma ^3 \mu}{\sigma \cdot \sqrt{2 \pi}} \int_R t ^2 e ^{- \frac{t ^2}{2}} dt + 3 \frac{\sigma ^2 \mu ^2}{\sigma \cdot \sqrt{2 \pi}} \int_R t e ^{- \frac{t ^2}{2}} dt + \frac{\mu ^3 \sigma}{\sigma \cdot \sqrt{2 \pi}} \int_R e ^{- \frac{t ^2}{2}} dt

= \frac{\sigma ^4}{\sigma \cdot \sqrt{2 \pi}} \times 0 - 3 \frac{\sigma ^3 \mu}{\sigma \cdot \sqrt{2 \pi}} \times \sqrt{2 \pi} + 3 \frac{\sigma ^2 \mu ^2}{\sigma \cdot \sqrt{2 \pi}} \times 0 - \frac{\mu ^3 \sigma}{\sigma \cdot \sqrt{2 \pi}} \times \sqrt{2 \pi} dt

= 3 \sigma ^2 \mu + \mu ^3

Soit E [X ^3] = 3 \sigma ^2 \mu + \mu ^3, si nous insérons ce résultat dans le calcul de \gamma_1, nous avons:

\gamma_1 = \frac{1}{\sigma ^3} \cdot E[X - E[X]] ^3

= \frac{1}{\sigma ^3} \cdot (E[X ^3] - 3 E[X] \cdot E[X ^2] + 3 E ^2[X] \cdot E[X] - E[X] ^3)

= \frac{1}{\sigma ^3} \times (3 \sigma ^2 \mu + \mu ^3 - 3 \mu \cdot (\sigma ^2 + \mu ^2) + 3 \mu ^2 \cdot \mu - \mu ^3)

= 0

\Rightarrow \gamma_1 = 0

coefficient d’aplatissement: \gamma_2 ' = 0

\gamma_2 ' = \frac{1}{\sigma ^4} \cdot E[X - E[X]] ^4

= \frac{1}{\sigma ^4} \cdot (E[X^4] - 4 E[X] \cdot E[X ^3] + 6 E ^2[X] \cdot E[X ^2] - 4 E ^3 [X] \cdot E[X] + E ^4 [X])

Il nous reste plus qu’à simplifier E[X ^4] = \frac{1}{\sigma \sqrt{2 \pi}} \cdot \int_R x ^4 e ^{- \frac{1}{2} \cdot (\frac{x - \mu}{\sigma}) ^2} dx.

En effectuant le changement de variable t = \frac{X - \mu}{\sigma} \Rightarrow t \cdot \sigma + \mu = X \Rightarrow dx = \sigma \cdot dt, nous obtenons que:

E[X ^4] = \frac{1}{\sigma \cdot \sqrt{2 \pi}} \cdot \sigma \cdot [\int_R (t \sigma) ^4 e ^{- \frac{t ^2}{2}} dt + 4 \int_R \mu \cdot (t \sigma) ^3 e ^{- \frac{t ^2}{2}} dt + 6 \int_R \mu ^2 \cdot (t \sigma) ^2 e ^{- \frac{t ^2}{2}} dt + 4 \int_R \mu ^3 \cdot t \sigma e ^{- \frac{t ^2}{2}} dt + \int_R \mu ^4 e ^{- \frac{t ^2}{2}} dt]

= \frac{\sigma ^4}{\sqrt{2 \pi}} \times 3 \sqrt{2 \pi} + \frac{4 \mu \sigma ^3}{\sqrt{2 \pi}} \times 0 + \frac{6 \mu ^2 \sigma ^2}{\sqrt{2 \pi}} \times \sqrt{2 \pi} + \frac{4 \mu ^3 \sigma ^4}{\sqrt{2 \pi}} \times 0 + \frac{\mu ^4}{\sqrt{2 \pi}} \times \sqrt{2 \pi}

= 3 \sigma ^4 + 6 \mu ^2 \sigma ^2 + \mu ^4

Nous avons alors,

\gamma_2 ' = \frac{1}{\sigma ^4} \cdot [3 \sigma ^4 + 6 \mu ^2 \sigma ^2 + \mu ^4 - 4 \mu \times (3 \sigma ^2 \mu + \mu ^3) + 6 \mu ^2 \times (\sigma ^2 + \mu ^2) - 4 \mu ^3 \times \mu + \mu ^4] = 3

\bullet Exemple:

Soit la variable aléatoire X suivante:

UPCi-dessous, l’histogramme construit à partir de X (en noir) permet de voir que visuellement la variable ne suit pas une loi normale. Nous affichons également sa densité de distribution empirique (courbe verte) et celle attendue dans le cadre d’une distribution gaussienne (courbe rouge).

UPAfin de calculer la statistique de test K ^2 de d’Agostino-Pearson, pour déterminer au sens statistique si notre variable aléatoire suit une loi normale, nous allons définir les termes suivants:

\mu = 6.42034

A = \frac{\frac{1}{20} \times \sum_{i = 1} ^{20} (X_i - 6.42034) ^3}{(\frac{1}{20} \times \sum_{i = 1} ^{20} (X_i - 6.42034) ^2) ^{\frac{3}{2}}} = \frac{-18.25698}{10.34123 ^{\frac{3}{2}}} = 0.5489979

B = = \frac{3 \times (20 ^2 + 27 \times 20 - 70) \times (20 + 1) \times (20+3)}{(20 - 2) \times (20 + 5) \times (20 + 7) \times (20 + 9)} = \frac{3 \times 870 \times 21 \times 23}{18 \times 25 \times 27 \times 29} = \frac{1260630}{352350} = 3.577778

C = \frac{-0.5489979 \times \sqrt{\frac{(20 + 1) \times (20 + 3)}{6 \times (20 - 2)}}}{\sqrt{\frac{2}{\sqrt{2 \times (3.577778 - 1)} - 2}}} = \frac{-1.161}{2.718712} = - 0.4270405

D = \frac{1}{\sqrt{ln(\sqrt{\sqrt{2 \times (3.577778 - 1)} - 1})}} = \frac{1}{0.3460328} = 2.889895

\Rightarrow \gamma_1 = 2.889895 + ln(-0.4270405 + \sqrt{(-0.4270405) ^2 + 1})

= 2.889895 \times (-0.4150233)

= -1.199376

\sigma = \sqrt{\sum_{i = 1} ^{20} (X_i - 6.42034) ^2} = 3.215778

E = \frac{24 \times 20 \times 18 \times 17}{21 ^2 \times 23 \times 25} = \frac{146880}{253575} = 0.5792369

F = \frac{6 \times (20 ^2 - 5 \times 20 + 2)}{(20 + 7) \times (20 + 9)} \times \sqrt{\frac{6 \times (20 + 3) \times (20 + 5)}{20 \times (20 - 2) \times (20 - 3)}}

= \frac{6 \times 302}{27 \times 29} \times \sqrt{\frac{6 \times 23 \times 25}{20 \times 18 \times 17}}

= 2.314176 \times 0.7508165

= 1.737522

G = \frac{\frac{1}{20} \times \sum_{i = 1} ^{20} (\frac{X_i - 6.42034}{3.215778}) ^4 - 3 + \frac{6}{20 + 1}}{\sqrt{0.5792369}} = \frac{1.714729 - 3 + \frac{6}{21}}{0.7610762} = \frac{-0.9995567}{0.7610762} = -1.313346

H = \frac{1 - \frac{2}{6 + \frac{8}{1.737522} \times (\frac{2}{1.737522} + \sqrt{1 + \frac{4}{1.737522 ^2}})}}{1 - 1.313346 \times \sqrt{\frac{2}{2 + \frac{8}{1.737522} \times (\frac{2}{1.737522} + \sqrt{1 + \frac{4}{1.737522 ^2}})}}}

= \frac{1 - \frac{2}{18.32027}}{1 - 1.313346 \times \sqrt{\frac{2}{14.32027}}}

= \frac{0.8908313}{0.5091842}

= 1.749527

\Rightarrow \gamma_2 = \frac{1 - \frac{2}{9 \times 18.32027} - 1.749527 ^{\frac{1}{3}}}{\sqrt{\frac{2}{9 \times 18.32027}}} = \frac{-0.2170929}{0.1101356} = -1.971138

Nous pouvons désormais calculer la statistique de test K ^2 de d’Agostino-Pearson,

K ^2 = \gamma_1 ^2 + \gamma_2 ^2

= (-1.199376) ^2 + (-1.971138) ^2

= 1.438503 + 3.885385

= 5.323888

Si nous reportons cette valeur à la table de la loi du \chi ^2 à deux degrés de liberté nous obtenons une p-valeur de 0.06981244 > 5\%. Nous en concluons que nous ne pouvons rejeter H_0 et donc que X suit une loi normale.

\bullet Application informatique:

Macro SAS:

%macro K2_DAgostino (DATA=,VAR=);

/* Epuration des données manquantes */
data Calc;
set &DATA.;
if &VAR. ne .;
run;

/* Calcul de la moyenne, de l’effectif restant après épuration des données manquantes, des sommes au carré, au cube et à la puissance 4 nécessaires pour la suite des calculs */
proc sql noprint;
select mean(&VAR.) into: mu from Calc;
select count(*) into: n from Calc;
select sum((&VAR.-&mu.)**2) into: sum2 from Calc;
select sum((&VAR.-&mu.)**3) into: sum3 from Calc;
select sum(((&VAR.-&mu.)/sqrt(&sum2./20))**4) into: sum4 from Calc;
quit;

/* Parcours des différentes étapes de calcul et sortie de l’effectif total après épuration des données manquantes, des coefficients d’aplatissement, d’asymétrie, de la statistique de test du K2 de D’Agostino-Pearson et de la p-valeur */
data Calc;
n = &n.;
mu = &mu.;
s = sqrt(&sum2./20);
A = ((1/n)*&sum3.)/(((1/n)*&sum2.)**(3/2));
B = (3*(n**2+27*n-70)*(n+1)*(n+3))/((n-2)*(n+5)*(n+7)*(n+9));
C = (A*sqrt(((n+1)*(n+3))/(6*(n-2))))/sqrt(2/(sqrt(2*(B-1))-2));
D = 1/sqrt(log(sqrt(sqrt(2*(B-1))-1)));
gamma1 = D*log(C+sqrt(C**2+1));
E = (24*n*(n-2)*(n-3))/(((n+1)**2)*(n+3)*(n+5));
F = (6*(n**2-5*n+2))/((n+7)*(n+9))*sqrt((6*(n+3)*(n+5))/(n*(n-2)*(n-3)));
G = ((1/n)*&sum4.-3+(6/(n+1)))/(sqrt(E));
H = (1-(2/(6+(8/F)*((2/F)+sqrt(1+(4/(F**2)))))))/(1+G*sqrt(2/(2+(8/F)*((2/F)+sqrt(1+(4/(F**2)))))));
gamma2 = (1-(2/(9*(6+(8/F)*((2/F)+sqrt(1+(4/(F**2)))))))-H**(1/3))/(sqrt(2/(9*(6+(8/F)*((2/F)+sqrt(1+(4/(F**2))))))));
K2 = gamma1**2+gamma2**2;
p = 1-probchi(K2,2);
drop mu s A B C D E F G H;
run;

%mend;

Package et fonction R: http://finzi.psych.upenn.edu/library/fBasics/html/test-normalityTests.html

\bullet Bibliographie:

– Transformation to normality of the null distribution of g_1 de Ralph B. d’Agostino

– Tests de normalité, techniques empiriques et tests statistiques de Ricco Rakotomalala

– Statistique. Dictionnaire encyclopédique de Yadolah Dodge

– Probabilité, analyse des données et Statistique de Gilbert Saporta