Pourquoi la multicolinéarité n'est-elle pas vérifiée dans les statistiques modernes / l'apprentissage automatique?

44

Dans les statistiques traditionnelles, lors de la construction d'un modèle, nous vérifions la multicolinéarité à l'aide de méthodes telles que les estimations du facteur d'inflation de la variance (VIF), mais en apprentissage automatique, nous utilisons plutôt la régularisation pour la sélection des caractéristiques et ne semblons pas vérifier si les caractéristiques sont corrélées. du tout. Pourquoi fait-on cela?

utilisateur
la source

Réponses:

51

Considérer la multicollinéarité est important dans une analyse de régression car, dans les extrema , cela dépend directement de savoir si vos coefficients sont identifiés de manière unique dans les données. Dans les cas moins graves, il peut encore jouer avec vos estimations de coefficient. de petits changements dans les données utilisées pour l'estimation peuvent entraîner des variations brutales des coefficients estimés. Celles-ci peuvent être problématiques d'un point de vue inférentiel: si deux variables sont fortement corrélées, les augmentations de l'une peuvent être compensées par des diminutions de l'autre, de sorte que l'effet combiné est de se nier. Avec plus de deux variables, l'effet peut être encore plus subtil, mais si les prédictions sont stables, cela suffit souvent pour les applications d'apprentissage automatique.

Considérez pourquoi nous régularisons dans un contexte de régression: nous devons empêcher le modèle d’être trop flexible. L'application de la quantité correcte de régularisation augmentera légèrement le biais pour une réduction plus importante de la variance. L'exemple classique consiste à ajouter des termes polynomiaux et des effets d'interaction à une régression: dans le cas dégénéré, l'équation de prédiction interpolera des points de données, mais sera probablement terrible en essayant de prédire les valeurs de points de données invisibles. La réduction de ces coefficients minimisera ou éliminera entièrement certains de ces coefficients et améliorera la généralisation.

Cependant, une forêt aléatoire pourrait avoir un paramètre de régularisation en fonction du nombre de variables échantillonnées à chaque fractionnement: vous obtiendrez de meilleurs fractionnements plus le nombre est grand mtry(plus d'options à choisir; certaines d'entre elles sont meilleures que d'autres), mais cela aussi rend chaque arbre plus fortement corrélé les uns aux autres, atténuant quelque peu l'effet de diversification de l'estimation de plusieurs arbres au départ. Ce dilemme oblige à trouver le bon équilibre, généralement obtenu par validation croisée. De manière importante, contrairement à une analyse de régression, aucune partie du modèle de forêt aléatoire n'est affectée par des variables hautement colinéaires: même si deux variables fournissent la même pureté de nœud enfant, vous pouvez simplement en choisir un sans réduire la qualité du résultat.

De même, pour quelque chose comme un SVM, vous pouvez inclure plus de prédicteurs que de fonctionnalités, car l'astuce du noyau vous permet d'opérer uniquement sur le produit interne de ces vecteurs de fonctionnalités. Avoir plus de fonctionnalités que d'observations poserait problème dans les régressions, mais le truc du noyau signifie que nous estimons uniquement un coefficient pour chaque exemple, alors que le paramètre de régularisation réduit la flexibilité de la solution - ce qui est décidément une bonne chose, car l'estimation de paramètres pourCNNles observations effectuées sans restriction produiront toujours un modèle parfait pour les données de test - et nous arrivons au cercle suivant, dans le scénario de régression crête / LASSO / réseau élastique où la flexibilité du modèle est contrainte comme moyen de contrôle par rapport à un modèle trop optimiste. Un examen des conditions KKT du problème SVM révèle que la solution SVM est unique, nous n’avons donc pas à nous inquiéter des problèmes d’identification apparus dans le cas de la régression.

Enfin, considérons l’ impact réel de la multicolinéarité. Cela ne change pas le pouvoir prédictif du modèle (du moins sur les données d'apprentissage), mais il faille avec nos estimations de coefficients. Dans la plupart des applications ML, nous ne nous soucions pas des coefficients eux-mêmes, juste la perte de nos prédictions de modèle, donc dans ce sens, vérifier VIF ne répond pas réellement à une question conséquente. (Mais si un léger changement dans les données provoque une énorme fluctuation des coefficients [un symptôme classique de la multicolinéarité], cela peut également changer les prévisions, auquel cas nous nous en soucions - mais tout cela [nous l'espérons!] Est caractérisé lorsque effectuez une validation croisée, qui fait quand même partie du processus de modélisation.) Une régression est plus facile à interpréter, mais cette interprétation peut ne pas être l'objectif le plus important pour certaines tâches.

Rétablir Monica
la source
1
Pour la modélisation par régression causale, en utilisant des techniques comme le score de propension ou l’ajustement de régression, la colinéarité peut être un problème même pour la prédiction, car l’objectif est généralement d’ajuster un modèle soit exclusivement sur un groupe contrôle / non exposé, puis d’estimer les résultats à l’aide de ce modèle sur un modèle expérimental. groupe, ou bien combinez les deux groupes mais utilisez une variable indicatrice pour mesurer l’effet, en contrôlant pour d’autres facteurs, de faire partie du groupe expérimental.
ely
1
Si la colinéarité crée des erreurs dans les coefficients, la régression étendue au groupe expérimental ne fonctionnera pas. De même, l'estimation du coefficient pour la variable indicatrice d'avoir reçu un traitement pourrait être rejetée si une seule régression était effectuée sur les deux sous-échantillons. Les techniques modernes d’apprentissage automatique ne sont généralement pas utilisées pour analyser ces types de problèmes de causalité. Personne n’a donc eu à faire face au besoin d’outils pour en tenir compte.
ely
@ely, dans votre premier exemple, la colinéarité (parmi les covariables, pas le traitement) ne pose pas de problème, car encore une fois, le but est de prédire les résultats contrefactuels et la colinéarité ne pose pas de problème de prédiction. De plus, les méthodes modernes de ML sont fréquemment utilisées dans l'inférence causale; la modélisation généralisée optimisée et les forêts aléatoires sont largement utilisées pour estimer les scores de propension, et TMLE utilise des méthodes ML pour imputer les résultats contrefactuels. Je dirais que l’un des atouts des méthodes de causalité est que la colinéarité ne leur pose généralement pas de problème.
Noah
@ Noah Habituellement, c'est l'interprétation du coefficient d'exposition qui compte (ainsi que l'interprétation des autres estimations des effets), et pas uniquement la précision brute de la prévision. Je me rends compte que mon commentaire n’a pas été clair, mais c’est la raison pour laquelle c’est un problème. Si la prévision globale est bonne, mais n'est pas motivée par une relation réelle avec le coefficient estimé d'exposition, il s'agit généralement d'un modèle indésirable pour l'inférence causale.
Ely
21

La raison en est que les objectifs des "statistiques traditionnelles" diffèrent de nombreuses techniques d'apprentissage automatique.

Par "statistiques traditionnelles", je suppose que vous entendez la régression et ses variantes. En régression, nous essayons de comprendre l'impact des variables indépendantes sur la variable dépendante. Si la multicollinéarité est forte, cela n’est tout simplement pas possible. Aucun algorithme ne va résoudre ce problème. Si les études sont en corrélation avec l'assiduité en classe et les notes, nous ne pouvons pas savoir ce qui fait réellement monter les notes - l'assiduité ou les études.

Cependant, dans les techniques d’apprentissage automatique qui mettent l’accent sur la précision prédictive, nous nous intéressons uniquement à la manière dont nous pouvons utiliser un ensemble de variables pour prédire un autre ensemble. Nous ne nous soucions pas de l'impact que ces variables ont l'une sur l'autre.

Fondamentalement, le fait de ne pas vérifier la multicolinéarité dans les techniques d'apprentissage automatique n'est pas une conséquence de l'algorithme, mais une conséquence de l'objectif. Vous pouvez le voir en remarquant qu'une forte colinéarité entre les variables ne nuit pas à la précision prédictive des méthodes de régression.

TrynnaDoStat
la source
11

Il semble exister ici une hypothèse sous-jacente selon laquelle le fait de ne pas vérifier la colinéarité est une pratique raisonnable, voire optimale. Cela semble imparfait. Par exemple, la recherche de la colinéarité parfaite dans un jeu de données avec de nombreux prédicteurs révélera si deux variables sont réellement identiques, par exemple la date de naissance et l'âge (exemple tiré de Dormann et al. (2013), Ecography , 36 , 1, pp 27–46 ) J'ai aussi parfois vu le problème de prédicteurs parfaitement corrélés se poser dans les compétitions Kaggle où les concurrents sur le forum tentaient d'éliminer les prédicteurs potentiellement anonymes (le libellé des prédicteurs est caché, un problème courant dans les compétitions similaires à Kaggle et Kaggle).

Il existe également une activité dans l’apprentissage automatique consistant à sélectionner des prédicteurs - l’identification de prédicteurs fortement corrélés peut permettre au travailleur de trouver des prédicteurs qui sont des proxy pour une autre variable sous-jacente (cachée) et finalement de trouver une variable qui représente le mieux la variable latente ou suggérer alternativement des variables qui peuvent être combinées (par exemple via PCA).

Par conséquent, je suggérerais que, bien que les méthodes d’apprentissage automatique aient généralement (ou du moins souvent) été conçues pour être robustes face à des prédicteurs corrélés, comprendre le degré de corrélation des prédicteurs est souvent une étape utile dans la production d’un modèle robuste et précis. , et constitue une aide utile pour obtenir un modèle optimisé.

Robert de Graaf
la source
9

Le principal problème de la multicolinéarité est qu’elle gâche les coefficients (bêtas) des variables indépendantes. C'est pourquoi c'est un problème grave lorsque vous étudiez les relations entre les variables, établissez une causalité, etc.

Cependant, si la compréhension du phénomène ne vous intéresse pas autant, mais si vous vous concentrez uniquement sur la prévision, la multicolinéarité est moins un problème. Ou du moins c'est ce que les gens en pensent.

Je ne parle pas de multicolinéarité parfaite , qui est un problème technique ou d’identité. Techniquement, cela signifie simplement que la matrice de conception conduit à la singularité et que la solution n'est pas définie.

Aksakal
la source
4
Même avec une colinéarité parfaite, les prédictions sont bien définies.
whuber
@whuber, si vous utilisez OLS, le paquet stat risque de générer une erreur, car il ne pourra pas inverser la matrice. Les plus malins peuvent laisser tomber l'un des vars indépendants et continuer.
Aksakal
2
Si vous utilisez l'inverse généralisé, alors cette singularité n'est pas un problème.
Analyste
1
Je ne suis pas votre logique, Aksakal: essayez-vous de suggérer que les techniques d'apprentissage automatique diffèrent des techniques statistiques en ce sens que les premières n'ont généralement pas de problèmes avec les matrices à rang réduit? C'est une idée intéressante à explorer.
whuber
1
@user, les variables indépendantes sont presque toujours corrélées, et c'est OK, en général. Seule une multicolinéarité parfaite provoque un déficit de rang. La multicolinéarité fait référence à de très fortes corrélations et n’est généralement pas souhaitable, mais comme je l’ai écrit plus tôt, c’est un problème bénin dans de nombreux cas.
Aksakal
7

La régularisation dans ces machines d'apprentissage stabilise les coefficients de régression, donc au moins cet effet de multicolinéarité apprivoisé. Mais plus important encore, si vous optez pour la prédiction (ce que sont souvent les apprenants à la machine), alors le "problème" de multicolinéarité ne pose pas un si gros problème en premier lieu. C'est un problème lorsque vous devez estimer un coefficient particulier et que vous ne disposez pas des informations.

De plus, ma réponse à " Quand LASSO sélectionne-t-il des prédicteurs corrélés " pourrait vous être utile.

Ben Ogorek
la source
1

Je pense que la multicolinéarité devrait être vérifiée dans l'apprentissage automatique. Voici pourquoi: Supposons que vous avez deux entités hautement corrélées X et Y dans notre jeu de données. Cela signifie que le plan de réponse n'est pas fiable (un petit changement dans les données peut avoir des effets dramatiques sur l'orientation du plan de réponse). Ce qui implique que les prédictions du modèle pour les points de données éloignésde la ligne, où X et Y ont tendance à tomber, ne sont pas fiables. Si vous utilisez votre modèle pour prédire de tels points, les prédictions seront probablement très mauvaises. En d'autres termes, lorsque vous avez deux entités hautement corrélées, vous apprenez en tant que modèle un plan dans lequel les données tombent principalement dans une ligne. Il est donc important de supprimer les données hautement corrélées de vos données pour éviter les modèles non fiables et les prédictions erronées.

Sanyo Mn
la source