# Régression logistique

En statistiques, la régression logistique ou modèle logit est un modèle de régression principalement utilisé en classification binaire. Comme pour tous les modèles de régression binomiale, il s'agit d'expliquer au mieux une variable binaire (la présence ou l'absence d'une caractéristique donnée) par des observations réelles nombreuses, grâce à un modèle mathématique. En d'autres termes d'associer une variable aléatoire de Bernoulli (génériquement notée $y$) à un vecteur de variables aléatoires $(x_{1},\ldots ,x_{K})$. La régression logistique constitue un cas particulier de modèle linéaire généralisé. Elle est largement utilisée en apprentissage automatique.

## Histoire

D'après de Palma et Thisse, la première mention du modèle logit vient de Joseph Berkson en 1944 et 1951$^,$.

## Applications

La régression logistique est largement répandue dans de nombreux domaines. On peut citer de façon non exhaustive :
* En médecine, elle permet par exemple de trouver les facteurs qui caractérisent un groupe de sujets malades par rapport à des sujets sains.
* Dans le domaine des assurances, elle permet de cibler une fraction de la clientèle qui sera sensible à une police d’assurance sur tel ou tel risque particulier.
* Dans le domaine bancaire, pour détecter les groupes à risque lors de la souscription d’un crédit.
* En économétrie, pour expliquer une variable discrète. Par exemple, les intentions de vote aux élections.
Par exemple, Vincent Loonis utilise un modèle de régression logistique pour étudier les déterminants de la réélection des députés français depuis les débuts de la IIIe République.

## Modèle
### Notations

Soit $Y$ la variable à prédire (variable expliquée) et $X=(X_{1},X_{2},...,X_{J})$ les variables prédictives (variables explicatives).
Dans le cadre de la régression logistique binaire, la variable $Y$ prend deux modalités possibles $\{1,0\}$. Les variables $X_{j}$ sont exclusivement continues ou binaires.
* Soit $\Omega$ un ensemble de $n$ échantillons, comportant $n_{1}$ (resp. $n_{0}$) observations correspondant à la modalité $1$ (resp. $0$) de $Y$.
* $P(Y=1)$ (resp. $P(Y=0)$) est la probabilité a priori pour que $Y=1$ (resp. $Y=0$). Pour simplifier, cela sera par la suite noté $p(1)$ (resp. $p(0)$).
* $p(X\vert 1)$ (resp. $p(X\vert 0)$) est la distribution conditionnelle des $X$ sachant la valeur prise par $Y$
* La probabilité a posteriori d'obtenir la modalité $1$ de $Y$ (resp. $0$) sachant la valeur prise par $X$ est notée $p(1\vert X)$ (resp. $p(0\vert X)$).

### Hypothèse fondamentale

La régression logistique repose sur l’hypothèse fondamentale suivante, où l'on reconnaît la mesure nommée « évidence » $Ev(p)=\ln {\frac {p}{1-p}}$ popularisée par I.J. Good, E.T Jaynes et Myron Tribus pour les besoins de l'inférence bayésienne en évitant des renormalisations continuelles sur [0,1] :
    $\ln {\frac {p(X\vert 1)}{p(X\vert 0)}}=a_{0}+a_{1}x_{1}+...+a_{J}x_{J}$
où $x_{1},x_{2},...,x_{J}$ représentent les valeurs prises respectivement par les variables $X_{1},X_{2},...,X_{J}$.
Une vaste classe de distributions répondent à cette spécification, la distribution multinormale décrite en analyse discriminante linéaire par exemple, mais également d’autres distributions, notamment celles où les variables explicatives sont booléennes (0/1).
Par rapport à l’analyse discriminante toujours, ce ne sont plus les densités conditionnelles $p(X\vert 1)$ et $p(X\vert 0)$ qui sont modélisées mais le rapport de ces densités. La restriction introduite par l'hypothèse est moins forte.

### Modèle LOGIT

La spécification ci-dessus peut être écrite de manière différente. On désigne par le terme LOGIT de $p(1\vert X)$ l’expression suivante :
    $\ln {\frac {p(1\vert X)}{1-p(1\vert X)}}=b_{0}+b_{1}x_{1}+...+b_{J}x_{J}$
* Il s’agit bien d’une « régression » car on veut montrer une relation de dépendance entre une variable à expliquer et une série de variables explicatives.
* Il s’agit d’une régression « logistique » car la loi de probabilité est modélisée à partir d’une loi logistique.
En effet, après transformation de l’équation ci-dessus, on obtient
    $p(1\vert X)={\frac {\mathrm {e} ^{b_{0}+b_{1}x_{1}+...+b_{J}x_{J}}}{1+\mathrm {e} ^{b_{0}+b_{1}x_{1}+...+b_{J}x_{J}}}}$
Remarque : Équivalence des expressions
On a deux expressions différentes pour aboutir au modèle logistique. On peut observer ici la concordance entre les coefficients $a_{j}$ et $b_{j}$. Reprenons le LOGIT
    ${\begin{aligned}\ln {\frac {p(1\vert X)}{1-p(1\vert X)}}&=&\ln {\frac {p(1\vert X)}{p(0\vert X)}}=\ln {\frac {p(1)p(X\vert 1)}{p(0)p(X\vert 0)}}=\ln {\frac {p(1)}{p(0)}}+\ln {\frac {p(X\vert 1)}{p(X\vert 0)}}\\&=&\ln {\frac {p(1)}{p(0)}}+a_{0}+a_{1}x_{1}+...+a_{J}x_{J}\end{aligned}}$
On constate que ${\begin{cases}b_{0}=\ln {\frac {p(1)}{p(0)}}+a_{0}\\b_{j}=a_{j}&,j\geq 1\end{cases}}$

### Estimation — Principe du maximum de vraisemblance

À partir d’un fichier de données, on doit estimer les coefficients $b_{j}$ de la fonction LOGIT. Il est très rare de disposer pour chaque combinaison possible des $X_{j},\ (j=1,...,J)$, même si ces variables sont toutes binaires, de suffisamment d’observations pour disposer d’une estimation fiable des probabilités $P(1\vert X)$ et $P(0\vert X)$ donc la méthode des moindres carrés ordinaire est exclue. La solution passe par une autre approche : la maximisation de la vraisemblance.
La probabilité d'observer $Y(\omega )$ sachant $X(\omega )$ peut s'écrire:
    $P(Y(\omega )=1\vert X(\omega ))^{Y(\omega )}\times [1-P(Y(\omega )=1\vert X(\omega ))]^{1-Y(\omega )}$
Remarque: Cette expression est égale à l'un des deux termes du produit selon que $Y(\omega )=1$ ou $Y(\omega )=0$.
La vraisemblance d’un échantillon $\omega$ s’écrit alors :
    $L=\prod _{\omega }P(Y(\omega )=1\vert X(\omega ))^{Y(\omega )}\times [1-P(Y(\omega )=1\vert X(\omega ))]^{1-Y(\omega )}$
Cette expression s'exprime en fonction des $x_{1}(\omega ),...,x_{J}(\omega )$ et des $b_{0},...,b_{J}$:
    $L(b_{0},...,b_{J})=\prod _{\omega }\left({\frac {\mathrm {e} ^{b_{0}+b_{1}x_{1}(\omega )+...+b_{J}x_{J}(\omega )}}{1+\mathrm {e} ^{b_{0}+b_{1}x_{1}(\omega )+...+b_{J}x_{J}(\omega )}}}\right)^{Y(\omega )}\times \left(1-{\frac {\mathrm {e} ^{b_{0}+b_{1}x_{1}(\omega )+...+b_{J}x_{J}(\omega )}}{1+\mathrm {e} ^{b_{0}+b_{1}x_{1}(\omega )+...+b_{J}x_{J}(\omega )}}}\right)^{1-Y(\omega )}$
Les paramètres ${\hat {b}}_{j}(j=0,...,J)$ qui maximisent cette quantité sont les estimateurs du maximum de vraisemblance de la régression logistique.

### Estimation dans la pratique

Dans la pratique, les logiciels utilisent une procédure approchée pour obtenir une solution satisfaisante de la maximisation ci-dessus. Ce qui explique d’ailleurs pourquoi ils ne fournissent pas toujours des coefficients strictement identiques. Les résultats dépendent de l’algorithme utilisé et de la précision adoptée lors du paramétrage du calcul.
Dans ce qui suit, on note $\beta \,$ le vecteur des paramètres à estimer. La procédure la plus connue est la méthode Newton-Raphson qui est une méthode itérative du gradient (voir Algorithme d'optimisation). Elle s’appuie sur la relation suivante :
    $\beta ^{i+1}=\beta ^{i}-\left({\frac {\partial ^{2}L}{\partial \beta \partial \beta '}}\right)^{-1}\times {\frac {\partial L}{\partial \beta }}$
* $\beta ^{i}\,$ est la solution courante à l'étape $i\,$. $\beta ^{0}=(0,...,0)\,$ est une initialisation possible ;
* ${\frac {\partial L}{\partial \beta }}\,$ est le vecteur des dérivées partielles premières de la vraisemblance ;
* ${\frac {\partial ^{2}L}{\partial \beta \partial \beta '}}\,$ est la matrice des dérivées partielles secondes de la vraisemblance ;
* les itérations sont interrompues lorsque la différence entre deux vecteurs de solutions successifs est négligeable.
Cette dernière matrice, dite matrice hessienne, est intéressante car son inverse représente l’estimation de la matrice de variance covariance de $\beta \,$. Elle sera mise en contribution dans les différents tests d’hypothèses pour évaluer la significativité des coefficients.
Sous forme matricielle :
    ${\overrightarrow {\beta _{i+1}}}={\overrightarrow {\beta _{i}}}+\left(^{t}XWX\right)^{-1}^{t}X\left({\overrightarrow {y}}-{\overrightarrow {p}}\right)$

## Évaluation
### Matrice de confusion

L’objectif étant de produire un modèle permettant de prédire avec le plus de précision possible les valeurs prises par une variable catégorielle $Y$, une approche privilégiée pour évaluer la qualité du modèle serait de confronter les valeurs prédites avec les vraies valeurs prises par $Y$ : c’est le rôle de la matrice de confusion. On en déduit alors un indicateur simple, le taux d’erreur ou le taux de mauvais classement, qui est le rapport entre le nombre de mauvaises prédictions et la taille de l’échantillon.
Lorsque la matrice de confusion est construite sur les données qui ont servi à élaborer le modèle, le taux d’erreur est souvent trop optimiste, ne reflétant pas les performances réelles du modèle dans la population. Pour que l’évaluation ne soit pas biaisée, il est conseillé de construire cette matrice sur un échantillon à part, dit échantillon de test. Par opposition à l’échantillon d’apprentissage, il n’aura pas participé à la construction du modèle.
Le principal intérêt de cette méthode est qu’elle permet de comparer n’importe quelle méthode de classement et sélectionner ainsi celle qui s’avère être la plus performante face à un problème donné.

### Évaluation statistique de la régression

Il est possible d’exploiter un schéma probabiliste pour effectuer des tests d’hypothèses sur la validité du modèle. Ces tests reposent sur la distribution asymptotique des estimateurs du maximum de vraisemblance.
Pour vérifier la significativité globale du modèle, on peut introduire un test analogue à l’évaluation de la régression linéaire multiple. L’hypothèse nulle s’écrit $H_{0}:b_{1}=b_{2}=\dots =b_{J}=0$, que l’on oppose à l’hypothèse alternative $H_{1}$ : un des coefficients au moins est non nul
La statistique du rapport de vraisemblance s’écrit $\Lambda =2\times [l(J+1)-l(1)]$, elle suit une loi du $\chi ^{2}$ à $J$ degrés de libertés.
* $l(J+1)$ est le logarithme de la vraisemblance du modèle avec l’ensemble des variables (donc J+1 coefficients en comptant la constante) et,
* $l(1)$ le logarithme de la vraisemblance du modèle réduit à la seule constante.
Si la probabilité critique (la p-value) est inférieure au niveau de signification que l’on s’est fixé, on peut considérer que le modèle est globalement significatif. Reste à savoir quelles sont les variables qui jouent réellement un rôle dans cette relation.

### Évaluation individuelle des coefficients

Dans le cas où l’on cherche à tester le rôle significatif d’une variable, on réalise le test suivant $H_{0}:b_{j}=0$, contre $H_{1}:b_{j}\neq 0$.
La statistique de Wald répond à ce test, elle s’écrit $W={\frac {{\hat {b}}^{2}}{{\hat {V}}({\hat {b}})}}$, elle suit une loi du $\chi ^{2}$ à $1$ degré de liberté.
N.B. : La variance estimée du coefficient ${\hat {b}}_{j}$ est lue dans l’inverse de la matrice hessienne vue précédemment.

### Évaluation d'un bloc de coefficients

Les deux tests ci-dessus sont des cas particuliers du test de significativité d’un bloc de coefficients. Ils découlent du critère de la « déviance » qui compare la vraisemblance entre le modèle courant et le modèle saturé (le modèle dans lequel on a tous les paramètres).
L’hypothèse nulle s’écrit dans ce cas $H_{0}:\beta (q)=0$, où $\beta (q)$ représente un ensemble de $q\,$ coefficients simultanément à zéro.
La statistique du test $W(q)=2\times [l(J+1)-l(J+1-q)]$ suit une loi du $\chi ^{2}$ à $q$ degrés de libertés.
Ce test peut être très utile lorsqu'on veut tester le rôle d’une variable explicative catégorielle à $q+1$ modalités dans le modèle. Après recodage, on introduit effectivement $q$ variables indicatrices dans le modèle. Pour évaluer le rôle de la variable catégorielle prise dans son ensemble, quelle que soit la modalité considérée, on doit tester simultanément les coefficients associés aux variables indicatrices.

### Autres évaluations

D’autres procédures d’évaluation sont couramment citées s’agissant de la régression logistique. On note entre autres le test de Hosmer-Lemeshow qui s’appuie sur le « score » (la probabilité d’affectation à un groupe) pour ordonner les observations. En cela, elle se rapproche d’autres procédés d’évaluation de l’apprentissage telles que les courbes ROC qui sont nettement plus riches d’informations que la simple matrice de confusion et le taux d’erreur associé.

## Exemple

À partir des données disponibles sur le site du cours en ligne de Régression logistique (Paul-Marie Bernard, Université du Québec – Chapitre 5), on a construit un modèle de prédiction qui vise à expliquer le « Faible Poids (Oui/Non) » d’un bébé à la naissance. Les variables explicatives sont : FUME (le fait de fumer ou pas pendant la grossesse), PREM (historique de prématurés aux accouchements antérieurs), HT (historique de l’hypertension), VISITE (nombre de visites chez le médecin durant le premier trimestre de grossesse), AGE (âge de la mère), PDSM (poids de la mère durant les périodes des dernières menstruations), SCOL (niveau de scolarité de la mère : =1: <12 ans, =2: 12-15 ans, =3: >15 ans).
Toutes les variables explicatives ont été considérées continues dans cette analyse. Dans certains cas, SCOL par exemple, il serait peut-être plus judicieux de les coder en variables indicatrices.

### Lecture des résultats

Les résultats sont consignés dans le tableau suivant.
* Dans la matrice de confusion, on lit que sur les données en apprentissage, le modèle de prédiction réalise 10 + 39 = 49 mauvaises prédictions. Le taux d’erreur en re-substitution est de 49/190 = 25,78 %
* La statistique du rapport de vraisemblance LAMBDA est égale à 31.77, la probabilité critique associée est 0. Le modèle est donc globalement très significatif, il existe bien une relation entre les variables explicatives et la variable expliquée.
* En étudiant individuellement les coefficients liés à chaque variable explicative, au risque de 5 %, on constate que FUME, PREM et HT sont néfastes au poids du bébé à la naissance (entraînent un faible poids du bébé) ; PDSM et SCOL en revanche semblent jouer dans le sens d’un poids plus élevé du bébé. VISITE et AGE ne semblent pas jouer de rôle significatif dans cette analyse.
Cette première analyse peut être affinée en procédant à une sélection de variables, en étudiant le rôle concomitant de certaines variables, etc. Le succès de la régression logistique repose justement en grande partie sur la multiplicité des outils d’interprétations qu’elle propose. Avec les notions d’odds, d’odds ratios et de risque relatif, calculés sur les variables dichotomiques, continues ou sur des combinaisons de variables, le statisticien peut analyser finement les causalités et mettre en évidence les facteurs qui pèsent réellement sur la variable à expliquer.

### Déploiement

Pour classer un nouvel individu $\omega \,$, il faut appliquer la règle de Bayes :
    $Y(\omega )=1\,\Longleftrightarrow \,P(Y(\omega )=1\vert X(\omega ))>P(Y(\omega )=0\vert X(\omega ))\,$
qui est équivalent à
    $Y(\omega )=1\,\Longleftrightarrow \,P(Y(\omega )=1\vert X(\omega ))>0,5\,$
Si on considère la fonction Logit, cette procédure revient à s’appuyer sur la règle d’affectation :
    $Y(\omega )=1\,$ ssi ${\hat {b}}_{0}+{\hat {b}}_{1}\times X_{1}(\omega )+...+{\hat {b}}_{J}\times X_{J}(\omega )>0\,$
Prenons l’observation suivante $X(\omega )\,$ = (FUME = 1 « oui » ; PREM = 1 « un prématuré dans l’historique de la mère » ; HT = 0 « non » ; VISITE = 0 « pas de visite chez le médecin pendant le premier trimestre de grossesse » ; AGE = 28 ; PDSM = 54,55 ; SCOL = 2 « entre 12 et 15 ans »).
En appliquant l’équation ci-dessus, on trouve $2,893+0,853\times 1+0,691\times 1+1,744\times 0+0,030\times 0-0,028\times 28-0,038\times 54,55-0.660\times 2=0,28125$. Le modèle donc prédit un bébé de faible poids pour cette personne.
Ce qui est justifié puisqu’il s’agit de l’observation n°131 de notre fichier, et elle a donné lieu effectivement à la naissance d’un enfant de faible poids.

### Redressement

La règle d’affectation ci-dessus est valide si l’échantillon est issu d’un tirage au hasard dans la population. Ce n’est pas toujours le cas. Dans de nombreux domaines, on fixe au préalable les effectifs des classes $Y=1$ et $Y=0$, puis on procède au recueil des données dans chacun des groupes. On parle alors de tirage rétrospectif. Il est dès lors nécessaire de procéder à un redressement. Si les coefficients associés aux variables de la fonction logit ne sont pas modifiés, la constante en revanche doit être corrigée en tenant compte des effectifs dans chaque classe ($n_{1}$ et $n_{0}$) et des vraies probabilités a priori $p(1)$ et $p(0)$ (cf. les références ci-dessous).

## Variantes

La régression logistique s’applique directement lorsque les variables explicatives sont continues ou dichotomiques. Lorsqu’elles sont catégorielles, il est nécessaire de procéder à un recodage. Le plus simple est le codage binaire. Prenons l’exemple d’une variable habitat prenant trois modalités {ville, périphérie, autres}. On crée alors deux variables binaires : « habitat_ville », « habitat_périphérie ». La dernière modalité se déduit des deux autres, lorsque les deux variables prennent simultanément la valeur 0, cela indique que l’observation correspond à « habitat = autres ».
Enfin, il est possible de réaliser une régression logistique pour prédire les valeurs d’une variable catégorielle comportant K (K > 2) modalités. On parle de régression logistique polytomique. La procédure repose sur la désignation d’un groupe de référence, elle produit alors (K-1) combinaisons linéaires pour la prédiction. L’interprétation des coefficients est moins évidente dans ce cas.