Je suis un ingénieur logiciel travaillant sur l'apprentissage automatique. D'après ma compréhension, la régression linéaire (comme OLS) et la classification linéaire (comme la régression logistique et SVM) font une prédiction basée sur un produit interne entre les coefficients formés et les variables caractéristiques :
Ma question est: après que le modèle a été formé (c'est-à-dire après que les coefficients ont été calculés), est-il vrai que les coefficients seront plus grands pour les variables caractéristiques qui sont plus importantes pour que le modèle puisse prédire avec plus de précision?
En d'autres termes, je demande si les amplitudes relatives des coefficients peuvent être utilisées pour la sélection des caractéristiques en ordonnant simplement les variables par valeur de coefficient, puis en sélectionnant les caractéristiques avec les coefficients les plus élevés? Si cette approche est valide, pourquoi n'est-elle pas mentionnée pour la sélection des fonctionnalités (avec les méthodes d'encapsulation et de filtrage, etc.).
La raison pour laquelle je pose cette question est que je suis tombé sur une discussion sur la régularisation L1 vs L2 . Il y a un texte de présentation qui dit:
La sélection des fonctionnalités intégrées est fréquemment mentionnée comme une propriété utile de la norme L1, ce que la norme L2 ne fait pas. C'est en fait le résultat de la norme L1, qui tend à produire des coefficients clairsemés (expliqués ci-dessous). Supposons que le modèle ait 100 coefficients mais seulement 10 d'entre eux ont des coefficients non nuls, cela signifie effectivement que "les 90 autres prédicteurs sont inutiles pour prédire les valeurs cibles".
En lisant entre les lignes, je suppose que si un coefficient est proche de 0, alors la variable caractéristique avec ce coefficient doit avoir peu de pouvoir prédictif.
EDIT : J'applique également l'échelle z à mes variables numériques.
la source
Réponses:
Pas du tout. L'amplitude des coefficients dépend directement des échelles sélectionnées pour les variables, ce qui est une décision de modélisation quelque peu arbitraire.
Pour voir cela, considérons un modèle de régression linéaire prédisant la largeur des pétales d'un iris (en centimètres) compte tenu de sa longueur (en centimètres):
Notre modèle atteint une valeur R ^ 2 ajustée de 0,9266 et attribue une valeur de coefficient 0,415755 à la variable Longueur du pétale.
Cependant, le choix de définir Petal.Length en centimètres était assez arbitraire, et nous aurions pu définir la variable en mètres:
Bien sûr, cela n'affecte pas vraiment le modèle ajusté - nous avons simplement attribué un coefficient 100 fois plus élevé à Petal.Length.Meters (41.57554) qu'à Petal.Length (0.415755). Toutes les autres propriétés du modèle (R ^ 2 ajusté, statistiques t, valeurs p, etc.) sont identiques.
Généralement, lors de l'ajustement de modèles linéaires régularisés, on normalisera d'abord les variables (par exemple, pour avoir une moyenne de 0 et une variance unitaire) afin d'éviter de privilégier certaines variables par rapport à d'autres en fonction des échelles sélectionnées.
En supposant des données normalisées
Même si vous aviez normalisé toutes les variables, les variables avec des coefficients plus élevés peuvent ne pas être aussi utiles dans les prédictions car les variables indépendantes sont rarement définies (ont une faible variance). Par exemple, considérons un ensemble de données avec la variable dépendante Z et les variables indépendantes X et Y prenant des valeurs binaires
Par construction, le coefficient pour Y est environ deux fois plus grand que le coefficient pour X lorsque les deux sont utilisés pour prédire Z par régression linéaire:
Pourtant, X explique plus la variance de Z que Y (le modèle de régression linéaire prédisant Z avec X a une valeur R ^ 2 0,2065, tandis que le modèle de régression linéaire prédisant Z avec Y a une valeur R ^ 2 0,0511):
contre:
Le cas de la multi-colinéarité
Un troisième cas où de grandes valeurs de coefficient peuvent être trompeuses serait dans le cas d'une multi-colinéarité significative entre les variables. Par exemple, considérons un ensemble de données où X et Y sont fortement corrélés mais W n'est pas fortement corrélé aux deux autres; nous essayons de prédire Z:
Ces variables ont à peu près la même moyenne (0) et la variance (~ 1), et la régression linéaire attribue des valeurs de coefficient beaucoup plus élevées (en valeur absolue) à X (environ 15) et Y (environ -16) qu'à W ( environ 2):
Pourtant, parmi les trois variables du modèle W est la plus importante: si vous supprimez W du modèle complet, le R ^ 2 passe de 0,833 à 0,166, tandis que si vous supprimez X ou Y le R ^ 2 est pratiquement inchangé.
la source
L '«importance des fonctionnalités» est un concept très glissant même lorsque tous les prédicteurs ont été ajustés à une échelle commune (ce qui en soi est un problème non trivial dans de nombreuses applications pratiques impliquant des variables catégorielles ou des distributions asymétriques). Donc, si vous évitez les problèmes de mise à l'échelle indiqués dans la réponse de @josliber ou le problème de faible variance des prédicteurs soulevé par @dsaxton, vous avez toujours des problèmes supplémentaires.
Par exemple, une mesure plus utile de l'importance des caractéristiques peut être le rapport de son coefficient à l'erreur estimée de son coefficient. Un coefficient élevé avec une grande erreur estimée ne serait pas nécessairement utile dans les prévisions. Ainsi, la magnitude des coefficients seule, même dans la situation pré-mise à l'échelle, n'est pas un bon guide de «l'importance».
Néanmoins, un prédicteur peut être important même si le rapport amplitude / erreur de son coefficient est faible (c'est-à-dire qu'il n'est pas "statistiquement significatif"). Les modèles linéaires permettent de prendre en compte plusieurs variables de prédicteur simultanément, de sorte que l'inclusion d'un prédicteur «non significatif» dans un modèle peut améliorer les performances globales fournies par la collection combinée de prédicteurs.
De plus, les tentatives de sélection de variables prédictives "importantes" ont tendance à dépendre fortement de l'échantillon de données particulier et ne s'étendent souvent pas bien à d'autres échantillons, en particulier si les variables sont corrélées. Vous pouvez le constater par vous-même en répétant la sélection des fonctionnalités sur plusieurs échantillons d'amorçage du même ensemble de données. Frank Harrell, dans cette réponse, montre comment utiliser son
rms
package dans R pour l'importance des fonctionnalités de classement, et note dans cette réponse comment utiliser le bootstrap pour obtenir des intervalles de confiance pour les classements. Le bootstrapping peut servir de mise en garde à ceux qui accordent trop d'importance à «l'importance des fonctionnalités».Cette question d'il y a près de 3 ans, soulignée par @amoeba, va également dans le détail des difficultés avec l'importance des fonctionnalités dans les modèles de régression multiple.
la source
Juste pour ajouter à la réponse précédente, le coefficient lui-même ne parvient pas non plus à saisir la variabilité d'un prédicteur, ce qui a un effet important sur son utilité pour faire des prédictions. Considérez le modèle simple
la source