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

FAQ SASConsultez toutes les FAQ

Nombre d'auteurs : 14, nombre de questions : 232, dernière mise à jour : 20 décembre 2012 

 
OuvrirSommaireSAS STATGénéral

Dans le paragraphe « Statistical computation » section « Goodness-of-Fit Tests », de la documentation de la procédure UNIVARIATE de la version 8 (p1396 / 1397), une erreur d'interprétation des tests apparaît.

Le paragraphe suivant :
'When the p-value is less than the predetermined critical value (alpha value), you reject the null hypothesis and conclude that the data came from the theorical distribution'

est à modifier comme ceci :
'When the p-value is less than the predetermined critical value (alpha value), you reject the null hypothesis and conclude that the data DO NOT come from the theorical distribution'

Ce qui signifie que, en posant les hypothèses suivantes pour un test de normalité :
H0 : les données suivent une loi normale ;
H1 : les données ne suivent pas la loi normale.
- Si la p-value est inférieure à 'a', alors on rejette l'hypothèse nulle c'est-à-dire l'hypothèse que les données ne suivent pas une loi normale.
- Si la p-value> 'a', alors on ne peut pas refuser l'hypothèse que les données suivent une loi normale.

Créé le 10 octobre 2008  par SAS

La procédure PROC FREQ permet de faire des calculs de fréquences et produit des statistiques permettant l'analyse des relations entre variables.

Pour l'utiliser, ajoutez le code suivant à votre programme SAS :

 
Sélectionnez

PROC FREQ;
TABLES var1*var2;
RUN;

PROC FREQ calcule dans ce cas le nombre de var1 par le nombre de var2. La fréquence est en pourcentage.
Le programme ci-dessus vous donnera le pourcentage de la variable var1 par rapport à la variable var2.

Bien entendu, diverses options sont possibles en plus de TABLES.

Créé le 1er mars 2008  par Fleur Anne Blain

Pour cela ajoutez ceci à votre programme :

 
Sélectionnez

PROC MEANS data=votreprogramme;
RUN;

votre programme étant le nom que vous avez donné à votre programme.

PROC MEANS permet d'afficher les variables concernées, calcule le nombre total d'observations pour chaque variable ainsi que la moyenne, l'écart-type, la valeur minimum et maximum que peuvent avoir vos variables.

Créé le 1er mars 2008  par Fleur Anne Blain

Seul le module SAS/BASE® est prérequis pour l'utilisation de SAS/STAT®.

Les modules SAS/INSIGHT®, SAS/GRAPH®, SAS/LAB®, SAS/ASSIST®, SAS/IML®, SAS/ETS®, SAS/OR® et SAS/QC® peuvent aussi être intéressants pour intégrer des fonctionnalités spécialisées.

Créé le 11 décembre 2009  par SAS
Types d'analyses Procédures
Régression Calis, Catmod, GLM, Lifereg, Logistic, Nlin, Orthoreg, Probit, Reg, Rsreg, Transreg
Analyse de variance Anova, Catmod, GLM, Nested, Npar1way, Plan, Ttest, Varcomp
Analyse de données catégorielles Catmod, Corresp, Freq, Logistic, Probit
Analyse multivariée Corresp, Princomp, Prinqual, Factor, Cancorr
Analyse discriminante Discrim, Candisc, Stepdisc
Classification Cluster, Fastclus, Varclus, Tree, Aceclus, Princomp, Standard
Scoring Rank, Score, Standard, Transreg
Analyse de survie Lifereg, Lifetest, Phreg
Créé le 11 décembre 2009  par SAS

Depuis la version 8, tout résultat de la sortie SAS peut être stocké en table, grâce à l'Output Delivery System (ODS).
Dans la documentation en ligne, chaque procédure SAS possède une rubrique 'ODS TABLE NAMES', qui liste les noms de toutes les tables qu'il est possible de générer.

Étapes :

  • Repérer le nom du résultat à exporter en table :

encadrer votre procédure avec les instructions "ODS trace on;" et "ODS trace off;", comme ci-après :

 
Sélectionnez

ODS TRACE ON;
    proc GLM;
    ...
    run;
    ODS TRACE OFF;

Après exécution de ce code, les noms des résultats produits successivement par la procédure apparaissent dans la log.

  • Utiliser l'ODS OUTPUT pour exporter le résultat désiré en table :

la syntaxe est : ODS OUTPUT NomDuRésultat = NomTableExportée.
Ainsi, l'exemple suivant génère la table 'mytable', contenant les paramètres estimés du modèle :

 
Sélectionnez

ODS OUTPUT ParameterEstimates=mytable;
    proc GLM;
    ...
    run;
    ODS OUTPUT close;
  • Comment exporter plusieurs résultats portant le même nom ? :

dans le cas où plusieurs résultats portent le même nom, l'option MATCH_ALL permet de sauvegarder tous les résultats dans des tables séparées :

 
Sélectionnez

ODS OUTPUT ModelANOVA(MATCH_ALL) = mytable;
    proc GLM;
    ...
    run;
    ODS OUTPUT close;
Créé le 11 décembre 2009  par SAS

Grâce à la macroprocédure tasr :

Ses paramètres :

  • entree : table à fournir en entrée ;
  • sortie : table créée en sortie ;
  • nb : nombre d'observations à tirer au sort.
 
Sélectionnez

%macro tasr(libref=,entree=,sortie=,nb=);
data &libref..&sortie (drop=i j count);
  count=0;
  array obsnum(&nb) _temporary_;
  do i=1 to &nb;
      redo:
      select=ceil(ranuni(12345)*n);
      set &libref..&entree point=select nobs=n;
         do j=1 to count;
           if obsnum(j)=select then goto redo;
         end;
      position=select;
      count=count+1;
      obsnum(count)=select;
      output;
   end;
   stop;
   set &libref..&entree;
run;
 
%mend;

Exemple :
tirage au sort de 300 observations dans une table de 500 observations :

 
Sélectionnez

data donnees (drop=var);
   do var=1 to 500;
     x=round(ranuni(1251)*100);
     output;
   end;
run;
 
%tasr(libref=work,entree=donnees,sortie=donnees2,nb=300);
Créé le 11 décembre 2009  par SAS
 
Sélectionnez

/* Table d'exemple : 100 observations. */
data test;
  do a=100 to 200;
    output;
  end;
run;
 
/* Tirage au sort de 20 observations dans cette table. */
data ech1 (drop=i);
  do i=1 to 20;
    select=ceil(ranuni(1564)*n);
    set test point=select nobs=n;
    position=select;
    output;
  end;
  stop;
run;

La variable position correspond à la position de l'observation dans la table de départ.

Créé le 11 décembre 2009  par SAS

Dans tous ces exemples, 20 valeurs sont tirées au sort et stockées dans une table SAS.

Distribution uniforme
Données générées comprises en 1000 et 7863 (Seed=45123)

 
Sélectionnez

data select(drop=i);
  do i=1 to 20;
    x=int(ranuni(45123)*6864)+1000;
    output;
  end;
run;

Distribution normale
Paramètres : moyenne=10, variance=0.1 (Seed=1515).
Les fonctions rannor et normal sont strictement identiques.

 
Sélectionnez

data select(drop=i);
  do i=1 to 20;
    x=10+sqrt(0.1)*normal(1515);
    output;
 end;
run;

Distribution lognormale
Paramètres : moyenne=20 et écart-type=5 (seed = 5213).

 
Sélectionnez

data select(drop=i);
  do i=1 to 20;
    x=exp(20+5*rannor(5213);
    output;
  end;
run;

Distribution normale bivariée
Paramètres : rho=0.3 (moyenne nulle et écart-type égal à 1)

 
Sélectionnez

data select(drop=i);
  do i=1 to 20;
    x=0.3*rannor(456789)+sqrt(1-0.3**2)*rannor(456789);
    output;
  end;
run;

Trois méthodes, en ordre croissant d'efficacité, dans lesquelles on entre les moyennes et écarts-types des deux lois normales.

 
Sélectionnez

data a;
  keep x y;
  mu1=10; mu2=20; var1=4; var2=9; rho=.5;
  do i = 1 to 20;
    x = mu1+sqrt(var1)*rannor(123);
    y = (mu2+rho*(sqrt(var2)/sqrt(var1))*(x-mu1))+sqrt(var2*(1-rho**2))*rannor(123);
    output;
  end;
run;
 
data b;
  keep x y;
  mu1=10; mu2=20; var1=4; var2=9; rho=.5;
  do i = 1 to 20;
    x = rannor(123);
    y = rho*x+sqrt(1-rho**2)*rannor(123);
    x = mu1 + sqrt(var1)*x;
    y = mu2 + sqrt(var2)*y;
    output;
  end;
run;
 
data c;
  keep x y;
  mu1=10; mu2=20; var1=4; var2=9; rho=.5;
  std1=sqrt(var1); std2=sqrt(var2);
  c=sqrt(1-rho**2);
    do i = 1 to 20;
      x = rannor(123);
      y = rho*x+c*rannor(123);
      x = mu1 + sqrt(var1)*x;
      y = mu2 + sqrt(var2)*y;
      output;
    end;
run;

Distribution Gamma
Paramètres : Beta=2 et Alpha=4 (seed = 123154).

 
Sélectionnez

data select(drop=i);
  do i=1 to 20;
    x=2*rangam(123154,4);
    output;
  end;
run;

Distribution exponentielle
Paramètre : lambda=3 (seed = 4145).

 
Sélectionnez

data select(drop=i);
  do i=1 to 20;
    x=2*ranexp(4145)/3;
    output;
  end;
run;

Distribution Beta
Paramètres Alpha=5 et Beta=3 (seed = 12345).

 
Sélectionnez

data select(drop=i);
  do i=1 to 20;
    y1=rangam(12345,5);
    y2=rangam(12345,3);
    x=y1/(y1+y2);
    output;
  end;
run;

Distribution de Weibull
Paramètres c=2 et lambda=1/75 (seed = 212121).

 
Sélectionnez

data select(drop=i);
  do i=1 to 20;
    x=75*(-log(ranuni(212121)))*(1/2);
    output;
  end;
run;

Pour plus de détails, un article est consacré à la génération de nombres aléatoires avec le module SAS/BASE® dans l'Observations 3rd quarter 1992.

Créé le 11 décembre 2009  par SAS

Pour générer une loi normale multidimensionnelle, il suffit de tenir compte des deux points suivants :

  • Si toutes les composantes d'un vecteur aléatoire X suivent une loi normale et si toutes sont indépendantes, alors X est gaussien. Une CNS pour qu'un vecteur gaussien ait ses composantes indépendantes, est que sa matrice de covariance soit diagonale.
    Code SAS dans le cas d'un vecteur bidimensionnel :
 
Sélectionnez

Data INDEPNOR (drop = i) ;
        Retain seed1 1686174032 seed2 844616116 ;
             Do i=1 to 100 ;
             call rannor (seed1, stream1) ;
             call rannor (seed2, stream2) ;
             x = mux + sigmax * stream1 ;
             y = muy + sigmay * stream2 ;
             output ;
        end ;
    run ;
        proc CORR data = INDEPNOR ;
            var x y ;
    run ;
  • Dans le cas d'un vecteur multidimensionnel (dimension > 2), une MACRO %MVN est disponible sur notre site internet à l'adresse suivante http://ftp.sas.com/techsup/download/stat dans le fichier MVN.sas.
Créé le 11 décembre 2009  par SAS

Pour traiter des séries appariées sous SAS, il faut combiner les données, si celles-ci sont normales (tests de normalité, théorème central limite), afin d'obtenir une seule variable qui pourra être traitée avec la procédure UNIVARIATE.

Si les données ne sont pas statistiquement assimilables à des données normales, c'est-à-dire si elles présentent des asymétries extrêmes ou sont ordinales, les méthodes non paramétriques de la procédure NPAR1WAY sont plus appropriées.

Créé le 11 décembre 2009  par SAS

Il n'existe pas sous SAS de procédures permettant d'obtenir directement un intervalle de confiance d'une distribution de Poisson. Il faut utiliser les fonctions SAS suivantes :

  • CDF : retourne le niveau de probabilité cumulée à gauche d'une fonction de distribution donnée ;
  • PDF : retourne la valeur de la densité de probabilité d'une fonction de distribution donnée.

Les fonctions de distribution disponibles sont :

  • Bernoulli
  • F
  • Laplace
  • Poisson
  • Beta
  • Gamma
  • Logistic
  • T
  • Binomial
  • Gaussian
  • Lognormal
  • Uniform
  • Cauchy
  • Geometric
  • Negbinomial
  • Wald
  • Chisquare
  • Hypergeometric
  • Normal
  • Weibull
  • Exponential
  • Igauss
  • Pareto
Créé le 11 décembre 2009  par SAS

La procédure LOGISTIC permet de réaliser une régression logistique binaire et d'obtenir les odds ratios qui expriment le risque moyen de passage entre les différentes modalités de la variable dépendante.

La procédure FREQ dans le cas d'une table d'entrée 2*2, permet également le calcul des odds ratios. Une note technique SAS intitulée " Some Issues in using PROC LOGISTIC for Binary Logistic Regression" est disponible sur le site SAS à l'adresse suivante : http://ftp.sas.com/techsup/download/technote/ts274.pdf

Créé le 11 décembre 2009  par SAS

Dans la procédure TTEST, sous l'hypothèse de variances inégales, une statistique T de Student approximative est calculée. Cette statistique est exploitable de deux façons différentes :

  • l'approximation de Cochran et Cox : elle permet d'associer à T une probabilité p qui vérifie une loi de Student correspondant à des échantillons de tailles similaires, les effectifs des deux échantillons mis en cause. La probabilité p ainsi associée permet de tester l'égalité des moyennes ;
  • l'approximation de Sattherwaite : il est possible d'utiliser l'approximation de Sattherwaite pour associer à T un nombre df de degrés de liberté. Sous l'hypothèse d'égalité des moyennes, T est assimilée à une loi de Student à df degrés de liberté.

Le test de Cochran et Cox est plus conservatif que le test de Sattherwaite. Par défaut, le test de Sattherwaite est privilégié.

Créé le 11 décembre 2009  par SAS

Pour estimer un coefficient de corrélation intraclasse entre deux ou plus de taux dans le cas d'une variable réponse continue, il suffit d'utiliser la macro %INTRACC, disponible à l'adresse suivante: http://www.sas.com/techsup/download/stat

Il existe également un programme SAS permettant de tester graphiquement cette corrélation. Ce programme est présent dans la publication 207 du SUGI 25 :"Using the SAS System to Visualize Inter-rater Agreement for Continuous Measurements in Medical Studies", visible à l'adresse : http://www2.sas.com/proceedings/sugi25/25/po/25p207.pdf

Créé le 11 décembre 2009  par SAS

À partir de la version 8 de SAS, il existe les fonctions PERM et COMB pour calculer le nombre de permutations et combinaisons de P objets parmi N.

Exemple:

 
Sélectionnez

data essai;
     c52=comb(5,2);
     p52=perm(5,2);
    run;
Créé le 11 décembre 2009  par SAS

La fonction de répartition d'une variable peut s'obtenir en utilisant l'instruction CDFPLOT de la proc CAPABILITY du module SAS/QC. Si vous ne disposez pas de ce module, vous pouvez utiliser une proc FREQ, suivie d'une étape data et d'une proc GPLOT, comme dans l'exemple suivant :

 
Sélectionnez

/* Représenter une fonction de répartition sans le module SAS/QC */
 
/* Fabrication de données de test */
 
data one;
  drop i;
  do i=1 to 50;
    y=10+25*ranuni(12345);
    output;
  end;
run;
proc freq data=one noprint;
  table y / out=out;
run;
data final;
  set out;
  cumpct+percent;
  output;
run;
title 'fonction de repartition';
symbol i=steplj v=none;
proc gplot data=final;
  plot cumpct*y;
run;
 
/* Avec le module SAS/QC, utiliser PROC CAPABILITY */
 
proc capability data=one noprint;
  cdfplot y;
run;
Créé le 11 décembre 2009  par SAS

Ces fonctions renvoient la valeur d'une variable aléatoire suivant une loi du Khi-deux, selon une probabilité et un degré de liberté donnés.

Syntaxe :
La probabilité qu'une variable x suive une loi du chi2 à df degrés de liberté est définie telle que : Probabilité=Chi2(x, df).
L'appel des fonctions se fait comme suit :

  • CINV (1-probabilite, df) = x
  • KHI2_INVERSE (probabilite, df) = x

La fonction CINV attend un percentile de la distribution du Khi-deux alors que la fonction KHI2.INVERSE attend une probabilité unilatérale.

Remarque
La fonction CINV est l'inverse de la fonction PROBCHI de SAS®.

Exemple

SAS :

 
Sélectionnez

X= =CINV (0.95, 3)
    X=7.81

Excel :

 
Sélectionnez

X=KHIDEUX.INVERSE (0,05, 3)
    X=7.81
Créé le 11 décembre 2009  par SAS

Le nombre maximal de caractères autorisé par défaut est 20 ou 24 selon la procédure utilisée. Pour augmenter la taille par défaut, il faut utiliser l'option NAMELEN= dans l'appel de la procédure.

Exemple :

 
Sélectionnez

proc logistic data=test namelen=40;
...;
run;
Créé le 11 décembre 2009  par SAS

Il faut utiliser l'option BINOMIAL de l'instruction TABLES de la procédure FREQ. Pour générer un intervalle de confiance sur un niveau précis, il faut le spécifier grâce à l'option LEVEL=.

Exemple :

 
Sélectionnez

proc freq data=sashelp.class;
 tables sex/binomial;
 tables sex/binomial(level='M');
run;
Créé le 11 décembre 2009  par SAS

Le 31 Décembre 2008, la procédure QUANTREG du module SAS/ STAT a expiré. Un message d'erreur apparait à son utilisation dans la log :

 
Sélectionnez

ERROR: The QUANTREG procedure has expired. Please contact Lin.Chen@sas.com

Pour corriger cette erreur, suivez les indications de la SAS Note suivante :
http://support.sas.com/kb/24/435.html

Le fichier téléchargé contient la dernière version de la procédure QUANTREG, qui sera mise à jour en sélectionnant le choix « update ».

Créé le 11 décembre 2009  par SAS
  

Les sources présentées sur cette page sont libres de droits et vous pouvez les utiliser à votre convenance. Par contre, la page de présentation constitue une œuvre intellectuelle protégée par les droits d'auteur. Copyright © 2011 Developpez Developpez LLC. Tous droits réservés Developpez LLC. Aucune reproduction, même partielle, ne peut être faite de ce site ni de l'ensemble de son contenu : textes, documents et images sans l'autorisation expresse de Developpez LLC. Sinon vous encourez selon la loi jusqu'à trois ans de prison et jusqu'à 300 000 € de dommages et intérêts.