Comment quantifier l'importance relative des variables dans la régression logistique en termes de p?

11

Supposons qu'un modèle de régression logistique soit utilisé pour prédire si un acheteur en ligne achètera un produit (résultat: achat), après avoir cliqué sur un ensemble d'annonces en ligne (prédicteurs: Ad1, Ad2 et Ad3).

Le résultat est une variable binaire: 1 (achetée) ou 0 (non purgée). Les prédicteurs sont également des variables binaires: 1 (cliqué) ou 0 (non cliqué). Donc, toutes les variables sont sur la même échelle.

Si les coefficients résultants de Ad1, Ad2 et Ad3 sont 0,1, 0,2 et 03, nous pouvons conclure que Ad3 est plus important que Ad2 et Ad2 est plus important que Ad1. De plus, comme toutes les variables sont sur la même échelle, les coefficients normalisés et non normalisés devraient être les mêmes, et nous pouvons en outre conclure que Ad2 est deux fois plus important que Ad1 en termes d'influence sur le niveau logit (log-odds).

Mais dans la pratique, nous nous soucions davantage de la façon de comparer et d'interpréter l'importance relative des variables en termes de niveau p (probabilité d'achat), et non du logit (log-odds).

La question est donc la suivante: existe-t-il une approche pour quantifier l'importance relative de ces variables en termes de p?

xyhzc
la source
J'ai trouvé cet article utile. Il décrit bien six méthodes différentes qui peuvent être utilisées pour définir l'importance des prédicteurs à partir d'un modèle de régression logistique ainsi que les avantages et les inconvénients associés à chaque méthode.
gchaks

Réponses:

5

Pour les modèles linéaires, vous pouvez utiliser la valeur absolue des statistiques t pour chaque paramètre de modèle.

En outre, vous pouvez utiliser quelque chose comme une forêt aléatoire et obtenir une très belle liste d'importations de fonctionnalités.

Si vous utilisez R check out ( http://caret.r-forge.r-project.org/varimp.html ), si vous utilisez python check out ( http://scikit-learn.org/stable/auto_examples /ensemble/plot_forest_importances.html#example-ensemble-plot-forest-importances-py )

ÉDITER:

Logit n'ayant aucun moyen direct de le faire, vous pouvez utiliser une courbe ROC pour chaque prédicteur.

Pour la classification, l'analyse de la courbe ROC est effectuée sur chaque prédicteur. Pour deux problèmes de classe, une série de seuils est appliquée aux données du prédicteur pour prédire la classe. La sensibilité et la spécificité sont calculées pour chaque seuil et la courbe ROC est calculée. La règle trapézoïdale est utilisée pour calculer l'aire sous la courbe ROC. Cette zone est utilisée comme mesure d'importance variable

Un exemple de la façon dont cela fonctionne dans R est:

library(caret)
mydata <- data.frame(y = c(1,0,0,0,1,1),
                 x1 = c(1,1,0,1,0,0),
                 x2 = c(1,1,1,0,0,1),
                 x3 = c(1,0,1,1,0,0))

fit <- glm(y~x1+x2+x3,data=mydata,family=binomial())
summary(fit)

varImp(fit, scale = FALSE)
mike1886
la source
1
Merci pour votre réponse! oui c'est facile pour le modèle linéaire et la forêt aléatoire, avez-vous une idée de comment le faire dans le cas de la régression logistique? Merci beaucoup!
xyhzc
Voir modification ci-dessus.
mike1886
Il semble que la question des comparaisons au niveau des ratios soit toujours sans réponse. Même si nous savons que l'ASC est, disons, .6 en utilisant seulement x1 et .9 en utilisant seulement x2, nous pouvons difficilement dire que l'importance de x2 est donc 50% plus grande. Je ne pense pas non plus que ce soit (1 - 10% / 40%) = 75% de plus. Nous ne pouvons pas non plus faire quelque chose d'analogue en utilisant simplement la sensibilité ou la spécificité. J'ai également des doutes quant à l'applicabilité de la statistique Wald ici. Les explications des coefficients standardisés pourraient être les plus utiles (voir le livre en ligne de Scott Menard).
rolando2
Merci rolando2! Les variables de cette question sont toutes des mesures dans les mêmes métriques, donc les coefficients normalisés et non normalisés devraient être les mêmes. De plus, bien que nous puissions utiliser les coefficients standardisés pour comparer les variables au niveau logit (log-odds), comment pouvons-nous interpréter les variables sur P (la probabilité d'achat des acheteurs en ligne dans ce cas)? Merci beaucoup!
xyhzc
1
Je ne le vois pas répondre à la question.
HelloWorld
4

Puisque vous demandiez spécifiquement une interprétation sur l'échelle de probabilité: Dans une régression logistique, la probabilité estimée de succès est donnée par

π^(x)=exp(β0+βx)1+exp(β0+βx)

Avec l'ordonnée à l'origine, un vecteur de coefficient et vos valeurs observées. Donc, si vos coefficients sont 0,1, 0,2 et 0,3 et en supposant qu'aucune interception (probablement incorrecte, mais pour plus de facilité), la probabilité d'un achat pour une personne qui a cliqué sur l'annonce 1 uniquement est:β0βx

exp(0.1)1+exp(0.1)=0.52

Une personne qui a cliqué sur l'annonce 3 uniquement:

exp(0.3)1+exp(0.3)=0.57

Cependant, si la personne a cliqué sur l'annonce 1 ou l'annonce 3 mais aussi sur l'annonce 2 (s'il s'agit d'un scénario plasubile), les probabilités deviennent

exp(0.1+0.2)1+exp(0.1+0.2)=0.57

exp(0.3+0.2)1+exp(0.3+0.2)=0.62

Dans ce cas, le changement de probabilité est de 0,05, mais généralement ce changement n'est pas le même pour différentes combinaisons de niveaux. (Vous pouvez le voir facilement si vous utilisez par exemple la même approche que ci-dessus mais avec des coefficients 0,1, 1,5, 0,3.) Ainsi, l'importance d'une variable sur l'échelle de probabilité dépend des niveaux observés des autres variables. Cela peut rendre difficile (impossible?) L'élaboration d'une mesure d'importance variable absolue et quantitative sur l'échelle de probabilité.

Matt.135
la source
Merci pour votre explication! Savez-vous alors qu'il existe une méthode indirecte pour quantifier l'importance relative des prédicteurs? mike1886 a mentionné "l'analyse de la courbe ROC" dans sa réponse, mais il a quelques problèmes comme mentionné par rolando2. Merci beaucoup!
xyhzc