Dans le domaine de l’apprentissage automatique, nous traitons souvent des données comportant de nombreuses variables, et lorsque nous traitons de telles données, une multicolinéarité peut se produire. Dans de tels cas, une régression régularisée telle que le Lasso, une méthode permettant d'éviter la multicolinéarité, peut être utilisée.
Dans JMP Pro, la régression régularisée peut être utilisée comme une méthode appelée « régression généralisée », qui permet une estimation de modèle stable réduisant les effets de la multicolinéarité en réduisant les estimations de paramètres (coefficients de régression) et en sélectionnant des variables.
Le graphique suivant montre ce qui se passe lorsque les coefficients de régression sont réduits par le Lasso. En examinant le rapport « Estimations des variables explicatives originales », nous pouvons voir que les variables explicatives avec de petits effets ont été réduites à 0, confirmant que Lasso effectue une sélection de variables.

Alors, comment fonctionne la régression Lasso en présence de multicolinéarité ? Dans cet article, nous utilisons des données hypothétiques dans lesquelles la véritable relation avec la réponse (Y) est prédéterminée, et examinons dans quelle mesure la régression Lasso, l'analyse de régression multiple et les méthodes par étapes peuvent estimer le véritable modèle.
table des matières
Données virtuelles
Variable de réponse : Y
Variables explicatives : X1 à X20 (20 variables)
Y est généré à partir de nombres aléatoires normaux dont la moyenne est une combinaison linéaire de plusieurs variables explicatives et une erreur standard de 10.

Nous préparerons deux types de données dans ce format et comparerons l’efficacité de la régression Lasso.
1. Données avec peu de corrélation entre les variables explicatives
2. Données présentant un certain degré de corrélation entre les variables explicatives (multicolinéarité)
Cela nous permet d’examiner comment la présence ou l’absence de multicolinéarité affecte la sélection des variables et l’estimation du modèle .
*Ces deux types d’échantillons de données sont joints à cet article.
1. Exemple de données avec peu de corrélation entre les variables explicatives
Données : « data_without_correlation.jmp »
Corrélation entre les variables explicatives (r) : -0,06 à 0,10

À l’aide de ces données, des modèles ont été ajustés à l’aide d’une analyse de régression multiple, d’une régression par étapes (règle d’arrêt : BIC minimum) et d’une régression Lasso (méthode de validation : BIC), et les coefficients de régression obtenus sont résumés dans le tableau suivant. La colonne « Équation vraie » répertorie les vrais coefficients des variables explicatives utilisées pour générer Y.

Dans la méthode par étapes, les coefficients des variables non sélectionnées sont affichés comme 0, et dans la régression Lasso, si un coefficient est réduit à 0 par régularisation, il est également affiché comme 0.
Ces résultats confirment que les deux méthodes estiment des modèles proches de la véritable équation, avec des coefficients pour les variables inefficaces nuls ou très faibles.
En d’autres termes, dans les données avec presque aucune corrélation entre les variables explicatives, l’analyse de régression multiple, les méthodes par étapes et la régression Lasso ont toutes été en mesure d’estimer la véritable relation de réponse avec une grande précision.
2. Exemple de données avec un certain degré de corrélation entre les variables explicatives
Données : « data_without_correlation.jmp »
Corrélation entre les variables explicatives (r):-0.50~0.52

Avec de telles données, la corrélation entre les variables explicatives peut facilement rendre les estimations des coefficients de régression instables. Si vous exécutez une analyse de régression multiple sur ces données, le VIF sera très important et les effets de la multicolinéarité seront évidents.

Comme dans le cas 1, nous avons ajusté les modèles en utilisant une analyse de régression multiple, une régression par étapes et une régression Lasso, et présentons un tableau résumant les coefficients obtenus.

Dans l’analyse de régression multiple, les effets de la multicolinéarité ont donné lieu à des coefficients significativement différents des valeurs réelles.
Même avec la méthode par étapes, des variables importantes n’ont pas été sélectionnées, des variables inutiles ont été sélectionnées et la sélection correcte des variables basée sur la véritable équation n’a pas été effectuée.
D’autre part , avec la régression Lasso, comme dans le cas 1, nous avons pu réduire les variables explicatives inefficaces à 0 et obtenir des estimations presque précises pour les variables efficaces.
3. Simulation des coefficients de Lasso
Dans les exemples jusqu'à présent, nous avons utilisé des données où les valeurs Y ont été générées à partir d'un ensemble de nombres aléatoires normaux à l'aide de la fonction Random Normal. Cependant, comme il s’agit de nombres aléatoires, les résultats peuvent varier en fonction des nombres aléatoires sélectionnés.
À l’aide de la fonctionnalité « Simulation » de JMP, vous pouvez répéter des estimations basées sur un grand nombre d’ensembles de nombres aléatoires normaux pour obtenir une distribution simulée des coefficients de régression. Cela nous permet d’évaluer la validité et la fiabilité de la sélection des variables à l’aide de la régression Lasso.
Ici, nous utilisons des simulations pour examiner à quelle fréquence les variables inefficaces sont réduites à 0 et à quelle fréquence les variables efficaces sont estimées comme non nulles, lors de l'exécution d'une régression Lasso sur des « données quelque peu corrélées » (cas 2).
Étapes pour exécuter une simulation dans JMP
Lors de l’exécution d’une régression Lasso, nous montrons comment exécuter 500 simulations sur les estimations.
- Cliquez avec le bouton droit sur le numéro « Valeur estimée » dans le rapport Lasso « Estimations des variables explicatives d'origine » et sélectionnez « Simuler ».
- Une fenêtre de simulation apparaîtra, définissez donc la colonne source sur Y et la colonne de destination sur Y. Définissez le nombre d'échantillons sur 500 (le nombre de simulations) et la valeur de départ aléatoire sur 123456 (une valeur spécifiée pour plus de commodité afin de reproduire les résultats).

Cela produira un nouveau tableau de données avec la distribution des coefficients de régression obtenus à partir des 500 simulations.
Si vous exécutez le script « Distribution univariée » sur la table de données de sortie, la distribution simulée de chaque variable sera affichée. De plus, le « Nombre de zéros » et le « Pourcentage de zéros » seront affichés dans le rapport « Statistiques récapitulatives ».

Le nombre de zéros et le pourcentage de zéros pour chaque variable obtenue ci-dessus sont résumés dans un tableau.

Les variables qui n'ont aucun effet dans la véritable équation sont fortement réduites à 0 par la régression Lasso. En revanche, les variables avec de grandes valeurs absolues de coefficients dans la véritable équation (par exemple, X7, X12) n'ont jamais été réduites à 0 dans aucune des 500 simulations, ce qui indique qu'elles pouvaient toujours être incluses dans le modèle.
Les simulations ont confirmé que la régression Lasso peut éliminer les variables inefficaces avec une probabilité élevée et sélectionner de manière stable les variables importantes, même dans les cas de données multicolinéaires .
Cependant, dans la pratique, il faut noter que dans les données à forte multicolinéarité, la régression Lasso a tendance à sélectionner une seule variable explicative hautement corrélée et à exclure les autres.
par Naohiro Masukawa (JMP Japon)
Naohiro Masukawa - Communauté d'utilisateurs JMP