Guide complet : Analyse en Composantes Principales (ACP) suivie d'une Régression Linéaire
Ce guide explique étape par étape comment effectuer une ACP suivie d'une régression en Python
et R,
à l'aide des données agricoles fournies. Il inclut l'interprétation et les codes nécessaires.
I. Étapes générales de l'analyse
---------------------------------
1. Importation des données.
2. Analyse exploratoire (statistiques descriptives, corrélations).
3. Standardisation des variables explicatives.
4. Réalisation de l'ACP.
5. Sélection du nombre de composantes principales à retenir (critère de Kaiser, variance expliquée).
6. Régression linéaire sur les composantes principales.
7. Évaluation du modèle (R², RMSE).
8. Interprétation des résultats.
II. En Python (avec pandas, scikit-learn, matplotlib)
------------------------------------------------------
```python
import pandas as pd
from [Link] import StandardScaler
from [Link] import PCA
from sklearn.linear_model import LinearRegression
from [Link] import r2_score, mean_squared_error
import [Link] as plt
# 1. Importation des données
df = pd.read_excel("donnees_agriculture.xlsx")
# 2. Séparation des variables explicatives et de la cible
X = [Link](columns='Rendement')
y = df['Rendement']
# 3. Standardisation
scaler = StandardScaler()
X_scaled = scaler.fit_transform(X)
# 4. ACP
pca = PCA()
X_pca = pca.fit_transform(X_scaled)
# 5. Visualisation de la variance expliquée
[Link](range(1, len(pca.explained_variance_ratio_)+1),
pca.explained_variance_ratio_.cumsum(), marker='o')
[Link]('Nombre de composantes')
[Link]('Variance expliquée cumulée')
[Link]("Choix du nombre de composantes")
[Link](True)
[Link]()
# 6. Régression sur les 2 premières composantes par exemple
X_pca_selected = X_pca[:, :2]
model = LinearRegression()
[Link](X_pca_selected, y)
# 7. Évaluation
y_pred = [Link](X_pca_selected)
print("R²:", r2_score(y, y_pred))
print("RMSE:", mean_squared_error(y, y_pred, squared=False))
```
III. En R (avec FactoMineR, factoextra, caret)
---------------------------------------------
```r
# 1. Importation des données
library(readxl)
data <- read_excel("donnees_agriculture.xlsx")
# 2. Séparation des variables
X <- data[, -which(names(data) == "Rendement")]
y <- data$Rendement
# 3. Standardisation et ACP
library(FactoMineR)
[Link] <- PCA(X, [Link] = TRUE, ncp = ncol(X), graph = TRUE)
# 4. Visualisation de la variance expliquée
library(factoextra)
fviz_eig([Link], addlabels = TRUE)
# 5. Extraction des composantes principales
coord_pca <- [Link]$ind$coord
X_pca <- coord_pca[, 1:2] # Garder 2 composantes
# 6. Régression
model <- lm(y ~ X_pca[,1] + X_pca[,2])
summary(model)
```
IV. Interprétation
------------------
- ACP : Vérifiez que les premières composantes expliquent suffisamment de variance (souvent
>70%).
- Contributions des variables : regardez les corrélations entre les variables originales et les
composantes.
- Régression : évaluez la qualité du modèle avec R² et RMSE.
- Un bon modèle a un R² proche de 1 et un RMSE faible.
Cette approche permet de réduire la multicolinéarité et d'interpréter plus clairement l'influence
globale des variables.