Estimations des paramètres dans la régression logistique<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />J'ai simulé trois ensembles de données de 20 millions de points chacun pour tester LR avec des variables de réponse binaires avec des événements très rares :
1) Deux effets continus : Beta0=12, beta1=1 et Beta2=1. X1 est Normal (-0.8, .25) et X2 est -ABS[Normal (0,5)]. (Chacune des deux variables augmente la probabilité de l'événement, en fonction de la valeur de la variable.) Dans ce cas, il y a environ 711 000 événements positifs dans 20 millions d'échantillons. Lors de l'exécution de LR, j'obtiens d'assez bonnes estimations des trois bêtas : b 0 = 12.003, b 1 =1.005, b 2 =0,99996. RSquare(U)=0,623, AICc = 2 314 760 et BIC=2 314 804. Le ROC ASC = 0,97835.
2) Le deuxième ensemble de données a un effet continu et un effet catégoriel. Pour ces données, je remplace la deuxième variable continue dans le premier ensemble de données par une variable binaire se produisant avec une probabilité de 0,05 et un Beta2 = -2. Ces données ne contiennent que 394 événements sur un total de 20 millions d'échantillons. Lors de l'exécution de LR, les estimations sont : b 0 = 11,0988, b 1 =1.184, b 2 =-1.01. RSquare(U)=0,0283, AICc = 9 068 et BIC=9 112. Le ROC avec AUC = 0,68. Ainsi, alors que les estimations Beta0 et Beta1 sont raisonnables, l'estimation de Beta2 pour la variable nominale semble être la moitié de la valeur réelle .
3) Pour générer le troisième ensemble de données, j'utilise les deux effets en tant que variables binaires générées de manière binomiale. Je remplace une variable continue dans le premier ensemble de données par une variable binaire se produisant avec une probabilité de 0,05 et un Beta2 = -2. Je remplace la deuxième variable continue par une autre variable aléatoire générée de manière binomiale avec une probabilité de 0,1 et Beta = -1. Ces données ne contiennent que 165 événements sur un total de 20 millions d'échantillons. Lors de l'exécution de LR, les valeurs estimées des paramètres sont : b 0 = 10,582, b 1 = - 1,14, b 2 = - 0,512. RSquare(U)=0,0384, AICc = 4 038 et BIC=4 082. Le ROC ASC = 0,6756. Ainsi, bien que l'estimation de Beta0 soit raisonnable, les estimations de Beta1 et Beta2 pour les deux variables nominales semblent être la moitié de la valeur réelle
Qu'est-ce que j'oublie ici? Pourquoi les estimations des coefficients des variables catégorielles devraient-elles être la moitié de leurs vraies valeurs ?
Mes prochains tests vont consister à sous-échantillonner les non-événements, puis à appliquer la correction de sous-échantillonnage au Beta0. Mais, j'aimerais d'abord comprendre les estimations générées par LR dans JMP. Toute suggestion ou clarification serait grandement appréciée.
Re : Estimations des paramètres dans la régression logistiqueLa façon dont il code le facteur catégoriel est le problème, pas le type de modèle. Non pas qu'il y ait -1 dans la liste.
Essayez le codage 1/0
ranjan@mitre.org Apr 14, 2014 10:44 AM
I coded the nominal variables as 0/1 as you recommend and then did not use them, and applied the appropriate betas in the P calculation.
Je ne sais pas ce que cela veut dire...
Vous pouvez toujours essayer de contacter le support technique, si vous n'obtenez pas de réponse ici. Ils ont des gens qui connaissent mieux JMP.
Re : Estimations des paramètres dans la régression logistiqueReeza
Le lien que vous avez envoyé s'applique au modèle linéaire. Je travaille avec la régression logistique.
Re : Estimations des paramètres dans la régression logistiqueJ'ai codé les variables nominales comme 0/1 comme vous le recommandez, puis je ne les ai pas utilisées et j'ai appliqué les bêtas appropriés dans le calcul de P. Maintenant, les estimations des trois bêtas sont : 10,52, 0,9848 et 0,6534. Ainsi, les Beta1 et Beta2 qui correspondent aux variables nominales semblent toujours être environ la moitié de la vraie valeur, mais le signe est maintenant opposé à ce qu'il devrait être. Le vrai Beta1 de -2 est estimé à 0,9848 et le vrai Beta2 de -1 est estimé à 0,6534. Je joins une version courte du fichier si cela peut aider. (si vous avez le temps d'exécuter le LR dans JMP, le fichier devra être considérablement étendu pour obtenir suffisamment d'événements. J'utilise un fichier de 20M de lignes.
Merci
Re : Estimations des paramètres dans la régression logistiquehttp://www.jmp.com/support/help/The_Factor_Models.shtml#65535
Codez-le comme 0/1 et n'incluez pas l'effet nominal pour voir si vous obtenez les résultats souhaités.
Consultez le lien ci-dessus pour savoir comment JMP classe les variables nominales.
Re : Estimations des paramètres dans la régression logistiqueJe code la variable nominale comme 0 et la valeur Beta, puis j'utilise ces valeurs (ce qu'elles sont à chaque entrée) dans le calcul de P (événement) par l'expression logistique (1/(1+exp(beta0+Beta1+Beta2 ))). J'ai supposé que l'entrée dans la colonne des effets sera utilisée comme une simple "étiquette" lorsque cette colonne est désignée comme effet nominal. Suggérez-vous que la valeur entrée dans la colonne est utilisée d'une manière ou d'une autre, si 0/1 et 1/2 font une différence ?
Re : Estimations des paramètres dans la régression logistiquePas aussi familier avec JMP, mais voici quelques raisons pour lesquelles cela se produit dans SAS
1. Vérifiez comment vous avez codé votre variable binaire (0/1) est différent de 1/2
2. Si vous avez utilisé une sorte de catégories automatiques, vérifiez comment elles sont paramétrées, c'est-à-dire le codage d'effet ou le codage référentiel.