1. #1
    Membre à l'essai
    Homme Profil pro
    Consultant en Business Intelligence
    Inscrit en
    juillet 2015
    Messages
    19
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Consultant en Business Intelligence

    Informations forums :
    Inscription : juillet 2015
    Messages : 19
    Points : 11
    Points
    11

    Par défaut Proc logistic avec valeurs à "."

    Bonjour à tous,

    Petite question pour les experts concernant une sortie de PROC LOGISTIC.

    voici le petit code de ma PROC LOGISTIC:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
    proc logistic data=mabase outmodel= modele;
        Class mesvar / descending param=glm;
    		model BMI(event='M') = mesvar
    		/ link = logit
    		selection = stepwise
    		slstay = 0.05 slentry = 0.05
    		rsquare
    		scale=none
    		ctable
    		;
    run;

    1) dans ma sortie j'ai une variable qui ressort 2 fois :

    Summary of Stepwise Selection

    Effect Number Score Wald
    Step Entered Removed DF In Chi-Square Chi-Square Pr > ChiSq

    1 VAR1 5 1 315.9284 <.0001
    2 VAR2 9 2 258.4819 <.0001
    ...
    12 VAR3 3 12 33.4180 <.0001
    ...
    24 VAR3 3 22 7.0095 0.0716


    j'ai donc VAR3 qui est 2 fois ma liste de variables conservées en sortie (j'ai copié collé tel quel, à savoir que le texte est bien décalé à droite)


    2) dans mon analyse du poids des variables j'ai 2 choses qui m'interpellent:

    Type 3 Analysis of Effects

    Wald
    Effect DF Chi-Square Pr > ChiSq

    VAR8 3 11.6814 0.0086
    VAR9 3 23.1653 <.0001
    ...
    VAR4 0 . .
    ...


    a) VAR4 ressort avec un DDL à 0 et aucune info (alors que dans le résumé de mon STEPWISE elle avait DF=1 et des valeurs)
    b) ma VAR3 qui était en double dans le résumé a disparu ici

    Est ce que vous auriez une explication à ceci?

    Je vous remercie de votre aide et vous souhaite d excellentes vacances :-)

  2. #2
    Membre expert
    Avatar de olivier.decourt
    Homme Profil pro
    Formateur R/SAS/statistiques
    Inscrit en
    avril 2008
    Messages
    1 789
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France

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

    Informations forums :
    Inscription : avril 2008
    Messages : 1 789
    Points : 3 955
    Points
    3 955

    Par défaut

    Bonjour.
    Sur la présence de VAR3 en double, je suppose que c'est parce qu'elle a été incluse puis éliminée par le Stepwise. Si tu utilisais Forward, elle ne serait pas en double. Les tests de type 3 ne montrent que les variables présentes dans le modèle final, c'est donc logique que VAR3 n'y figure pas.
    Sur la valeur manquante pour VAR4, c'est soit un problème de redondance avec d'autres variables (rendu peu probable par la sélection Stepwise), soit un souci d'estimation de vraisemblance (aucun Warning dans la log ?), par exemple si VAR4 sépare parfaitement les OUI d'un côté et les NON de l'autre, seule ou en combinaison avec d'autres variables du modèle (mais il devrait y avoir des messages de "Quasi-complete separation" dans la log).
    Bon courage.
    Olivier

  3. #3
    Membre à l'essai
    Homme Profil pro
    Consultant en Business Intelligence
    Inscrit en
    juillet 2015
    Messages
    19
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Consultant en Business Intelligence

    Informations forums :
    Inscription : juillet 2015
    Messages : 19
    Points : 11
    Points
    11

    Par défaut

    Bjr Olivier,

    Merci tout d abord pour la réponse claire et précise

    Pour VAR4, aucun message spécifique dans ma log, donc pour le moment je la mets de côté, j échangerai avec mes collègues à leur retour de congés

    J en profite pour rajouter une question bonus :

    Afin de mesurer le poids de chacune de mes variables dans le modèle, et savoir lesquelles conserver, je les ai triées en fonction de leur WALD défini dans "Analysis of effets"

    j'ai donc relancé ma proc logistic en me limitant à ces vars et en les triant par WALD descendant et je rajoute l option DETAILS


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     
    proc logistic data=matable outmodel= modele;
        Class var1 var2 var3 / descending param=glm;
       model BMI(event='M') = var1 var2 var3
    		/ link = logit
    		selection = stepwise
    		slstay = 0.05 slentry = 0.05
    		rsquare
    		scale=none
    		ctable
    		details
    		;
    run;
    je pensais qu en faisant ainsi, la logistic les testerait par ordre de saisie, ce qui n est pas le cas
    j ai testé avec la méthode FORWARD mais toujours pareil : le programme teste en 1er la var qui a le plus SCORE dans le SUMMARY STEPWISE, et non pas celle qui a le plus grand WALD dans le modèle

    Existe il une option pour faire ceci, ou suis je condamné à lancer n proc logistic en ajoutant à chaque fois une variable?

    Encore et merci et bonne fin de journée

  4. #4
    Membre expert
    Avatar de olivier.decourt
    Homme Profil pro
    Formateur R/SAS/statistiques
    Inscrit en
    avril 2008
    Messages
    1 789
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France

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

    Informations forums :
    Inscription : avril 2008
    Messages : 1 789
    Points : 3 955
    Points
    3 955

    Par défaut

    Je crois que tu es condamné à faire les ajouts manuels de variables.
    La raison, c'est que le tableau de type 3 (Analysis of Effects) mesure l'apport de chaque variable compte tenu de la présence des autres dans le modèle. Ce qui est un calcul impossible à faire dans une sélection pas à pas, où le score mesure (à peu près, je simplifie pour pouvoir faire le parallèle, que les puristes me pardonnent) l'apport de chaque variable compte tenu de celles déjà incluses dans le modèle. Et toute la procédure de sélection de SAS est basée sur cet apport marginal, jamais sur l'apport a posteriori.
    Par contre, tu peux explorer d'autres critères d'inclusion avec la proc HPGENSELECT si tu as SAS 9.4: il y a des Forward / Backward / Stepwise motivés par des critères d'Akaike ou de Schwarz par exemple.
    Bon courage.
    Olivier

  5. #5
    Membre à l'essai
    Homme Profil pro
    Consultant en Business Intelligence
    Inscrit en
    juillet 2015
    Messages
    19
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Consultant en Business Intelligence

    Informations forums :
    Inscription : juillet 2015
    Messages : 19
    Points : 11
    Points
    11

    Par défaut

    ok ok merci encore pour toutes ces infos :-)

    Je vais creuser tout ça.

    Bonne journée!

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

Discussions similaires

  1. Proc logistic avec plusieurs interactions
    Par TenenCamara dans le forum SAS STAT
    Réponses: 3
    Dernier message: 20/07/2015, 10h49
  2. PROC LOGISTIC avec sélection pas à pas
    Par Mark531 dans le forum SAS STAT
    Réponses: 6
    Dernier message: 13/06/2011, 18h03
  3. Proc logistic et valeurs manquantes
    Par dachboden dans le forum SAS STAT
    Réponses: 3
    Dernier message: 06/05/2011, 13h55
  4. Proc Format avec valeur manquante
    Par Silbad dans le forum SAS Base
    Réponses: 9
    Dernier message: 15/05/2009, 16h38
  5. PROC LOGISTIC, avec variables categorielles
    Par debutant14 dans le forum SAS STAT
    Réponses: 2
    Dernier message: 26/12/2008, 11h43

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