Une introduction à la régression en composantes principales
L’un des problèmes les plus courants que vous rencontrerez lors de la création de modèles est la multicolinéarité . Cela se produit lorsque deux variables prédictives ou plus dans un ensemble de données sont fortement corrélées.
Lorsque cela se produit, un modèle donné peut être capable de bien s’adapter à un ensemble de données d’entraînement, mais il fonctionnera probablement mal sur un nouvel ensemble de données qu’il n’a jamais vu, car il surajuste l’ensemble d’entraînement.
Une façon d’éviter le surajustement consiste à utiliser un certain type de méthode de sélection de sous-ensemble comme :
Ces méthodes tentent de supprimer les prédicteurs non pertinents du modèle afin que seuls les prédicteurs les plus importants capables de prédire la variation de la variable de réponse soient laissés dans le modèle final.
Une autre façon d’éviter le surajustement consiste à utiliser un certain type de méthode de régularisation telle que :
Ces méthodes tentent de contraindre ou de régulariser les coefficients d’un modèle pour réduire la variance et produire ainsi des modèles capables de bien se généraliser à de nouvelles données.
Une approche totalement différente pour traiter la multicolinéarité est connue sous le nom de réduction dimensionnelle .
Une méthode courante de réduction de dimension est connue sous le nom de régression en composantes principales , qui fonctionne comme suit :
1. Supposons qu’un ensemble de données donné contienne p prédicteurs : X 1 , X 2 , … , X p
2. Calculez Z 1 , … , Z M comme étant les M combinaisons linéaires des p prédicteurs d’origine.
- Z m = ΣΦ jm X j pour certaines constantes Φ 1m , Φ 2m , Φ pm , m = 1, …, M.
- Z 1 est la combinaison linéaire des prédicteurs qui capture le plus de variance possible.
- Z 2 est la prochaine combinaison linéaire des prédicteurs qui capture le plus de variance tout en étant orthogonale (c’est-à-dire non corrélée) à Z 1 .
- Z 3 est alors la prochaine combinaison linéaire des prédicteurs qui capture le plus de variance tout en étant orthogonale à Z 2 .
- Et ainsi de suite.
3. Utilisez la méthode des moindres carrés pour ajuster un modèle de régression linéaire en utilisant les M premières composantes principales Z 1 , …, Z M comme prédicteurs.
L’expression réduction de dimension vient du fait que cette méthode doit uniquement estimer des coefficients M+1 au lieu de coefficients p+1, où M < p.
Autrement dit, la dimension du problème a été réduite de p+1 à M+1.
Dans de nombreux cas où la multicolinéarité est présente dans un ensemble de données, la régression en composantes principales est capable de produire un modèle qui peut mieux se généraliser à de nouvelles données que la régression linéaire multiple conventionnelle.
Étapes pour effectuer une régression des composantes principales
En pratique, les étapes suivantes sont utilisées pour effectuer une régression en composantes principales :
1. Standardisez les prédicteurs.
Premièrement, nous standardisons généralement les données de telle sorte que chaque variable prédictive ait une valeur moyenne de 0 et un écart type de 1. Cela évite qu’un prédicteur ait trop d’influence, surtout s’il est mesuré dans différentes unités (c’est-à-dire si X 1 est mesuré en pouces). et X 2 est mesuré en yards).
2. Calculez les composantes principales et effectuez une régression linéaire en utilisant les composantes principales comme prédicteurs.
Ensuite, nous calculons les composantes principales et utilisons la méthode des moindres carrés pour ajuster un modèle de régression linéaire en utilisant les M premières composantes principales Z 1 , …, Z M comme prédicteurs.
3. Décidez du nombre de composants principaux à conserver.
Ensuite, nous utilisons la validation croisée k-fold pour trouver le nombre optimal de composants principaux à conserver dans le modèle. Le nombre « optimal » de composants principaux à conserver est généralement le nombre qui produit l’erreur quadratique moyenne (MSE) du test la plus faible.
Avantages et inconvénients de la régression des composantes principales
La régression en composantes principales (PCR) offre les avantages suivants :
- La PCR a tendance à donner de bons résultats lorsque les premières composantes principales sont capables de capturer la majeure partie de la variation des prédicteurs ainsi que la relation avec la variable de réponse.
- La PCR peut donner de bons résultats même lorsque les variables prédictives sont fortement corrélées, car elle produit des composantes principales orthogonales (c’est-à-dire non corrélées) les unes aux autres.
- La PCR ne vous oblige pas à choisir les variables prédictives à supprimer du modèle puisque chaque composant principal utilise une combinaison linéaire de toutes les variables prédictives.
- La PCR peut être utilisée lorsqu’il y a plus de variables prédictives que d’observations, contrairement à la régression linéaire multiple.
Cependant, la PCR présente un inconvénient :
- La PCR ne prend pas en compte la variable de réponse au moment de décider quels composants principaux conserver ou supprimer. Au lieu de cela, il considère uniquement l’ampleur de la variance entre les variables prédictives capturées par les composantes principales. Il est possible que dans certains cas, les composantes principales présentant les écarts les plus importants ne soient pas en mesure de bien prédire la variable de réponse.
En pratique, nous ajustons de nombreux types de modèles différents (PCR, Ridge, Lasso, régression linéaire multiple, etc.) et utilisons la validation croisée k fois pour identifier le modèle qui produit le MSE de test le plus bas sur les nouvelles données.
Dans les cas où la multicolinéarité est présente dans l’ensemble de données d’origine (ce qui est souvent le cas), la PCR a tendance à mieux fonctionner que la régression des moindres carrés ordinaire. Cependant, c’est une bonne idée d’adapter plusieurs modèles différents afin de pouvoir identifier celui qui généralise le mieux aux données invisibles.
Régression des composantes principales en R & Python
Les didacticiels suivants montrent comment effectuer une régression des composantes principales dans R et Python :
Régression des composantes principales dans R (étape par étape)
Régression des composantes principales en Python (étape par étape)