IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

SAS STAT Discussion :

Test de normalité dans la proc univariate


Sujet :

SAS STAT

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Inscrit en
    Novembre 2003
    Messages
    554
    Détails du profil
    Informations forums :
    Inscription : Novembre 2003
    Messages : 554
    Par défaut Test de normalité dans la proc univariate
    Pb. Lorsque je lance le programme suivant :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    data T; 
       do I=1 to 1000000; 
          AGE1=int(100*ranuni(0)); 
          AGE2=int(100*rannor(0)); 
          output; 
       end; 
    run;
    proc univariate data=T normal; 
       var AGE1 AGE2; 
    run;
    SAS me rejette l'hypothèse de normalité dans les deux cas.
    AGE1:
    Test --Statistic--- -----p Value------
    Kolmogorov-Smirnov D 0.062371 Pr > D <0.0100
    Cramer-von Mises W-Sq 1543.234 Pr > W-Sq <0.0050
    Anderson-Darling A-Sq 11234.6 Pr > A-Sq <0.0050

    AGE2:
    Test --Statistic--- -----p Value------
    Kolmogorov-Smirnov D 0.004353 Pr > D <0.0100
    Cramer-von Mises W-Sq 1.973906 Pr > W-Sq <0.0050
    Anderson-Darling A-Sq 9.314452 Pr > A-Sq <0.0050
    Pour le permier cas c'est juste ; j'ai généré des nombres selon la loi uniforme.
    Dans le second cas, il devrait accepter l'hypothèse ; ce n'est pas le cas.
    Est-ce que quelqu'un saurai pourquoi ?

  2. #2
    Expert confirmé
    Avatar de olivier.decourt
    Homme Profil pro
    Formateur R/SAS/statistiques
    Inscrit en
    Avril 2008
    Messages
    2 064
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France

    Informations professionnelles :
    Activité : Formateur R/SAS/statistiques
    Secteur : Conseil

    Informations forums :
    Inscription : Avril 2008
    Messages : 2 064
    Par défaut
    Bonjour.
    Pour tous les tests usuels (aussi bien Student, normalité, Chi-2, etc.) les p-values décroissent mécaniquement avec les effectifs. On a donc tendance à rejeter H0 plus facilement sur de gros effectifs. C'est souvent pratique (ah, l'impression que toutes les liaisons entre variables sont significatives en regardant la p-value d'un chi-2 !), mais dans le cas des tests d'adéquation à une loi, c'est pas terrible.
    Les tests de normalité (ou d'adéquation à une loi en général) ne sont donc performants que sur une plage d'effectifs très faible (genre 30-500 obs pour être schématique).
    Tu peux essayer à l'inverse de générer 10 observations selon n'importe quelle loi et constater que la normalité n'est pas rejetée (les tests sont même meilleurs pour la loi uniforme que pour la loi normale avec 10 obs seulement).

    Le meilleur moyen sur de gros effectifs de juger de l'adéquation à une loi c'est de regarder le QQplot de la variable et de se faire une idée de l'ampleur des écarts.
    Olivier

  3. #3
    Membre éclairé
    Inscrit en
    Novembre 2003
    Messages
    554
    Détails du profil
    Informations forums :
    Inscription : Novembre 2003
    Messages : 554
    Par défaut
    Merci Olivier

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Outliers dans proc boxplot, proc univariate, proc glm?
    Par Misspatate dans le forum SAS STAT
    Réponses: 1
    Dernier message: 11/12/2011, 15h48
  2. [PROC] Comprendre la proc univariate dans SAS
    Par Sissie dans le forum SAS Base
    Réponses: 0
    Dernier message: 29/07/2009, 14h03
  3. Appels de procedures stockées dans une proc stockée ?
    Par Nadaa dans le forum MS SQL Server
    Réponses: 12
    Dernier message: 17/07/2008, 10h32
  4. Réponses: 22
    Dernier message: 17/11/2007, 14h59
  5. Lancement d'un shell Unix dans un proc stockée
    Par SBA03 dans le forum Oracle
    Réponses: 20
    Dernier message: 31/08/2006, 09h22

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo