|
Publicité ' | |||||||||||||||||||||||
|
|
#1 |
|
Invité de passage
![]() Inscription : février 2009 Messages : 14 ![]() |
Bonjour,
pour faire mes "scores" (ma cible est tjs du type 1/0), ma facon faire est la suivante : - création de la base de données - discrétisation des variables "numériques" (utilisation de SEM avec "optimal begin with relationship with target") - Utilisation de la proc transreg pour chaques variables ( les quantis discrétisés et les qualis) de ma base de données - sélection des meilleurs variables en valeur absolue grace au v-de cramer - modélisation avec la proc logistique Je me pose plusieurs questions : - Globalement est-ce une bonne façon de faire ? - La proc transreg est très longue à s'éxécuter (je précise que je travaille sur un serveur), lorsque que je suis en phase de généralisation, il peut m'arriver d'avoir 10-15 variables dans mon modèle et 10 millions d'individus à scorer, comment optimiser le temps de traitement ? (une autre procédure peut être) - est-ce que pour la proc transreg, il faut mettre dans le parametre "id" ma variable cible? - Imaginons la variable binaire "Age 25-30 ans" (avec la cible 1/0) - Lorsque je modélise, j'obtiens : coef Age 25-30 ans 0 vs 1 -1.23 : cela veut bien dire si on a 25-30 on a une influence positive sur la cible (1) en d'autre terme on augmente la probabilité ? - Comment modéliser pour toutes mes variables 1 vs 0 ? - Pour ma cible, j'utilise l'option ref = 0, est-ce le bon sens de modélisation si on veut mettre avant la cible =1 ? - Le v-cramer mesure la relation avec la variable cible, si j'obtiens par exemple 0.60 en valeur, est-ce que cela veut bien dire que le fait d'avoir "Age 25-30 ans à oui" à une influence positive sur la cible (1) ? - Si je rajoute des variables dans mon modèle qui ne sont pas significatives, qu'est-ce que cela peut provoquer dans mon modèle ? je vous remercie par avance , alexandre. |
|
|
00
|
|
|
#2 | |||
|
Membre Expert
![]() ![]() Brice BeareParis Inscription : janvier 2011 Messages : 956 ![]() |
Salut Alex,
Citation:
Citation:
Citation:
** ref='1 ou ref='0' dépend de la modalité de la variable réponse que tu veux modéliser ** Tu peux rajouter selection=backward (parmis tant d'autres), cette méthode te gardera que les variables qui sont signicatives. Ne perds pas de vue que ton but est de trouver une combinaison des variables qui expliquent au mieux l'effet observé Code :
model y(ref='1')=a b /expb selection =backward Un exemple d'application si ça t'intéresse : ici Bon courage |
|||
|
|
00
|
|
|
#3 | ||
|
Expert Confirmé
![]() ![]() Olivier DecourtFormateur en informatique Inscription : avril 2008 Messages : 1 467 ![]() |
Citation:
Ils mesurent le % de liaison parfaite (V=1 correspondant à une définition parfaite et V=0 à deux variables totalement indépendantes amenant une répartition homogène des individus). Citation:
Et comme critère d'arrêt, je le laisse avancer à sa guise et je regarde après coup les critères de Schwarz et d'Akaike pour décider au final combien garder de variables. Et dans mes préconisations personnelles : j'équilibre la table (50% de CIBLE=1 autant que possible, sans sacrifier la volumétrie totale : la table servant à construire le modèle doit contenir au moins quelques centaines d'observations, voire quelques milliers) avant de bosser. Mes modèles sont généralement un peu plus performants que sans équilibrer. |
||
|
|
00
|
|
|
#4 | ||
|
Expert Confirmé
![]() ![]() Olivier DecourtFormateur en informatique Inscription : avril 2008 Messages : 1 467 ![]() |
Citation:
Citation:
Ce n'est pas forcément une excellente tactique, car le V mesure l'intensité de la relation entre UNE variable et ta cible, sans tenir compte des autres variables. Alors que le modèle va chercher (dans une sélection FORWARD ou BACKWARD ou STEPWISE) une variable qui AJOUTE de l'information pertinente (discriminante) par rapport à celles qui sont déjà présentes dans le modèle. C'est d'ailleurs tout l'intérêt de faire un modèle : prendre en compte des relations impliquant plusieurs variables, plutôt que de rester sur des stats univariées. |
||
|
|
00
|
|
|
#5 |
|
Invité de passage
![]() Inscription : février 2009 Messages : 14 ![]() |
merci pour vos réponses !
très bien pour le v de cramer. En ce qui concerne la proc transreg, lorsque que je crée mon modèle je suis sur un echantillon 50/50 avec quelques milliers d'observations et plusieurs centaines de variables. La procèdure est longue à s'executer (malgré que je travaille sur un serveur). Lorsque que je suis en phase d'industrialisation j'ai quelques variables et je peux avoir plusieurs millions d'individus à scorer, la proc transreg risque d'être très longue a s'executer. Est-ce qu'il y a un moyen d'optimiser ce temps de traitement ? Autre question : comment je peux interpreter un résultat de la regression logistique du type : coef var1 0 vs 1 -1.23 merci. |
|
|
00
|
|
|
#6 |
|
Invité de passage
![]() Inscription : février 2009 Messages : 14 ![]() |
oui, tu as raison je fais une première sélection de mes variables par le biais du v de cramer pour réduire mon nombre de variables (sinon je lance ma regressions avec trop de variables > 1000) et ensuite dans ma régression logistique j'utilise les parametres usuels (stepwise,backward, sle,...)
parfois, j'ai des contraintes métiers qui font que je dois mettre certaines variables même si elles ne sont pas significative. (donc je n'utilise pas de paramètres pour sélectionner mes variables) si je comprends, tu me conseilles de laisser toutes mes variables et de sélectionner les meilleurs grâce aux parametres de la logistique ? (step,back,sle,..) ? |
|
|
00
|
|
|
#7 |
|
Invité de passage
![]() Inscription : février 2009 Messages : 14 ![]() |
je précise aussi une fois que j'ai sélectionné mes variables grace au v de cramer
je re-lance un v de cramer sur ma base réduite pour vérifié les variables liées entre elles (var1 var2 var n... * var1 var2 var n...) lorsque que je trouve des liaisons "fortes" entre 2 variable je garde celles qui est la plus liée à la variable cible |
|
|
00
|
Copyright © 2000-2012 - www.developpez.com