Comprendre les caractéristiques les plus importantes pour la régression logistique

17

J'ai construit un classificateur de régression logistique qui est très précis sur mes données. Maintenant, je veux mieux comprendre pourquoi cela fonctionne si bien. Plus précisément, j'aimerais classer les fonctionnalités qui apportent la plus grande contribution (quelles fonctionnalités sont les plus importantes) et, idéalement, quantifier dans quelle mesure chaque fonctionnalité contribue à la précision du modèle global (ou quelque chose dans ce sens). Comment puis-je faire cela?

Ma première pensée a été de les classer en fonction de leur coefficient, mais je soupçonne que cela ne peut pas être correct. Si j'ai deux caractéristiques qui sont également utiles, mais que la propagation de la première est dix fois plus grande que la seconde, je m'attendrais à ce que la première reçoive un coefficient inférieur à la seconde. Existe-t-il un moyen plus raisonnable d'évaluer l'importance des fonctionnalités?

Notez que je n'essaie pas de comprendre dans quelle mesure un petit changement dans la fonctionnalité affecte la probabilité du résultat. J'essaie plutôt de comprendre la valeur de chaque fonctionnalité, en termes de précision du classificateur. De plus, mon objectif n'est pas tant d'effectuer la sélection des fonctionnalités ou de construire un modèle avec moins de fonctionnalités, mais d'essayer de fournir une certaine "explicabilité" au modèle appris, de sorte que le classifieur n'est pas seulement une boîte noire opaque.

DW
la source
Je dirais que les forêts aléatoires sont également une bonne technique ici. Vous pouvez examiner les divisions supérieures sur la forêt pour avoir l'intuition sur les caractéristiques qui contribuent le plus à la prédiction.

Réponses:

14

La première chose à noter est que vous n'utilisez pas la régression logistique comme classificateur. Le fait que soit binaire n'a absolument rien à voir avec l'utilisation de cette méthode du maximum de vraisemblance pour classer réellement les observations. Une fois que vous avez dépassé cela, concentrez-vous sur la mesure d'information de l'étalon-or qui est un sous-produit de la probabilité maximale: le rapport de vraisemblance χ 2 statistique. Vous pouvez produire un graphique montrant la contribution partielle de chaque variable explicative en termes de partie χ 2Yχ2χ2statistique. Ces statistiques ont un maximum d'informations / puissance. Vous pouvez utiliser le bootstrap pour montrer à quel point il est difficile de sélectionner les «gagnants» et les «perdants» en obtenant des intervalles de confiance sur les rangs des informations prédictives fournies par chaque prédicteur une fois les autres prédicteurs pris en compte. Un exemple est à la section 5.4 de mes notes de cours - cliquez sur Documents puis sur Documents à nouveau.

Si vous avez des fonctionnalités hautement corrélées, vous pouvez faire un "test de bloc" pour combiner leur influence. Un graphique qui le fait est donné à la figure 15.11 où sizereprésente la contribution combinée de 4 prédicteurs distincts.

Frank Harrell
la source
6

La réponse courte est qu'il n'y a pas une seule et "bonne" façon de répondre à cette question.

Pour la meilleure revue des problèmes, voir les articles d'Ulrike Groemping, par exemple, Estimators of Relative Importance in Linear Regression Based on Variance Decomposition . Les options qu'elle aborde vont de l'heuristique simple aux solutions sophistiquées, gourmandes en CPU et multivariées.

http://prof.beuth-hochschule.de/fileadmin/prof/groemp/downloads/amstat07mayp139.pdf

Groemping propose sa propre approche dans un package R appelé RELAIMPO qui mérite également d'être lu.

https://cran.r-project.org/web/packages/relaimpo/relaimpo.pdf

Une heuristique rapide et sale que j'ai utilisée consiste à résumer les chi-carrés (valeurs F, statistiques t) associés à chaque paramètre, puis à recentrer les valeurs individuelles avec cette somme. Le résultat serait une mesure d'importance relative classable.

Cela dit, je n'ai jamais été fan des «coefficients bêta normalisés» bien qu'ils soient fréquemment recommandés par la profession et largement utilisés. Voici le problème avec eux: la standardisation est univariée et externe à la solution du modèle. En d'autres termes, cette approche ne reflète pas la nature conditionnelle des résultats du modèle.

Mike Hunter
la source
Merci pour la réponse et les liens! Pouvez-vous développer ou m'aider à comprendre ce que signifie «externe à la solution du modèle» et «la nature conditionnelle des résultats du modèle»? (Je ne suis pas un expert en statistiques, hélas.)
DW
1
Pas de soucis. La notion de la façon dont les modèles «contrôlent» ou conditionnent les autres facteurs d'un modèle peut être l'une de ces choses sur lesquelles de nombreux statisticiens peuvent réellement s'entendre. C'est également un sujet qui a fait l'objet de nombreux commentaires sur ce site. Voici un lien vers un de ces threads: stats.stackexchange.com/questions/17336/… L'un des meilleurs commentaires a été par @whuber qui a dit: «Vous pouvez penser à« contrôler »comme« comptabilité (dans le sens le moins carré) ) pour la contribution / influence / effet / association d'une variable sur toutes les autres variables. »
Mike Hunter
Merci! Je connais la notion de «contrôler» un certain facteur. Comment cela se rapporte-t-il ou aide-t-il à comprendre le sens de «externe à la solution du modèle» ou «la nature conditionnelle des résultats du modèle»?
DW
La normalisation des prédicteurs pour créer une "bêta normalisée" se fait généralement avant la construction d'un modèle, n'est-ce pas? Par conséquent, cette transformation est "externe" à la solution du modèle. Jusqu'à présent avec moi?
Mike Hunter
D'ACCORD. Je peux comprendre ce que vous entendez par «externe» maintenant - merci pour l'explication. Pouvez-vous expliquer pourquoi il s'agit d'un problème et que signifie "la nature conditionnelle ..."? (Peut-être que ces deux questions sont la même question avec la même réponse ...) Désolé de vous poivrer avec des questions! J'ai hâte de comprendre ce que vous avez écrit.
DW
3

Une manière assez robuste de le faire serait d'essayer d'ajuster le modèle N fois où N est le nombre d'entités. À chaque fois, utilisez N-1 des fonctionnalités et laissez-en une. Ensuite, vous pouvez utiliser votre métrique de validation préférée pour mesurer dans quelle mesure l'inclusion ou l'exclusion de chaque fonctionnalité affecte les performances du modèle. Selon le nombre de fonctionnalités dont vous disposez, cela peut être coûteux en calcul.

Daniel Johnson
la source
4
Cela ne gère pas bien les fonctionnalités corrélées. Il est facile de concevoir une situation dans laquelle deux fonctionnalités sont fortement corrélées, de sorte que la suppression de l'une ou l'autre d'entre elles a un impact minimal sur la puissance prédictive, mais la suppression des deux a un impact sévère. Essentiellement, celui dans lequel les deux prédicteurs transportent des informations presque identiques, mais importantes.
Matthew Drury
2
Je suis d'accord. C'est également un danger lors de l'examen des coefficients.
Daniel Johnson
1
Plutôt vrai. Plutôt vrai.
Matthew Drury
2

|βj^||βj^|σ^jxj. Un problème avec cela est qu'il tombe en panne lorsque vous n'avez plus affaire à des prédicteurs numériques.

En ce qui concerne votre dernier point, il est bien sûr possible qu'une variable contribue beaucoup aux cotes de journal estimées sans affecter réellement les "vraies" cotes de journal, mais je ne pense pas que cela doive être trop préoccupant si nous avoir confiance dans la procédure qui a produit les estimations.

dsaxton
la source
0

Vous avez raison de ne pas utiliser les coefficients comme mesure de pertinence, mais vous le pouvez absolument si vous les divisez par leur erreur standard! Si vous avez estimé le modèle avec R, alors c'est déjà fait pour vous! Vous pouvez même supprimer les fonctionnalités les moins importantes du modèle et voir comment cela fonctionne.

Une approche plus heuristique pour étudier comment différents changements dans les variables modifient le résultat fait exactement cela: essayez différentes entrées et étudiez leurs probabilités estimées. Cependant, comme votre modèle est assez simple, je dirais que

David
la source