Précédent   Forum des professionnels en informatique > Logiciels > Solutions d'entreprise > Business Intelligence > SAS > SAS STAT
SAS STAT Forum d'entraide sur les fonctionnalités liées à la statistique sur SAS : statistique descriptive, test, régression, classification
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 13/06/2011, 13h25   #1
Candidat au titre de Membre du Club
 
Inscription : septembre 2006
Messages : 22
Détails du profil
Informations forums :
Inscription : septembre 2006
Messages : 22
Points : 13
Points : 13
Par défaut PROC LOGISTIC avec sélection pas à pas

Bonjour à tous,

Mon objectif est de réaliser une sélection conjointe des variables qualitatives les plus discriminantes pour mon modèle. J'ai donc opté pour une PROC LOGISTIC avec l'option SELECTION=STEPWISE. Mais j'ai beaucoup de mal à comprendre son déroulement. Par exemple, si j'inclus 10 variables dans le modèle, seulement 5 sont testées dans la procédure pas à pas :

Code :
1
2
3
4
5
6
7
8
9
10
                                 Summary of Stepwise Selection
 
                             Effect                            Number       Score        Wald
     Step  Entered               Removed                 DF        IN  Chi-Square  Chi-Square
 
        1  CO_FBE_SIREN                                  90         1    799.5155
        2  CO_CODE_APE                                  440         2   1243.9553
        3  CO_FBE_NOM                                    21         3    225.7321
        4  CO_APE_DB                                    282         4    548.5448
        5                        CO_APE_DB              418         3                238.2241
Au final, seules les 3 premières variables sont retenues. Pourquoi les autres n'apparaissent pas dans la liste des étapes ?

Merci d'avance,
Mark
Mark531 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 13/06/2011, 14h58   #2
Expert Confirmé
 
Avatar de olivier.decourt
 
Homme Olivier Decourt
Formateur en informatique
Inscription : avril 2008
Messages : 1 467
Détails du profil
Informations personnelles :
Nom : Homme Olivier Decourt
Âge : 34
Localisation : France

Informations professionnelles :
Activité : Formateur en informatique
Secteur : Conseil

Informations forums :
Inscription : avril 2008
Messages : 1 467
Points : 2 823
Points : 2 823
Dans FORWARD, l'algorithme est le suivant :
  1. Etape 0 : le modèle ne contient que la constante
  2. Etape 1 : parmi les 10 variables proposées, SAS sélectionne celle qui améliore le + le modèle de l'étape 0 (==> la plus discriminante à elle seule)
  3. ...
  4. Etape N : parmi les x variables non encore incluses dans le modèle, SAS sélectionne celle qui améliore le plus le modèle de l'étape N-1
L'étape N n'est réalisée que si l'amélioration du modèle est significative (test du rapport de vraisemblance entre le modèle N-1 et le modèle N). Un critère d'arrêt est donc qu'il n'y a plus de variables disponibles qui améliorent de manière significatives le modèle.

Dans STEPWISE comme ici, après chaque étape d'inclusion sur la logique ci-dessus, il y a un test supplémentaire : une variable parmi celles déjà incluses peut-elle être éliminée du modèle sans avoir de diminution significative de la qualité ?
Cette opération permet d'éviter d'avoir dans un même modèle des variables trop redondantes (si une combinaison de variables nouvellement incluses fait doublon avec une autre, celle-ci peut être sortie du modèle).

Dans ton exemple, il y a 4 étapes d'inclusion sur la logique FORWARD (rien ne mérite d'être sorti des modèles 1 à 3) puis, après inclusion de la 4e variable, il s'avère qu'elle peut ressortir (les p-values des tests d'inclusion et d'élimination ne sont pas symétriques : voir les options SLENTRY et SLSTAY).

Personnellement, je préfère ne faire que des FORWARD, avec un SLENTRY assez haut (pour inclure plus que nécessaire) et ensuite prendre le modèle avec un critère de qualité (AIC ou BIC) minimum.

Par ailleurs dans ton exemple, je vois des nombres de coefficients qui me font froid dans le dos : tu comptes vraiment faire un modèle avec 551 coeffs dedans ? Ou c'était juste pour fournir un exemple ???

Bon courage.
Olivier

PS : pourquoi ne pas poster cette question dans la section SAS/STAT ?
olivier.decourt est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 13/06/2011, 15h49   #3
Candidat au titre de Membre du Club
 
Inscription : septembre 2006
Messages : 22
Détails du profil
Informations forums :
Inscription : septembre 2006
Messages : 22
Points : 13
Points : 13
Bonjour Olivier,

Merci pour ta réponse. D'accord, en fait SAS n'affiche que les étapes où une variable meilleure a pu être sélectionnée, il ne considère pas comme étape les tests avec des variables rejetées. Ceci indique que j'ai très peu de variables qualitatives pertinentes au final. Tu penses que cela vaut le coup de spécifier SLENTRY avec une valeur supérieure à 0.05 pour conserver plus de variables ? D'après les sorties de SAS, il semble que c'est le test de Wald qui est utilisé pour discriminer entre les modèles.

Pour ce qui est de ta question, les degrés de liberté indiquent juste le nombre de modalité de mes variables qualitatives. Par exemple, la variable CO_CODE_APE représente le code APE des entreprises, et il y en a beaucoup de différents. Je ne pense pas qu'il soit possible de regrouper ces modalités, elles sont vraiment spécifiques à chaque type d'entreprise. Mais en quoi est-ce que ça pose problème dans une régression logistique ?

Merci,
Mark
Mark531 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 13/06/2011, 16h13   #4
Expert Confirmé
 
Avatar de olivier.decourt
 
Homme Olivier Decourt
Formateur en informatique
Inscription : avril 2008
Messages : 1 467
Détails du profil
Informations personnelles :
Nom : Homme Olivier Decourt
Âge : 34
Localisation : France

Informations professionnelles :
Activité : Formateur en informatique
Secteur : Conseil

Informations forums :
Inscription : avril 2008
Messages : 1 467
Points : 2 823
Points : 2 823
Sur ton cas précis, Mark, je trouve que le modèle est déjà bien trop complexe ! Et que s'il y a peu de variables retenues, elles sont très (exagérément ?) détaillées.
Les codes APE peuvent être regroupés selon plusieurs niveaux par des nomenclatures emboîtées. C'est sûr que les modèles seront moins bons si tu n'utilises que le niveau secteur (21 valeurs distinctes) mais ils seront sûrement plus interprétables.
Tu t'imagines en train de commenter 500 coefficients pour expliquer comment réagit ton modèle selon les caractéristiques de l'entreprise ? Même s'il ne sert qu'à la prédiction, un modèle doit rester interprétable ! Et robuste, d'ailleurs, ce qu'il a peu de chances d'être avec autant de degrés de liberté.
olivier.decourt est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 13/06/2011, 16h45   #5
Candidat au titre de Membre du Club
 
Inscription : septembre 2006
Messages : 22
Détails du profil
Informations forums :
Inscription : septembre 2006
Messages : 22
Points : 13
Points : 13
En effet, beaucoup des variables qualitatives dont je dispose présentent de nombreuses modalités. Mais je tiens à préciser que dans mon cas, l'objectif n'est pas d'interpréter les coefficients mais de construire un score. Tout ce qui m'importe est d'extraire une proba à partir de la régression logistique (ou d'un autre modèle de scoring).

Cela dit, ta remarque est très intéressante car je me suis déjà demandé s'il fallait utiliser les variables qualitatives telles quelles. Je me rends compte que la procédure LOGISTIC est extrêmement lente sur mes variables. Mais y a-t'il un intérêt statistique à regrouper les modalités ? C'est une opération assez délicate qui demande souvent des connaissances fonctionnelles. Par exemple, je ne connaissais pas les nomenclatures emboitées.
Mark531 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 13/06/2011, 17h24   #6
Expert Confirmé
 
Avatar de olivier.decourt
 
Homme Olivier Decourt
Formateur en informatique
Inscription : avril 2008
Messages : 1 467
Détails du profil
Informations personnelles :
Nom : Homme Olivier Decourt
Âge : 34
Localisation : France

Informations professionnelles :
Activité : Formateur en informatique
Secteur : Conseil

Informations forums :
Inscription : avril 2008
Messages : 1 467
Points : 2 823
Points : 2 823
Dans toutes les applications de scoring que j'ai pu construire, il y avait un besoin final de savoir (au moins grossièrement) ce qui se passait dans le modèle, en plus de besoin primordial de cracher de la probabilité.

Oui, il y a un intérêt à limiter le nombre de modalités et donc de coefficients : c'est de construire un modèle robuste. En limitant les degrés de liberté, on force le modèle à s'intéresse au comportement général des individus, alors qu'en lui fournissant de trop nombreux degrés de liberté, on lui permet d'ajuster des cas particuliers au détriment du comportement moyen.

Et oui, c'est un boulot de regrouper les modalités. C'est un boulot énorme, malheureusement nécessaire. Bon courage !
olivier.decourt est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 13/06/2011, 18h03   #7
Candidat au titre de Membre du Club
 
Inscription : septembre 2006
Messages : 22
Détails du profil
Informations forums :
Inscription : septembre 2006
Messages : 22
Points : 13
Points : 13
Ok, merci beaucoup pour tes éclairages. Je vais m'atteler dès à présent au pénible travail du regroupement des modalités.

Bonne fin de journée !
Mark
Mark531 est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 00h58.


 
 
 
 
Partenaires

Hébergement Web