Cours complet : Régression logistique
1. Introduction
La régression logistique est un modèle statistique utilisé pour prédire la probabilité d'un événement
binaire (0/1, oui/non) en fonction de variables explicatives. Elle est utilisée dans la médecine, le
marketing, la finance, l'informatique, etc.
Exemples :
• Prédire si un patient est atteint d'une maladie.
• Prédire si un client va acheter un produit.
• Prédire si un email est spam ou non.
2. Fonction logistique (sigmoïde)
Pour une combinaison linéaire des variables :
$$ z = \beta_0 + \beta_1 x_1 + ... + \beta_p x_p $$
La fonction logistique est :
$$ P(Y=1|X) = \frac{1}{1 + e^{-z}} = \sigma(z) $$
• Valeurs entre 0 et 1.
• Transforme les log-odds en probabilité.
Logit :
$$ \text{logit}(P) = \ln\left(\frac{P}{1-P}\right) = z $$
3. Estimation des coefficients
Méthode du maximum de vraisemblance (MLE)
Pour n observations :
$$ L(\beta) = \prod_{i=1}^n P(Y=y_i|X=x_i; \beta) = \prod_{i=1}^n [\sigma(z_i)^{y_i} (1-\sigma(z_i))^{1-y_i}]
$$
Maximisation du logarithme de vraisemblance :
$$ \ell(\beta) = \sum_{i=1}^n [ y_i \ln \sigma(z_i) + (1-y_i) \ln (1-\sigma(z_i)) ] $$
Algorithmes numériques : Newton-Raphson, Gradient descent.
1
4. Interprétation des coefficients
• βj : effet de xj sur le log-odds.
• eβj : odds ratio.
Exemple : β1 = 0.5 → e0.5 ≈ 1.65 . Chaque unité supplémentaire de x1 multiplie les chances par 1,65.
5. Hypothèses
1. Indépendance des observations.
2. Relation linéaire entre logit(P) et variables explicatives.
3. Absence de multicolinéarité élevée.
4. Taille d'échantillon suffisante.
6. Évaluation du modèle
Matrice de confusion
Prédit 1 Prédit 0
Réel 1 TP FN
Réel 0 FP TN
• Accuracy = (TP + TN)/n
• Precision = TP/(TP+FP)
• Recall = TP/(TP+FN)
• F1-score = 2*(Precision*Recall)/(Precision+Recall)
Courbe ROC et AUC
• ROC : TPR vs FPR
• AUC : 0.5 = hasard, 1 = parfait
Tests statistiques
• Wald test pour chaque coefficient : Z = β/SE(β) \~ N(0,1)
• Test global (likelihood ratio test)
7. Problèmes fréquents et solutions
Problème Solution
Multicolinéarité Retirer variables corrélées, PCA
Données déséquilibrées Sur-échantillonnage, sous-échantillonnage, SMOTE
2
Problème Solution
Valeurs extrêmes Standardisation ou transformation
Non-linéarité Ajouter polynômes ou transformations
8. Régression logistique multinomiale
Pour Y ∈ {1,2,...,K}, choisir une classe de référence :
$$ \log\frac{P(Y=k)}{P(Y=K)} = \beta_{0k} + \beta_{1k} x_1 + ... + \beta_{pk} x_p $$
Chaque classe a son vecteur de coefficients.
9. Exemples d'application
9.1 Médical : risque de diabète
• Variables : Âge, IMC
• Modèle : logit(P) = -7 + 0.05Âge + 0.1IMC
• Probabilité pour patient Âge=50, IMC=25 : P ≈ 0.12
9.2 Marketing : achat produit
• Variables : revenus, âge, temps sur site
• Coefficients : β_revenus=0.02, β_age=-0.01, β_temps=0.05
• Interprétation : plus le temps sur site augmente, plus la probabilité d'achat augmente.
9.3 Spam email
• Variables : nb_liens, nb_mots_spam, longueur_email
• Objectif : classifier email comme spam ou non
• Évaluation : ROC, précision, rappel
10. Implémentation Python
import pandas as pd
from sklearn.model_selection import train_test_split
from sklearn.linear_model import LogisticRegression
from sklearn.metrics import confusion_matrix, roc_auc_score,
classification_report
data = pd.DataFrame({
'Age':[45,34,60,50,23],
'IMC':[28,22,30,25,20],
'Diabete':[1,0,1,0,0]
3
})
X = data[['Age','IMC']]
y = data['Diabete']
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.4,
random_state=42)
model = LogisticRegression()
model.fit(X_train, y_train)
y_pred = model.predict(X_test)
proba = model.predict_proba(X_test)[:,1]
print(confusion_matrix(y_test, y_pred))
print(roc_auc_score(y_test, proba))
print(classification_report(y_test, y_pred))
11. Points essentiels
1. Prédiction de probabilités.
2. Coefficients → log-odds, exponentiés → odds ratio.
3. Évaluation via matrice de confusion, ROC/AUC, précision, rappel.
4. Hypothèses : indépendance, linéarité, absence multicolinéarité.
5. Pour plus de classes → régression multinomiale.
6. Pratique : prétraitement, standardisation, gestion des déséquilibres.