FAQ SASConsultez toutes les FAQ
Nombre d'auteurs : 14, nombre de questions : 232, dernière mise à jour : 20 décembre 2012
- Quelle procédure SAS faut-il utiliser pour réaliser une analyse en composantes principales ?
- Quelle procédure SAS faut-il utiliser pour réaliser une analyse des correspondances (simple ou multiple) ?
- Comment calculer la statistique du chi2 sur un tableau de contingence ?
- Comment créer un tableau disjonctif complet à partir d'une table individus*variables ?
- Quelles sont les études réalisées par la procédure CORRESP ?
- Avec le système SAS, comment peut-on faire une classification sur des variables qualitatives ?
- Comment peut-on faire une analyse discriminante sur des variables qualitatives avec le système SAS ?
- Comment obtenir les résultats sur les individus avec la procédure CORRESP sans passer par un tableau disjonctif complet ?
- Comment affecter des pondérations aux variables dans la procédure FACTOR ?
- Comment exploiter les résultats de la procédure DISCRIM ?
Il faut utiliser la procédure PRINCOMP.
Il faut retravailler la table en entrée.
Exemple :
DATA
yeux;
INPUT
couleur $ sexe poids @
@
;
CARDS
;
bleu 1 10 bleu 2 20
vert 1 50 vert 2 60
marron 1 25 marron 2 40
;
RUN
;
PROC
FREQ data
=
yeux;
TABLES
couleur*
sexe /
chisq;
WEIGHT poids;
RUN
;
Pour créer un tel tableau, il faut utiliser les procédures Corresp et Transpose.
La table de départ 'essai' est de type individus(id)*variables (voit, prof, situ, age), avec des variables alphanumériques.
/*
créer
la
table
des
fréquences
des
modalités
des
variables
par
individu
(0
ou
1)
*/
proc
corresp data
=
essai outf=
freqs noprint
;
tables
id
, voit prof situ age;
run
;
/*
créer
le
tableau
disjonctif
complet
*/
proc
transpose data
=
freqs out
=
rfreqs;
where
_
type_
eq
'
OBSERVED
'
;
var
count;
id
column
;
by
row;
run
;
La procédure CORRESP permet de réaliser une analyse factorielle des correspondances (AFC), c'est-à-dire une étude de la liaison entre deux variables qualitatives, ou une analyse des correspondances multiples (ACM), c'est-à-dire une étude de la liaison entre plusieurs variables qualitatives.
Format des données d'entrée :
- 1. pour une AFC : deux formes de données d'entrée possibles :
- une table de contingence : en ligne, les modalités de la variable A ; en colonne, les modalités de la variable B ;
- une table individus * variables : la procédure construit elle-même la table de contingence.
Dans les deux cas, il n'y a pas de résultats sur les individus.
- 2. pour une ACM : trois formes de données d'entrée possibles :
- un tableau disjonctif complet : option MCA inutile ; résultats relatifs aux individus ;
- une table de Burt : option MCA nécessaire ; pas de résultat relatif aux individus ;
- une table individus * variables : option MCA : la procédure construit la table de Burt (cas 2) ; pas d'option MCA : la procédure construit un tableau disjonctif (cas 1).
Remarque :
L'option MCA indique une ACM, le tableau analysé doit être une table de Burt. Si cette option est absente et que l'analyse est effectuée sur une table de Burt, la procédure n'indiquera pas d'erreur mais les valeurs propres et les coordonnées seront celles de l'AFC du tableau de Burt (Les valeurs propres sont élevées au carré et les coordonnées sont multipliées par la racine des valeurs propres).
Les procédures Cluster et Fastclus ne fonctionnant qu'avec des variables quantitatives, la solution la plus simple consiste à effectuer tout d'abord une Analyse des Correspondances Multiples (ACM) à l'aide de la proc Corresp, puis à réaliser la classification sur les coordonnées des individus sur les axes.
Pour ce faire, vous devez tout d'abord transformer vos variables qualitatives en variables quantitatives.
La méthode consiste à faire une analyse des correspondances multiples (ACM) sur le tableau disjonctif complet des variables nominales (à l'aide de la procédure Corresp).
Ceci afin d'obtenir des variables continues (les facteurs de l'ACM).
Cette méthode est connue sous le nom de méthode Disqual (Saporta, 1977).
Il ne reste plus qu'à utiliser ces variables quantitatives avec l'une des procédures du Système SAS® qui permet de faire de l'analyse discriminante (procédure Discrim ou procédure Candisc).
L' Analyse des Correspondances Multiples est souvent réalisée sur un grand ensemble de données. Le nombre d'observations et de variables peut être très important. Il arrive fréquemment que les résultats concernant les individus soient intéressants. La réalisation d'une segmentation passe souvent par une analyse des correspondances puis par une classification sur les coordonnées des individus sur les axes.
Cette méthode requiert donc la réalisation de l'Analyse des Correspondances Multiples sur tableau disjonctif complet. Or, l'analyse sur tableau disjonctif complet est très coûteuse, voire parfois impossible à cause de limitations des capacités informatiques.
Alors, la meilleure solution est de tirer parti de la formule de reconstitution des données : il s'agit dans un premier temps d'effectuer l'analyse sur le tableau de Burt, ce qui a pour inconvénient de ne pas restituer les coordonnées des individus sur les axes. Puis de calculer ces coordonnées à l'aide de la formule suivante : à un facteur 1/racine (valeur propre de l'axe concerné) près, la coordonnée d'un individu sur un axe est égale à la somme arithmétique simple des coordonnées des catégories auxquelles il appartient sur ce même axe.
Dans un premier temps, il faut savoir qu'il est possible avec l'option WEIGHT d'affecter des poids aux variables dans la procédure FACTOR mais uniquement dans les conditions suivantes :
METHOD =
PRINCIPAL, PRINIT, ULS et IMAGE.
Les données d'entrée sont soit une matrice de corrélation (TYPE = CORR,UCORR), soit une matrice de variances-covariances (TYPE = COV, UCOV).
La syntaxe du code SAS correspondant est la suivante :
Data
CORREL (type =
corr) ;
Input
_
type_
$ _
name_
$ var1 var2 -
-
-
varn ;
Cards
;
CORR var1 1.
0
CORR var2 cor(var2, var1) 1.
0
CORR vari cor(vari, var1) -
-
-
cor(vari, var
(i-
1)) 1.
0
CORR varn cor(varn, var1) -
-
-
cor(vari, var
(i-
1)) 1.
0
WEIGHT W(var1) W(var2) -
-
-
W(vari) W(varn);
proc
FACTOR data
=
CORREL method =
principal
rotate =
varimax outstat =
RESUL weight ;
run
;
Exemple:
data
correl(type=
corr);
input
_
TYPE_
$ 1-
6 _
NAME_
$ @
11 x
y z;
datalines;
CORR x
1.
0 .
.
CORR y .
7 1.
0 .
CORR z .
5 .
4 1.
0
WEIGHT 5 3 1
;
proc
factor weight;
run
;
Attention à ne pas confondre l'option WEIGHT qui permet de pondérer les variables avec l'instruction WEIGHT qui permet de pondérer les individus.
Pour appliquer les règles de l'analyse discriminante obtenue par la procédure DISCRIM sur des données différentes des données d'analyse, il faut utiliser les options suivantes :
- TESTDATA = Table_SAS - identification de la table SAS contenant les données à classer ;
- TESTLIST - résultats statistiques de la classification pour les observations de la table TESTDATA ;
- TESTLISTERR - liste les observations mal classées de la table TESTDATA ;
- TESTOUT = Table_SAS - résultats de la classification des observations de la table ;
- TESTOUTD = Table_SAS - TESTDATA.