Régression logistique

La régression logistique est une technique prédictive. Elle vise à construire un modèle permettant de prédire / expliquer les valeurs prises par une variable cible qualitative (le plus souvent binaire, on parle alors de régression logistique binaire ; si elle possède plus de 2 modalités, on parle de régression logistique polytomique) à partir d’un ensemble de variables explicatives quantitatives ou qualitatives (un codage est nécessaire dans ce cas).

Dans ce cours, qui adopte un angle statistique dans l'exploration de la régression logistique (l'autre démarche aurait été d'adopter un angle plus machine learning où la performance prédictive prime), les bases théoriques sont développées : hypothèse fondamentale de la régression logistique, la maximisation de la vraisemblance, le principe des tests fondés sur le rapport de vraisemblance. Puis nous mettons l’accent sur les aspects pratiques, relativement basiques dans un premier temps : test de significativité des coefficients, intervalles de confiances, prédiction ; assez avancés - et qui font tout le sel de la régression logistique - dans un second temps : l’interprétation des coefficients sous forme d’odds-ratio, les différentes types de codage des variables explicatives et leur impact sur l’interprétation, les stratégies de sélection de variables, résoudre le problème de la non-linéarité, etc.

Autre versant qui sera mis en avant, nous mettons également l’accent sur la mise en œuvre de la méthode dans les applications réelles. En effet, la régression logistique est une technique très répandue, elle est exploitée dans différentes domaines allant du marketing à l’épidémiologie, elle arrive systématiquement dans le TOP 10 des algorithmes de machine learning les plus populaires ces dernières années. Cela implique l’étude d’outils et des procédures spécifiques, notamment pour l’évaluation des modèles (courbe de gain en scoring, courbe ROC, procédures de ré-échantillonnage lorsque la base ne peut pas être scindée en apprentissage et test, etc.).

Ce cours est dispensé en Master SISE, formation en data science. Nous privilégions R dans un premier temps, nous explorons Python et ses packages spécialisés par la suite (scikit-learn, tensorflow/keras, statsmodels, ...).


Ressources

Supports

Ouvrage de référence

Ouvrage de référence pour le cours - Ricco Rakotomalala, "Pratique de la régression logistique", Juin 2011.

Cet ouvrage, totalement gratuit, détaille tous les aspects de la régression logistique qui seront présentés en cours. Certains sujets figurant dans ce fascicule peuvent ne pas être abordés durant les séances (ex. redressement lorsque l’échantillon n’est pas représentatif – tirage rétrospectif ; prise en compte des coûts de mauvais classement ; etc.), mais sont susceptibles de faire l’objet de questions à l’examen. Bref, à lire absolument !

Principaux slides pour le cours

Régression logistique binaire. Présentation de la régression logistique, estimation des coefficients, évaluation statistique des modèles, analyse de la pertinence des variables, interprétation des coefficients, etc.

Régression logistique. Présentation de la régression logistique binaire et multiclasse, simplifiée, plus dans un esprit "machine learning", en mettant l'accent sur les hyperparamètres qui régissent le comportement de la méthode. La partie statistique est édulcorée. Mode d'estimation des coefficients, les subtilités des algorithmes d'optimisation, l'importance des variables, les différentes approches pour la sélection de variables, les mécanismes de régularisation pour la régression en grandes dimensions (ridge, lasso, elasticnet). Les exemples illustratifs sont réalisés sous Python à l'aide de la librairie "Scikit-Learn".

Régression logistique polytomique. Extension de la régression logistique aux variables cibles qualitatives nominales à plus de 2 modalités, aux variables cibles qualitatives ordinales.

Scoring - Ciblage marketing. Construction et interprétation de la courbe de gain (courbe lift cumulé).

Courbe ROC. Evaluation des modèles à l'aide de la courbe ROC. Le critère AUC (area under curve). Comparaison de modèles.

Techniques de ré-échantillonnage pour l'évaluation des méthodes. Resubstitution, apprentissage-test, validation croisée (cross-validation), bootstrap.

Autres slides concernant le machine learning, dont l'apprentissage supervisé. Couvre les principales méthodes du traitement exploratoire des données (classification automatique, analyse factorielle, etc.), de l'économétrie (régression linéaire simple et multiple) et des statistiques (comparaison des populations, tests paramétriques et tests non paramétriques).

Travaux dirigés (il faut avoir un très bon niveau sous R)

TD 1 -- Introduction à la régression logistique. Création d'un modèle sur un échantillon d'apprentissage. Evaluation des performances prédictives sur un échantillon test. Sélection de variables forward et backward. Critères AIC et BIC.

 

TD 2.a -- Tests de significativité et interprétation des coefficients. Test de Wald, Test du Rapport de Vraisemblance. Variables explicatives quantitatives et qualitatives. Etude du ronflement.

 

TD 2.b -- Tests de significativité et interprétation des coefficients. Etude des infidélités dans les ménages. Recodage de la variable dépendante.

 

TD 3 -- Risque realtif, Odds-ratio. Interprétation des coefficients. Lecture des odds-ratio via la régression logistique, cas des variables binaires, qualitatives nominales, qualitatives ordinales, quantitatives.

 

TD 4.a -- Evaluation statistique des modèles. Test de Hosmer-Lemeshow. Diagramme de fiabilité. Comparaison avec les packages spécialisés.

 

TD 4.b -- Evaluation des modèles, Courbe ROC et critère AUC. Construction de la courbe ROC en resubstitution. Calcul du critère AUC (area under curve, aire sous la courbe). Passage aux techniques de rééchantillonnage pour une estimation plus fidèle des performances prédictives. Leave-one-out. Comparaison avec le package ROCR.

 

TD 5 -- Détection et traitement des non-linéarités. Test de Box-Tidwell. Graphique des résidus partiels. Transformation de variables. Discrétisation.

 

TD 6 -- Sélection de variables. Sélection pas-à-pas (stepwise). Méthodes de ranking - Filtrage des attributs. Méthode wrapper. Mix de ranking et wrapper. Performances comparées.

 

TD 7 -- Traitements des données groupées. Covariate pattern. Profils. Etude des profils influents. Résidus de Pearson. Résidus déviance. Distance de Cook.

 

TD 8 -- Régression logistique multinomiale. Variable cible qualitative nominale à K ( K > 2) modalités. Packages spécialisés (nnet, vgam). Lecture et exploitation des résultats. Comparaison des performances avec les arbres de décision.

 

Autres cours en relation avec la régression

Corrélation, régression linéaire simple et multiple. Analyse de corrélation, régression léaire simple et multiple. Pratique de la régression. Détection des outliers. Sélection de variables. Identification des ruptures de structures. Traitement des exogènes qualitatives.

Modèle de comptage. Régression de Poisson. Régression où la variable cible représente un comptage. Loi de Poisson. Estimation des paramètres. Maximimisation de la vraisemblance. Qualité de l'ajustement. Surdispersion et Quasi-Poisson.

Régression ZIP. Zero-Inflated Poisson Regression. Modèle de comptage où la valeur 0 de la variable cible est sur-représentée.

Descente de gradient. Application du principe de la descente de gradient à l'apprentissage supervisé. En particulier pour la régression linéaire et la régression logistique.

Tutoriels

Régression logistique sous Python. Pratique de la régression logistique sous Python avec les packages "statsmodels" et "sckit-learn". Inspection et évaluation des modèles. Tests des coefficients. Inférence statistique. Prédiction et mesures des performances prédictives. Construction de la courbe ROC.

Introduction à R - Régression logistique sous R. Présentation succincte de la manipulation des data frame sous R. Importation des fichiers Excel. Mise en oeuvre de la régression logistique avec la procédure glm(). Sélection de variables backward et forward avec stepAIC().

Régression logistique sous R avec Keras. Machine learning. Utilisation de la librairie de deep learning "keras" ("tensorflow" backend) sous R pour l'entraînement d'une régression logistique (sous la forme d'un réseaux de neurones, un perceptron simple) sur de très grandes bases de données. Construction et paramétrage du réseau de neurones. Comparaison des résultats avec ceux de la fonction glm(...) du package "stats".

Régression logistique multinomiale avec Keras. Dans cette vidéo, nous généralisons la régression logistique avec keras sous R au traitement des problèmes multi-classes c.-à-d. la prédiction d'une variable cible catégorielle comportant plus de 2 modalités. L'opération nécessite une préparation des données où nous exprimons la variable cible à l'aide d'une matrice d'indicatrices 0/1 via un recodage "one-hot-encoding" (un codage disjonctif pour dire les choses simplement).

La proc logistic de SAS 9.3. Utilisation de la proc logistic. Importation des données, mise en oeuvre de la procédure, sélection de variables. Comparaisons avec Tanagra.

(Vidéo) La proc logistic de SAS. Régression logistique sous SAS Studio, version accessible via le programme SAS OnDemand for Academics. Importation des données, régression logistique, sélection de variables, construction de la courbe ROC.

(Vidéo) Régression logistique pas-à-pas. Régression logistique avec le tandem Tanagra / Excel. Modélisation sur l'échantillon d'apprentissage sur Tanagra, application (déploiement) sur l'échantillon test "manuellement" sous le tableur Excel. Calcul du logit, déduction de la probabilité d'appartenance, déduction de la classe prédite, matrice de confusion, calcul des indicateurs de performance (taux d'erreur, rappel, précision)

(Vidéo) Régression logistique avec Knime. Régression logistique avec Knime Analytics Platform. Schéma apprentissage-test. Calcul des indicateurs de performance. Approche "wrapper" pour la sélection de variables.

Régression logistique binaire. Tutoriel animé. Mise en oeuvre de la régression logistique sous Tanagra, lecture des résultats, évaluation des performances en validation croisée.

Régression logistique - Comparaison de logiciels. Mise en oeuvre et comparaison des (du mode de présentation des) résultats sous Tanagra, R, Weka, Orange, package RWeka sous R.

Régression logistique sur les grandes bases. Traitement d'une base avec 300.000 individus et 121 variables prédictives. Comparaison des logiciels Tanagra, R, Knime, Orange, Weka.

Données manquantes - Régression logistique. Traitement des données manquantes en régression logistique, suppression, imputation. Utilisation des logiciels R, Orange, Knime et RapidMiner.

Données manquantes en déploiement - Régression logistique. Stratégies pour le traitement des données manquantes en régression logistique, lorsque le modèle est appliqué sur un nouvel individu supplémentaire (ou par extension, sur un échantillon test). Evaluation expérimentale que quelques solutions d'imputation dans ce cadre.

Diagnostic de la régression logistique. Analyse des résidus, détection des points atypiques, résidus de Pearson, résidus déviance, levier, distance de cook, dfbeta, dfbetas, test de Hosmer - Lemeshow, diagramme de fiabilité.

Scoring avec la régression logistique. Mise en oeuvre de la méthode dans le cadre du scoring marketing. Comparaison des résultats et performances des stratégies de sélection de variables (forward, backward).

(Vidéo) Scoring - Régression logistique - Courbe de gain. Modélisation sous Tanagra sur l'échantillon d'apprentissage. Application du modèle sur l'échantillon test. Construction pas-à-pas de la courbe de gain (calcul du score d'appartenance à la modalité cible, taille de cible, taux de vrais positifs [rappel, sensibilité]).

Classifieurs linéaires. Positionnement de la régression logistique par rapport à d'autres classifieurs linéaires (bayésien naïf, analyse discriminante linéaire, perceptron simple, svm avec noyau linéaire). Illustrations à l'aide d'un jeu de données synthétique.

Traitement des classes déséquilibrées. Techniques pour appréhender les problèmes où une des modalités de la variable cible est rare.

Régression logistique multinomiale. Traitement des variables cibles nominales à plus de 2 modalités. Interprétation des résultats.

Régression logistique ordinale. Traitement des variables cibles ordinales. Interprétation des résultats.


Ricco Rakotomalala