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

Macro Discussion :

[Macro] sas entreprise miner 4.3 et regression logistique


Sujet :

Macro

  1. #1
    Futur Membre du Club
    Inscrit en
    Février 2009
    Messages
    14
    Détails du profil
    Informations forums :
    Inscription : Février 2009
    Messages : 14
    Points : 7
    Points
    7
    Par défaut [Macro] sas entreprise miner 4.3 et regression logistique
    bonjour a tous,

    j'utilise sas entreprise miner 4.3 dans le cadre de mon travail, je fais principalement du scoring
    en utilisant la regression logistique.

    j'ai quelques questions :

    - Comment faire pour classer les variables du modèle final par ordre d'importance
    ( je précise que j'ai un ensemble de variables qualitatives polytomiques ordinales ou nominales) ?
    j'ai pensé a utilisé le v de cramer

    - Comment faire, lors d'une regression logistique, pour utiliser un codage disjonctif different
    entre les variables ordinales et nominales ?

    - Je voudrais ecrire une phrase du type, il y x % de chance en plus (ou en moins) que l'evenement y = 1 pour une personne ayant la modalité i versus la modalité référence.
    En cherchant,ce que je pense avoir compris, c'est quand calculant l'exponentiel du coefficient de la modalité i ( calcul de l'odds ratio ?), je pouvais exprimer ce pourcentage.
    Cependant je ne suis pas très sur de l'interprétation, si je prend un exemple concret :

    La variable cible : (1 = oui /0 = non)

    Une variable explicative "age" trois catégories :

    1 - [0-25 ans ] : coef 0.8

    2 - [26 - 50 ans ] : coef -0.60

    3 - [51 - 80] modalité de référence

    - donc exp( 0.8) = 2.22, je peux dire qu'une personne ayant la modalité 1 à 2,22 fois
    plus de chance de prendre l'option (y=1) versus une personne ayant la modalité 3 ?

    - Comment exprimer cela en pourcentage ?

    - Dans le cas ou , exp( -0.60) = 0.54, est-ce juste de dire qu'une personne ayant la modalité 2
    à 2, fois moins de chance de prendre l'option (y=1) versus une personne ayant la modalité 3 ?

    - Comment gerer les variables explicatives polytomiques nominales et ordinales ?

    - Si je veux comparer la modalité 1 et 2, est-ce juste de faire exp(0.8-(-0.60)) ?
    merci

  2. #2
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Février 2009
    Messages
    25
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2009
    Messages : 25
    Points : 30
    Points
    30
    Par défaut
    j'utilise sas entreprise miner 4.3 dans le cadre de mon travail, je fais principalement du scoring en utilisant la regression logistique.
    Bon j’utilise pas SEM. Mais juste SAS/Stat mais pour la logistique ca devrait le faire.

    - Comment faire pour classer les variables du modèle final par ordre d'importance
    ( je précise que j'ai un ensemble de variables qualitatives polytomiques ordinales ou nominales) ?
    j'ai pensé a utilisé le v de cramer
    Tu aussi peux prendre les variances de type III(impact en fonction des autres variables du modèle), si elle exsite sous SEM...
    Le v de cramer te donnera l'importance de la variable par rapport à la cible mais hors du modèle. Une variable seule avec un V de cramer important peut avoir finalement peu d'importance dans le modèle. Pour ma part, j'utilise le coefficient de gini pour calculer le pouvoir prédictif d'une variable. Certain utilise aussi le coefficient de contingence... Il n'y a pas de "vérité ultime" en la matière, chacun fait comme il lui convient le mieux suivant ses critères (lisibilité, interprétabilité, historique dans la boite,...)


    - Comment faire, lors d'une regression logistique, pour utiliser un codage disjonctif different
    entre les variables ordinales et nominales ?
    Dans quel but ? A priori, le résultat sera inchangé


    - Je voudrais ecrire une phrase du type, il y x % de chance en plus (ou en moins) que l'evenement y = 1 pour une personne ayant la modalité i versus la modalité référence.
    En cherchant,ce que je pense avoir compris, c'est quand calculant l'exponentiel du coefficient de la modalité i ( calcul de l'odds ratio ?), je pouvais exprimer ce pourcentage.
    Cependant je ne suis pas très sur de l'interprétation, si je prend un exemple concret :

    La variable cible : (1 = oui /0 = non)

    Une variable explicative "age" trois catégories :

    1 - [0-25 ans ] : coef 0.8

    2 - [26 - 50 ans ] : coef -0.60

    3 - [51 - 80] modalité de référence

    - donc exp( 0.8) = 2.22, je peux dire qu'une personne ayant la modalité 1 à 2,22 fois
    plus de chance de prendre l'option (y=1) versus une personne ayant la modalité 3 ?

    - Comment exprimer cela en pourcentage ?

    - Dans le cas ou , exp( -0.60) = 0.54, est-ce juste de dire qu'une personne ayant la modalité 2
    à 2, fois moins de chance de prendre l'option (y=1) versus une personne ayant la modalité 3 ?
    Ce que tu essais de faire est très dangereux. Les coefficients de reg log ne sont pas interprétable tel quel, puisque leur valeur dépend des autres variables du modèle (corrélation inter-variable). Il n’est pas rare par exemple d’avoir des résultats inversés par rapport à la réalité lorsque tu rentres des variables très corrélées entre elles dans le même modèle. C’est pour ça qu’il est ESSENTIEL d’analyser les variables de ton modèle une par une. C’est seulement cette analyse qui te permettra de faire correctement la phrase que tu veux.

    - Comment gérer les variables explicatives polytomiques nominales et ordinales ?
    Je ne suis pas sur de comprendre ta question. Pour ma part, sous sas/stat, je créé des formats avec un ordre alphabétique qui me permets de faire des sorties plus lisibles.

    - Si je veux comparer la modalité 1 et 2, est-ce juste de faire exp(0.8-(-0.60)) ?
    C’est plutôt faux pour les mêmes raisons.

    Après je laisse le soin à ceux qui connaisse SEM de compléter ma réponse.

    Bon courage.

    Will.

  3. #3
    Futur Membre du Club
    Inscrit en
    Février 2009
    Messages
    14
    Détails du profil
    Informations forums :
    Inscription : Février 2009
    Messages : 14
    Points : 7
    Points
    7
    Par défaut
    merci pour tes réponses.

    malheureusement, il n'y a pas de SEM les variances de type 3, j'ai une partie qui s'appelle " type 3 analysis of effect" qui exprime le critère de wald.
    je vais effectué quelques recherche sur le coefficient de gini.

    je voudrais faire la différence entre les variables nominales et ordinales puisque,dans le cas ordinales, le faite de faire un codage disjonctif complet, fait perdre l'ordre. j'aimerais faire avec sas un codage disjonctif "emboité", cad, qui tienne compte de l'ordre. Je peux le faire avec du code sas,
    mais je ne sais pas comment indiquer une fois que j'ai fais mon propre codage, que lorsque je fais tourner la regression log, il ne faut pas que SAS re-fasse le codage (sur les variables deja codée).


    j'en profite un peu, j'ai d'autres questions :

    - comment forcer (avec sem si possible) qu'une variable intervienne dans le modele finale ?

    - Comment faire, pour que SAS (SEM) prennent tjs comme modalités de reference celle qui l'effectif le plus petit pour toutes mes variables ?

    merci alexandre.

  4. #4
    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 : 46
    Localisation : France

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

    Informations forums :
    Inscription : Avril 2008
    Messages : 2 064
    Points : 4 478
    Points
    4 478
    Par défaut
    Bonjour.
    La régression logistique de SEM, même si elle ne fait pas appel à la procédure LOGISTIC de SAS/STAT, est fondamentalement proche des sorties de SAS/STAT.
    Pour prendre les questions dans l'ordre :
    1) les variances de type 3 et les stats de test de Wald dans le bloc "Type 3 analysis of effect" sont une seule et même chose. On peut ordonner les variables selon cette quantité pour connaître leur contribution au modèle.
    2) pour SAS (dans SAS/STAT et SEM) une variable quali, ordonnée ou non, est toujours traitée de la même façon. On ne peut pas en indiquer certaines comme ordinales et d'autres comme nominales. Dans tous les cas, il va opposer une de leurs modalités (la dernière par ordre alphabétique, le plus souvent) à toutes les autres, si on choisit le codage de type GLM (qui n'est pas le choix par défaut, ni dans SAS/STAT ni dans SEM).
    3) les réserves de Will sur l'indépendance des variables présentes dans ton modèle sont juste, mais admettons que tu n'aies dans ton modèle que des variables globalement indépendantes. Les odds-ratios sont effectivement LE moyen de commenter les coefficients. Quand l'OR vaut 2,22 ça veut dire que l'on a 2 fois plus de chances (ou 122% de chances en plus) de prendre l'option si on est dans la catégorie 1 que dans la 3. Quand il vaut 0,5 c'est effectivement 2 fois moins de chances.
    4) il ne suffit pas d'avoir un coefficient pour pouvoir commenter un OR : il faut avoir un coefficient SIGNIFICATIF. Et autant SAS (et SEM) permet de juger de la significativité de l'écart 1 vs 3 dans ton exemple (c'est la p-value du coefficient de la modalité 1), autant il n'indique pas quelle est celle de l'écart 1 vs 2. Donc l'OR peut être théoriquement calculé, mais comme on ne sait pas s'il est significatif, il vaut mieux éviter de le commenter. Un bon moyen serait de faire "tourner" les valeurs de référence, mais dans SEM, c'est lourd car ça implique des recodages complets de variables, les formats n'étant pas bien pris en compte.

    Tant de questions... le plus simple ne serait-il pas de se tourner vers un tutorial / un livre / une formation sur la régression logistique ?

    Olivier
    Bon courage.
    Olivier

  5. #5
    Futur Membre du Club
    Inscrit en
    Février 2009
    Messages
    14
    Détails du profil
    Informations forums :
    Inscription : Février 2009
    Messages : 14
    Points : 7
    Points
    7
    Par défaut
    bonjour olivier,


    1) Pour la statistique de wald, il me semblait que ce critère permettait uniquement de savoir si un coefficient est réellement significatif, mais, je vais donc l'utiliser pour classer mes variables.

    2) Pour faire la différence entre variables ordinales/nominales et pour pouvoir prendre les modalités de plus faible effectif ( j'utilise glm comme codage), il faudrait peut être une version supérieur de SEM (la dernière 5.3) ?
    ( le fait de pouvoir choisir mes modalités de références et de surcroit tjs les mêmes les plus frequentes/ moins frequentes, cela me permet d'avoir un individu moyen plus "logique")

    3) Pour tout ce qui est odds ratio : je ne garde dans mon modèle que des variables qui sont significatives et je fais un proc corr ( pour les var quanti) et un v de cramer ( pour les var quali) pour enlever celle qui sont corrélées ( corrélation d'ordre 1 uniquement, je ne traite pas des problèmes de multi-colinearité) , donc j'ai normalement des variables qui sont indépendantes une à une, je peux utiliser mes odds ratios comme je le souhaite, je pense. ( pour les odds modalité 1 versus 2 pour l'instant je laisse de coté)

    c'est vrai que j'ai beaucoup de questions, parce que dans les livres ou sur internet,je ne trouve pas forcement les réponses que j'ai besoins. Et puis la version de sem que j'ai n'ai pas forcement très complete aussi.

  6. #6
    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 : 46
    Localisation : France

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

    Informations forums :
    Inscription : Avril 2008
    Messages : 2 064
    Points : 4 478
    Points
    4 478
    Par défaut
    Bonjour Alexandre.
    Les versions 5.x de SEM ne sont pas vraiment des évolutions de la série 4.x que tu utilises, mais un développement parallèle d'une nouvelle interface (qui nécessite une architecture SAS BI particulière). Il est vrai que la liste des fonctionnalités des deux versions (4.3 et 5.3) ne sont pas exactement recouvrantes, mais jusqu'à la 5.2, c'était encore la série 4 qui était la plus complète. Je n'ai pas encore creusé la 5.3.

    Pour le codage des variables quali en mettant en référence la modalité la plus fréquente (plutôt que la moins fréquente : quelle est l'utilité de se comparer systématiquement à un cas très rare ? Pour prendre des marques de voitures, est-ce qu'il est parlant de se comparer tout le temps aux possesseurs de Lamborghini ou de Bentley ?), je pencherais pour un traitement en code (soit en dehors de SEM, soit dans un noeud SAS Code) avec une petite macro qui ferait une proc Freq (option ORDER=FREQ) et recoderait la variable avec un préfixe A, B, C etc. par fréquence croissante devant sa valeur. Ainsi SEM classerait bien la modalité la + fréquente en référence.

    Pour le test de Wald, on parle bien de celui du bloc "Type 3", au niveau VARIABLES. C'est fondamentalement le même test qu'au niveau des coefficients, mais lui indique par sa stat de test la contribution de chaque variable à la qualité du modèle.

    Pour les odds-ratios, tes variables étant les plus indépendantes qu'on puisse souhaiter, ils peuvent être interprétés comme décrit plus haut. Mais je persiste sur le risque de construction des OR "manquants" (comme A vs B à partir de A vs D et B vs D) car la question de leur significativité n'est pas résolue. Une procédure comme GLIMMIX en v9.1 ou LOGISTIC en v9.2 permet d'obtenir tous les OR pour une variable quali, avec leur test de significativité, ce qui permet de gagner du temps.

    Bon courage !
    Olivier
    Bon courage.
    Olivier

  7. #7
    Futur Membre du Club
    Inscrit en
    Février 2009
    Messages
    14
    Détails du profil
    Informations forums :
    Inscription : Février 2009
    Messages : 14
    Points : 7
    Points
    7
    Par défaut
    merci pour toutes ces réponses très claires et précises.

    correction : sas entreprise miner 5.3 n'existe pas, la dernière version est bien la 5.2

    - tu me fais gagner du temps, je pensais que les différentes versions de SEM apportais de réelles modifications ! :j'imaginais des algos encore plus performant notammant pour la sélection de variables, encore plus d'options...

    - Bien sur, il est preferable de prendre comme modalité de réference la plus fréquente. je vais faire ce code sas, mais je ferais des tests pour voir ce que cela provoque sur les résultats. ( un modele codage sas versus un modele mon codage) --> je ne veux pas biaiser mes résultats.

    - pour le test de wald,j'ai mis en piece joint une image des résultats, pour être sur : cette image montre la partie "type 3 analysis of effects", on voit la liste des variables, le degres de liberté, le "wald chi -square" et la p-value

    - je vais tester cette procédure "GLIMMIX" (en esperant que je l'ai). (mais ce que je pensais, c'est que si la modalité A est signicatif et B aussi, si je fais mon calcul exp(A-B) je trouve un résultat significatif).

  8. #8
    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 : 46
    Localisation : France

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

    Informations forums :
    Inscription : Avril 2008
    Messages : 2 064
    Points : 4 478
    Points
    4 478
    Par défaut
    Si tu n'as pas Glimmix, elle est en téléchargement libre sur le site de SAS. Reste à convaincre l'administrateur du PC de te l'installer...

    Je crois que la pièce jointe n'a pas pris.

    Enfin pour la significativité de A vs B à partir des significativités de A vs C et B vs C : surtout ne pas oublier que quand un coefficient est significatif, ça veut dire qu'il est différent de zéro. Or zéro, c'est le coefficient de la référence : donc le test de Wald sur le coefficient indique toujours un écart significatif à la référence, et pas une significativité "dans l'absolu" qui n'existe pas.
    Dans l'exemple ci-dessous, les valeurs 1 et 2 de X ont des coefficients significatifs dans leur écart par rapport à X=3. Mais si on compare avec CONTRAST X=1 et X=2, on voit que l'écart est non significatif.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    DATA work.test ;
    	DO id=1 TO 500 ;
    		x = MOD(id,3)+1 ;
    		SELECT (x) ;
    		 WHEN(1) y = 3 + RANNOR(0) ;
    		 WHEN(2) y = 3.001 + RANNOR(0) ;
    		 OTHERWISE y = RANNOR(0) ;
    		END ;
    		OUTPUT ;
    	END ;
    RUN ;
    PROC GLM DATA=work.test ;
    	CLASS x ;
    	MODEL y = x / SOLUTION ;
    	CONTRAST "1 vs 2" x 1 -1 0 ;
    RUN ; QUIT ;
    Olivier
    Bon courage.
    Olivier

  9. #9
    Futur Membre du Club
    Inscrit en
    Février 2009
    Messages
    14
    Détails du profil
    Informations forums :
    Inscription : Février 2009
    Messages : 14
    Points : 7
    Points
    7
    Par défaut
    ci-joint j'ai remis la piece jointe, normalement elle est doit être là.

    je pense que je peux insaller cette procédure sans l'avis de l'admin (a confirmer quand même). de plus, j'ai testé et je n'ai pas cette procédure.

    j'ai bien compris l'exemple, j'ai testé avec 1 v3 par ex, et là c'est significatif. il faut un algoritme approprié pour calculer ces odds (A v B) --> proc glimmix
    Images attachées Images attachées  

Discussions similaires

  1. [Macro] procedures ou Macros sas SVM
    Par cyberboy00 dans le forum Macro
    Réponses: 9
    Dernier message: 11/07/2008, 09h35
  2. SVM sous SAS Entreprise Miner
    Par ruiprincess dans le forum Outils BI
    Réponses: 2
    Dernier message: 05/07/2008, 13h21
  3. Boucle dans macro SAS avec BY
    Par fafabzh6 dans le forum Macro
    Réponses: 5
    Dernier message: 17/06/2008, 12h08
  4. macro sas problème
    Par floflorette56 dans le forum Macro
    Réponses: 2
    Dernier message: 21/04/2008, 13h11
  5. exécution de Macro SAS
    Par CélineM dans le forum Macro
    Réponses: 2
    Dernier message: 02/04/2008, 15h06

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