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

SAS STAT Discussion :

[Logistic] Output Likelihood Estimates


Sujet :

SAS STAT

  1. #1
    Membre habitué
    Homme Profil pro
    Inscrit en
    Novembre 2008
    Messages
    108
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Novembre 2008
    Messages : 108
    Points : 181
    Points
    181
    Par défaut [Logistic] Output Likelihood Estimates
    Bonjour,

    Je suis sur un cas qui me pose probleme et je ne sais pas quelle est la meilleure manière de résoudre ce soucis.


    Je cherche à construire un score en utilisant les variables suivantes :
    Age, profession, ancienneté à l'emploi.

    Sur ces 3 variables j'ai une modalité "retraité" (ce qui provoque une corrélation entre les variables).

    Mes questions sont les suivantes :
    - Pourquoi le DL de ma modalité Y_3_PRO et Y_2_AGE est à 0 pour le retraité comme si cette modalité était celle de référence.
    - Pourquoi ma proc logistic apres avoir estimée ma modalité retraité sur la variable Y_2_job, la met à 0 sur les 2 autres (mon intuition c'est que toute l'information a deja été mise pour cette population sur la premiere variable mais ce qui me pose probleme c est que pour les 2 dernieres variable la modalité "retraité" est estimé avec le meme estimateur 0 que ma modalité de référence. Par ailleurs je n'ai donc pas de odd ratio sur ces modalités)
    - Quel peut etre l'impact de conserver ce modèle sur la performance de mon score?
    - Comment conserver ces 3 variables dans le modèle sans les croiser et en supprimant mon soucis observé sur la modalité "retraité".

    Ma proc logistic me sort le tableau suivant :

    --------------------------------------------------------Standard----------Wald
    Parameter---------------------------- DDL----Estimate------ Error----Chi-Square----Pr > Khi-2

    Intercept-------------------------------1------4.3625 ---- 0.2413 ---- 326.9148--------<.0001
    Y_2_job_seniority_month a/ <= 32 m------1---- -1.1126------0.1393------ 63.8075--------<.0001
    Y_2_job_seniority_month a_retraite----1------0.4077------0.2170------- 3.5313--------0.0602
    Y_2_job_seniority_month b/ ]32 ; 8------1---- -0.5984------0.1471------ 16.5531--------<.0001
    Y_2_job_seniority_month c/ > 80---------0-----------0---------- .-------- .------------ .
    Y_3_PRO---------------- a/ 102,107------1------0.5958------0.1231------ 23.4455--------<.0001
    Y_3_PRO---------------- a_retraite----0---------- 0---------- .-------- .------------ .
    Y_3_PRO---------------- b/ others------ 0---------- 0---------- .-------- .------------ .
    Y_2_age_of_borrower---- a/ <= 30 a------1------0.6702------0.1656------ 16.3891--------<.0001
    Y_2_age_of_borrower---- a_retraite----0---------- 0---------- .-------- .------------ .
    Y_2_age_of_borrower---- b/ ]30 ; 4------1------0.4767------0.1448------ 10.8341--------0.0010
    Y_2_age_of_borrower---- c/ > 45-------- 0---------- 0---------- .-------- .------------ .

    Merci,

    Cordialement,

    Suistrop.

  2. #2
    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.
    On peut effectivement soupçonner que la redondance d'information a causé ces coefficients forcés à 0. Tu as peut-être un message dans l'Output indiquant une dépendance linéaire entre les catégories "Retraité" de tes 3 variables.
    Comme solutions, j'en vois 2 : la première est de modéliser les retraités à part. Donc tu filtres pour les éliminer de ta régression actuelle, et tu leur fera un petit score exprès pour eux (ou juste une probabilité constante, ça dépend de leur effectif et de leur intérêt).
    Deuxième solution, tu éclates tes variables en indicatrices (à la main ou avec la proc Transreg) que tu ne déclares pas dans l'instruction CLASS, mais comme s'il s'agissait de variables quantitatives. Avec une sélection FORWARD, ne rentreront dans le modèle que les indicatrices utiles.
    Par contre, l'interprétation des odds-ratio est un peu différente : au lieu de comparer une valeur A à une valeur de référence, l'OR d'une indicatrice de la valeur A compare cette valeur à toutes les autres (A vs non-A).

    Bon courage.
    Olivier
    Bon courage.
    Olivier

  3. #3
    Membre habitué
    Homme Profil pro
    Inscrit en
    Novembre 2008
    Messages
    108
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Novembre 2008
    Messages : 108
    Points : 181
    Points
    181
    Par défaut
    Bonjour Oliver,

    Merci de ta réponse.

    Je n'ai aucun message dans l'output qui détecterait une corrélation, chaque variable respecte le critère de convergence et est donc intégrée au modèle final.

    La première solution que tu proposes est de faire 2 modèle disctincts. Un pour les retraités et un autre pour le reste de la population. Ensuite quid d'un modèle global

    Le resultat de la seconde solution est le suivant :
    En creant les variables :
    Z_job_A Z_job_B Z_job_C
    Z_age_A Z_age_B Z_age_C
    Z_PRO_A Z_PRO_B
    Z_RETRAITE

    Z_job_A indicatrice pour la modalité "a" de l'ancienneté à l'emploi...
    et Z_RETRAITE unique variable pour celle des retraités.

    -Analysis-of-Maximum-Likelihood-Estimates
    Standard##########Wald
    Parameter####DDL####Estimate#######Error####Chi-Square####Pr#>#Khi-2

    Intercept######1######4.8919######0.0823#####3533.3298########<.0001
    Z_job_A########1#####-1.4549######0.1214######143.5109########<.0001
    Z_job_B########1#####-0.7879######0.1320#######35.6348########<.0001
    Z_age_C########1######0.5008######0.1335#######14.0628########0.0002
    Z_PRO_B########1#####-0.9735######0.1166#######69.7257########<.0001
    Donc il ne retient pas les retraités dans mon modèle mais par contre il prend au moins 1 modalité de chaque variable...

    Je ne sais tjs pas quoi faire ...

  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
    Fabien,
    pour la 1e solution il n'y aura pas de modèle global. Il y aura 2 modèles. Les retraités ne sont pas forcément une population semblable aux autres, donc ça peut se justifier de leur faire un modèle spécifique, non ?
    Dans la 2e solution, tes sorties montrent que le profil des retraités ne diffère pas du profil moyen (sinon il y aurait une indicatrice qui serait rentrée). Donc je retire ce que je viens de dire, visiblement sur ta problématique, les retraités n'ont pas de comportement spécifique.
    Ton 2e modèle nous donne une proba de base qui est EXP(constante)/(1+EXP(constante))=0,9925 ; et si on a la modalité A dans l'ancienneté à l'emploi, le score devient EXP(constante+Z_job_A)/(1+EXP(constante+Z_job_A))=0,9983.
    Et le reste sur le même principe.
    Les retraités ont droit à la proba de base.

    Une remarque en passant : tes prédictions sont très élevées, très proches de 1. Je ne sais pas ce que tu comptes faire de ce score, mais s'il faut trouver un seuil pour le transformer en prédiction binaire, ce sera à la 3e décimale qu'il faudra le chercher !
    Tu as essayé de construire un modèle sur une base équilibrée 50/50 ?
    Bon courage.
    Olivier

  5. #5
    Membre habitué
    Homme Profil pro
    Inscrit en
    Novembre 2008
    Messages
    108
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Novembre 2008
    Messages : 108
    Points : 181
    Points
    181
    Par défaut
    Bonjour Olivier,

    Mon but est de classer au mieux les personnes, du plus risqué au moins risqué. La partie sur la prévision du risque en fonction de la note de score n'est pas déterminante dans un premier temps.
    Je n'ai pas vu dans différents tests que j'ai pu faire un apport significatif à utiliser une base 50/50 afin de classer des individus (Si tu as de la documentation qui contredit mes quelques à ce sujet je suis preneur !!)

    Par ailleur j'ai testé un autre modèle en le forcant à prendre en compte toutes mes indicatrices ci dessous les résultats :

    NOTE: The following parameters have been set to 0, since the variables are a linear combination of other variables as shown.
    Z_age_C = Z_job_A + Z_job_B + Z_job_C - Z_age_A - Z_age_B
    Z_PRO_B = Z_job_A + Z_job_B + Z_job_C - Z_PRO_A
    Z_RETRAITE = Intercept - Z_job_A - Z_job_B - Z_job_C

    ###############Analysis#of#Maximum#Likelihood#Estimates

    ##################################Standard##########Wald
    #Parameter#####DDL####Estimate#######Error####Chi-Square####Pr#>#Khi-2

    #Intercept#######1######4.8833######0.1330#####1349.0611########<.0001
    #Z_job_A#########1#####-1.8792######0.2095#######80.4694########<.0001
    #Z_job_B#########1#####-1.2202######0.2250#######29.4070########<.0001
    #Z_job_C#########1#####-0.4648######0.2155########4.6541########0.0310
    #Z_age_A#########1#####-0.6283######0.1644#######14.6100########0.0001
    #Z_age_B#########1#####-0.4435######0.1441########9.4793########0.0021
    #Z_age_C#########0###########0###########.#########.#############.
    #Z_PRO_A#########1######0.9509######0.1185#######64.4089########<.0001
    #Z_PRO_B#########0###########0###########.#########.#############.
    #Z_RETRAITE######0###########0###########.#########.#############.

    Au final je me retrouve avec 3 modalités à 0 car combinaison linéaire, ce qui a du sens car j'utilise 3 variables. Je n'ai pas le droit d'utiliser ce genre de modèle car il n'entre pas dans la méthodologie que je dois suivre.

    Finalement sur mon premier essai en regardant comment sont estimés mes modalités variables par variables il peut y avoir des incohérences avec ce qu'on observe en regardant les variables séparément cela vient uniquement à cause de la modalité retraité qui "capte" tout le poids de son estimation dans la 1er variable.

    J'ai quand meme pu avancé sur mes premieres questions :
    - Pourquoi le DL de ma modalité Y_3_PRO et Y_2_AGE est à 0 pour le retraité comme si cette modalité était celle de référence. A cause de la combinaison linéaire avec les autre modalités (ici celle de la variable Job)


    - Pourquoi ma proc logistic apres avoir estimée ma modalité retraité sur la variable Y_2_job, la met à 0 sur les 2 autres (mon intuition c'est que toute l'information a deja été mise pour cette population sur la premiere variable mais ce qui me pose probleme c est que pour les 2 dernieres variable la modalité "retraité" est estimé avec le meme estimateur 0 que ma modalité de référence. Par ailleurs je n'ai donc pas de odd ratio sur ces modalités)
    Mon intuition semble confirmé après d'autres tests

    - Quel peut etre l'impact de conserver ce modèle sur la performance de mon score?
    La performance initial de ma fonction de classement ne devrait pas etre dégradée après pour le suivi dans le temps je n'ai pas trop d idée.

    - Comment conserver ces 3 variables dans le modèle sans les croiser et en supprimant mon soucis observé sur la modalité "retraité". Utiliser les indicatrices comme tu l'as proposé



    Merci pour tes précisions.

  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 Fabien.
    Je n'ai aucune doc inattaquable sur l'emploi de bases équilibrées, juste mes petites habitudes car je trouve que les modèles sont souvent plus faciles à développer (les sélections automatiques de type Forward ou Stepwise sont plus efficaces) sur les bases équilibrées. Après, je ne suis pas forcément un ayatollah de l'équilibrage, et Stéphane Tufféry m'a dit un jour que de son expérience personnelle, les soucis survenaient quand la modalité la plus rare de la cible passait sous les 10%. A suivre.

    Je n'avais pas répondu sur ta question de l'efficacité du modèle. La multicolinéarité n'est pas du tout un facteur de perte de performance dans les régressions logistiques. Par contre, l'interprétation du modèle est parfois plus complexe. Dans ton cas, avec les coefficients forcés à 0, l'explication se fait encore assez bien, et il n'y a pas de degrés de liberté consommés pour ces coefficients, donc d'un point de vue robustesse, c'est bon.

    Tu peux donc, à mon avis, garder ton modèle initial s'il te paraît suffisamment racontable pour être vendu à tes interlocuteurs métier.

    Bon courage.
    Olivier
    Bon courage.
    Olivier

  7. #7
    Membre du Club
    Inscrit en
    Mars 2012
    Messages
    46
    Détails du profil
    Informations forums :
    Inscription : Mars 2012
    Messages : 46
    Points : 49
    Points
    49
    Par défaut
    Citation Envoyé par olivier.decourt Voir le message
    Par contre, l'interprétation des odds-ratio est un peu différente : au lieu de comparer une valeur A à une valeur de référence, l'OR d'une indicatrice de la valeur A compare cette valeur à toutes les autres (A vs non-A).

    Bon courage.
    Olivier
    Bonjour,

    mais l'OR s'interprète "toutes choses égales par ailleurs", or ce n'est ici pas le cas car non-A fait forcément varier une autre modalité de la variable... donc on en revient à devoir fixer une référence.

    Je le perçois comme ça.

    Niaboc

  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
    Bonjour.
    L'inclusion d'une variable qualitative sous forme d'indicatrices s'accompagne forcément de multicolinéarité. Comme tu le dis, l'analyse "toutes choses égales par ailleurs" en prend forcément un coup. Ce n'est donc pas une approche exacte.
    Cependant, si la variable quali d'origine a de nombreuses modalités et que seules quelques indicatrices sont incluses, la multicolinéarité doit rester faible et, de ce fait, acceptable.
    Tu as raison, statistiquement, c'est une approximation coupable.

    Mais qui a vraiment des variables totalement décorrélées dans ses modèles ?

    Bonne soirée.
    Olivier
    Bon courage.
    Olivier

Discussions similaires

  1. Proc logistic : noprint avec un ods output
    Par alers dans le forum SAS STAT
    Réponses: 2
    Dernier message: 28/02/2013, 09h22
  2. Réponses: 3
    Dernier message: 28/07/2009, 13h09
  3. cmle (conditional maximum likelihood estimation)
    Par lekaissa dans le forum MATLAB
    Réponses: 2
    Dernier message: 22/06/2009, 20h04
  4. Estimation de Temps d'un requete, lancement asynchrone
    Par maveric dans le forum MS SQL Server
    Réponses: 3
    Dernier message: 22/10/2003, 23h13

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