L’Analyse discriminante de Fisher

snedecor

\bullet Présentation:

L’Analyse discriminante de Fisher, qui a été élaborée en 1936 par Ronald Aylmer Fisher, permet de discriminer une variable réponse Y binaire ou polychotomique (K \geq 2 classes) à partir d’une matrice de P variables explicatives continues \mathbf{X} = (X ^1, \cdots, X ^P).

L’Analyse discriminante de Fisher est réputée pour être le classifieur optimale lorsque les données suivent une loi normale. Il permet également la construction de deux formes de frontière: linéaire ou quadratique, permettant ainsi de s’adapter à plusieurs type de distribution de la réponse Y. Ces deux versions de l’analyse discriminante de Fisher nécessite néanmoins des hypothèses d’utilisation solides, la normalité des données pour les deux cas plus celle d’homoscédasticité pour la cas linéaire.

Une version étendue de l’analyse discriminante de Fisher existe lorsque les données sont qualitatives: l’algorithme DISQUAL de Gilbert Saporta, qui consiste à faire une Analyse des Correspondances Multiples (ACM) et ensuite appliquer l’analyse discriminante de Fisher sur les axes factoriels.

Enfin, l’analyse discriminante de Fisher se base sur la distance de Mahalanobis-Fisher afin d’établir les coefficients de la règle décisionnelle.

\bullet L’analyse discriminante de Fisher:

Hypothèses préliminaires: Variables explicatives \mathbf{X} continues, variable réponse Y binaire ou polychotomique. Normalité et homoscédasticité des données pour le cas linéaire, normalité pour le cas quadratique.

L’Analyse discriminante de Fisher propose deux types de frontière, l’une de forme linéaire et l’autre de forme quadratique. L’idée de l’analyse discriminante de Fisher est de se baser sur l’étude des covariances intra et inter-classes ainsi que sur l’élaboration d’un classifieur bayésien optimum au sens de la probabilité de l’erreur. Cet outil est à mi-chemin entre la modélisation et la classification, impliquant qu’il faut en général passer par une méthode d’apprentissage pour valider la règle décisionnelle.

La fonction discriminante du classifieur bayésien:

Notons, \forall k \in [1,K], \mathbf{\Sigma}_k la matrice de variance-covariance et \mu_k le centre de gravité du nuage d’individus associé à la classe Cl_k de Y, soit à \mathbf{X|_{Y = Cl_k}}, d’effectif n_k.

Supposons que les observations de chaque classe soient générées selon une loi normale de paramètres (\mu_k, \mathbf{\Sigma}_k):

P(Y = Cl_k / \mathbf{X}) = \frac{1}{(2 \pi) ^{\frac{P}{2}} \vert \mathbf{\Sigma}_k \vert ^{\frac{1}{2}}} e^{-\frac{1}{2} (\mathbf{X} - \mu_k) ^T \mathbf{\Sigma}_k ^{-1} (\mathbf{X} - \mu_k)}

Si les matrices de variance-covariance sont identiques alors nous sommes dans le cas d’une discrimination linéaire (hypothèse de normalité et d’homoscédasticité), dans le cas inverse nous nous orientons vers du quadratique (hypothèse de normalité).

– Dans le premier cas, où \mathbf{\Sigma}_1 = \cdots = \mathbf{\Sigma}_K = \mathbf{\Sigma} (la matrice de variance-covariance toutes classes confondues), les fonctions discriminantes du classifieur bayésien deviennent:

\delta_k(\mathbf{X}) = (\mathbf{X} - \mu_k ^T) \cdot \mathbf{\Sigma} ^{-1} \cdot (\mathbf{X} - \mu_k) - 2 log(\frac{n_k}{n})

– Dans le second cas, où \mathbf{\Sigma}_1 \neq \cdots \neq \mathbf{\Sigma}_K, elles valent:

\delta_k(\mathbf{X}) = (\mathbf{X} - \mu_k ^T) \cdot \mathbf{\Sigma}_k ^{-1} \cdot (\mathbf{X} - \mu_k) + log(\mid \mathbf{\Sigma}_k \mid) - 2 log(\frac{n_k}{n})

Le calcul des coefficients:

Le vecteur des coefficients associé à la règle décisionnelle se retrouve au travers de la formule de la fonction discriminante décrite ci-dessus en fonction des deux versions,

– pour la règle linéaire, \beta = (\mu_k ^T \mathbf{\Sigma}_k ^{-1} \mu_k, \mathbf{\Sigma}_k \mu_k)

– pour la règle quadratique, \beta = (\mu_k ^T \mathbf{\Sigma} ^{-1} \mu_k, \mathbf{\Sigma} \mu_k)

Le premier terme du vecteur représentant le coefficient constant.

Règle décisionnelle:

Nous cherchons à savoir de quelle classe Y = Cl_k le nouvel individu i que nous voulons classer est le plus près. Nous répondons à cette interrogation via la distance définie par la matrice \mathbf{\Sigma}_k et qui correspond la règle descriptive de Mahalanobis-Fisher, de définition,

d^2 (X_i,\mu_k) = X_i ^T \cdot \mathbf{\Sigma}_k ^{-1} \cdot X_i - 2 \cdot (X_i \cdot (\beta_2, \cdots, \beta_K) - \beta_1) + C

Où,

C = 0 dans le cas linéaire,

C = log( | \mathbf{\Sigma}_k |) - 2 \cdot log(\frac{n_k}{n}) dans le cas quadratique.

La règle décisionnelle basée sur le théorème de Bayes nous donne:

P(Y = Cl_k / X_i) = \frac{P_k \cdot P(X_i / Cl_k)}{\sum_{k = 1} ^K P_k \cdot P(X / Cl_k)} = \frac{P_k \cdot e^{-\frac{1}{2} \cdot d ^2(X_i, \mu_k)}}{\sum_{k = 1} ^K P_k \cdot e^{-\frac{1}{2} \cdot d ^2(X_i, \mu_k)}}

, avec P_k = \frac{n_k}{n}.

\bullet Annexe théorique:

Nous présentons ici une esquisse de la démonstration de la fonction de Mahalanobis-Fisher.

Pour P variables explicatives, nous pouvons rechercher la combinaison linéaire définie par les coefficients \beta qui donnent la valeur maximale pour la statistique de test,

\frac{\beta ^T \mathbf{B} \beta}{\beta ^T \mathbf{\Sigma} \beta}

, où \mathbf{B} est la matrice de variance des K centres de gravité.

La solution est donnée par,

\mathbf{W} ^{-1} \mathbf{B} \beta = \delta \beta

, avec \delta maximal et \mathbf{W} la matrice de variance intra-classe.

Les vecteurs propres de \mathbf{W} ^{-1} \mathbf{B} sont les mêmes que ceux de \mathbf{\Sigma} ^{-1} \mathbf{B} avec \delta = \frac{\lambda}{1 - \lambda}.

En effet,

\mathbf{B} \beta = \lambda (\mathbf{W} + \mathbf{B}) \delta \Rightarrow (1 - \lambda) \mathbf{B} \beta = \lambda \mathbf{W} \beta

D’où,

\mathbf{W} ^{-1} \mathbf{B} \beta = \frac{\lambda \beta}{1 - \lambda}

L’utilisation de \mathbf{\Sigma} ^{-1}, \mathbf{W} ^{-1} est donc indifférent. La seconde porte le nom de métrique de Mahalanobis.

\bullet Exemple:

Soit la base de données suivante,

add

Avec « Statut » notre variable réponse et (X ^1, X ^2) nos variables explicatives.

Notons que nous avons n_1 = n_2 = 10 \Rightarrow P_1 = P_2 = \frac{10}{20} = \frac{1}{2}.

Nous calculons pour le groupe des \mathbf{X}|_{Y = 1} la matrice de variance-covariance,

\mathbf{\Sigma}_1 = \begin{pmatrix} 11.961355 & 1.749008 \\ 1.749008 & 2.129509 \end{pmatrix}

, de déterminant \mid \mathbf{\Sigma}_1 \mid = 22.41278. Et le barycentre,

\mu_1 = (6.23856, 4.99603)

Et pour le groupe des \mathbf{X}|_{Y = 2},

\mathbf{\Sigma}_2 = \begin{pmatrix} 10.9457223 & 0.3020457 \\ 0.3020457 & 15.7377368 \end{pmatrix}

, de déterminant \mid \mathbf{\Sigma_2} \mid = 172.1697. Et le barycentre,

\mu_2 = (6.60212, 5.52999)

Pour le cas quadratique:

Nous obtenons alors les vecteurs de coefficients:

\beta_1 = \frac{1}{2} \cdot (\mu_1 ^T \cdot \mathbf{\Sigma}_1 ^{-1} \cdot \mu_1, \mathbf{\Sigma}_1 ^{-1} \cdot \mu_1) = (6.07717, 0.2028741, 2.1794703)

\beta_2 = \frac{1}{2} \cdot (\mu_2 ^T \cdot \mathbf{\Sigma}_2 ^{-1} \cdot \mu_2, \mathbf{\Sigma}_2 ^{-1} \cdot \mu_2) = (2.900191, 0.5937870, 0.3399878)

En se reportant à la formule de la distance de Mahalanobis-Fisher nous déterminons les quantités d_1 ^2 et d_2 ^2 pour l’individu N°1 et de caractéristiques e = (8.1472, 3.1101):

d_1 ^2 = e ^T \times \mathbf{\Sigma}_1 ^{-1} \times e - 2 \times [ e \times (0.2028741, 2.1794703) ^T - 6.07717] + log(22.41278) -2 \times log(\frac{10}{20})

 = 7.5142 - 4.708112 + 3.109631 - (-1.386294)

= 7.302015

d_2 ^2 = e ^T \times \mathbf{\Sigma}_2 ^{-1} \times e - 2 \times [ e \times (0.5937870, 0.3399878) ^T - 2.900191 ] + log(172.1697) -2 \times log(\frac{10}{20})

 = 6.593437 - 5.989814 + 5.148481 - (-1.386294)

= 7.138398

Nous pouvons désormais calculer sa probabilité d’appartenir à la classe Y = 1:

P (Y =1 \setminus (8.1472, 3.1101)) = \frac{e ^{- \frac{1}{2} \cdot 7.302015}}{e ^{- \frac{1}{2} \cdot 7.302015} + e ^{\frac{1}{2} \cdot 7.138398}} = 0.4795593

, soit 48 \% de chance que cet individu soit Y = 1, donc nous le classerons Y = 2.

En effectuant ce calcul pour tous les individus nous classons chacun des vingt individus. Nous obtenons la matrice de confusion suivante:

\begin{tabular}{|l|c|c|} \hline & Predit Y = 1 & Predit Y = 2 \\ \hline Y = 1 & 9 & 1 \\ \hline Y = 2 & 0 & 10 \\ \hline \end{tabular}

Pour le cas linéaire:

Nous devons calculer la matrice de covariance commune à toute la population:

\mathbf{\Sigma} = \frac{20}{19} \times \begin{pmatrix} 10.885504 & 1.022638 \\ 1.022638 & 8.538462 \end{pmatrix} = \begin{pmatrix} 11.458425 & 1.076461 \\ 1.076461 & 8.987855 \end{pmatrix}

Analoguement à la construction de la forme quadratique, nous avons les vecteurs des coefficients qui valent:

\beta_1 = \frac{1}{2} \cdot (\mu_1 ^T \cdot \mathbf{\Sigma} ^{-1} \cdot \mu_1, \mathbf{\Sigma} ^{-1} \cdot \mu_1) = (2.7924940, 0.4978326, 0.4962400)

\beta_2 = \frac{1}{2} \cdot (\mu_2 ^T \cdot \mathbf{\Sigma} ^{-1} \cdot \mu_2, \mathbf{\Sigma} ^{-1} \cdot \mu_2) = (3.2582809, 0.5242776, 0.5524818)

Enfin, les quantités d_1 ^2 et d_2 ^2 pour le même individu (de caractéristiques: e = (8.1472, 3.1101)):

d_1 ^2 = e ^T \times S_{Y_1} ^{-1} \times e - 2 \times [ e \times (0.4978326, 0.4962400) ^T - 2.7924940 ]

= 6.411483 - 5.613607

= 0.797876

d_2 ^2 = e ^T \times S_{Y_2} ^{-1} \times e - 2 \times [ e \times (0.5242776, 0.5524818) ^T - 3.2582809 ]

= 6.411483 - 5.462773

= 0.94871

Nous pouvons désormais calculer sa probabilité d’appartenir à la classe Y_1:

P (Y = 1 \setminus (8.1472, 3.1101)) = \frac{e ^{- \frac{1}{2} \cdot 0.797876}}{e ^{- \frac{1}{2} \cdot 0.797876} + e ^{\frac{1}{2} \cdot 0.94871}} = 0.5188452

, soit 52\% de chance que cet individu soit Y_1, donc nous le classerons Y_1.

\begin{tabular}{|l|c|c|} \hline & Predit Y1 & Predit Y2 \\ \hline Y1 & 5 & 5 \\ \hline Y2 & 5 & 5 \\ \hline \end{tabular}

\bullet Application informatique:

Procédure SAS: https://support.sas.com/documentation/cdl/en/statug/63347/HTML/default/viewer.htm#statug_discrim_sect004.htm

Package et fonction R

https://stat.ethz.ch/R-manual/R-devel/library/MASS/html/lda.html

https://stat.ethz.ch/R-manual/R-devel/library/MASS/html/qda.html

\bullet Bibliographie:

– Probabilité, analyse des données et Statistique de Gilbert Saporta

– Data mining et statistique décisionnelle. L’intelligence des données de Stéphane tufféry

– Comprendre et utiliser les statistiques dans les sciences de la vie de Bruno Falissard

– The elements of statistical learning de Trevor Hastie, Robert Tibshirani et Jerome Friedman