Tests de normalité

Valid XHTML 1.0!                  

 

Il existe 4 tests principaux Shapiro-Wilk, Kolmogorov-Smirnov (Lilliefors), Cramer-von Mises, et Anderson-Darling qu'on trouvera détaillés dans le texte Testing_Normality.

Les données utilisées sont nommées militiamen et la variable CHEST, tour de poitrine exprimé en pouces (1 pouce vaut 2,54 cm). Elles proviennent du site DASL.

Voici une partie de ces calculs en SPSS, SAS et R, les listings détaillés sont dans militiaspss et dans militiasas.


Calculs en SPSS

examine variables=CHEST
        /plot boxplot stemleaf npplot
        /compare group /statistics descriptives /cinterval 95
        /missing listwise /nototal.
npar tests
     / k-S(normal)= CHEST
     / missing analysis.


Tests de normalité  Kolmogorov-Smirnov
(correction de signification de Lilliefors)

  Statistique       ddl    Signification
  --------------------------------------
       0,098       5738    ,000


Calculs en SAS

proc univariate data=militiamen  all normal plot ;
     var       CHEST  ;
     histogram CHEST  / normal ;
     probplot  CHEST  ;
     qqplot    CHEST  / normal(mu=est sigma=est color=red L=1);
     inset     mean std / cfill=blank format=5.2 ;

proc capability normaltest;
     var normal;
     ppplot CHEST  / normal(mu=est sigma=est color=red l=1);
     qqplot CHEST  / normal(mu=est sigma=est color=red l=1);
     inset mean std /cfill=blank format=5.2 ;


Tests de normalité

Test                  Statistique       p Value
----------------------------------------------------------
Kolmogorov-Smirnov    D     0.098317    Pr > D     <0.0100
Cramer-von Mises      W-Sq  10.58214    Pr > W-Sq  <0.0050
Anderson-Darling      A-Sq  55.69324    Pr > A-Sq  <0.0050


Calculs en R

 shapiro.test(varx)
 ks.test(varx,"pnorm",mean(varx),sd(varx))


Shapiro-Wilk normality test
   Error in shapiro.test(varx) : sample size must be between 3 and 5000

One-sample Kolmogorov-Smirnov test
   D = 0.0983, p-value < 2.2e-16
   Alternative hypothesis: two.sided
   Warning message:
        cannot compute correct p-values with ties

Sans tracé des valeurs, des histogrammes, des résidus, il est difficile de comprendre ces résultats... En particulier, les tracés QQ (Quantile-Quantile Plots), PP (normal probability plot) et l'affichage des histogrammes, des résidus doivent aider à comprendre la normalité ou la non-normalité...

On pourra profiter de l'aide de statistica en anglais sur le Web (cliquer sur Statistical Advisor en bas, puis sur Test hypotheses, shape of distributions puis sur graphical analytic techniques par exemple).

A titre de comparaison, on pourra consulter les résultats fournis par Sas, Spss, et R pour une loi normale simulée approximativement de même moyenne et de même écart-type que CHEST mais avec 350 valeurs seulement.

Pour les gens pressés, la lecture graphiques pour les données réelles à gauche et les données simulées à droite devrait être suffisant pour cette autre simulation avec le même nombre de données :

 

histo1      histo2
 
 
plot 1      plot 2
     
          # données réelles

          ks.test(chest,"pnorm",moy,sig)
     
               One-sample Kolmogorov-Smirnov test
               data:  chest
               D = 0.0967, p-value < 2.2e-16
               alternative hypothesis: two.sided
               Warning message:
                       cannot compute correct p-values with ties
     
          # données simulées

          ks.test(norma,"pnorm",moy,sig)
     
               One-sample Kolmogorov-Smirnov test
               data:  norma
               D = 0.0135, p-value = 0.243
               alternative hypothesis: two.sided

 

 

retour gH    Retour à la page principale de   (gH)