Analyse discriminante linéaire 1 Introduction

Transcription

Analyse discriminante linéaire 1 Introduction
Master Mathématiques et Applications
Spécialité Statistique
Septembre 2015
Fiche 12
Analyse discriminante linéaire
1
Introduction
L’analyse discriminante linéaire a pour objectif d’expliquer et de prédire les valeurs d’une variable
qualitative Y à partir de variables explicatives quantitatives et/ou qualitatives X = (X1 , . . . , Xp ).
Nous supposons que la variable Y est binaire. L’analyse discriminante linéaire peut être présentée
selon deux aspects différents mais équivalents.
Un premier point de vue consiste à modéliser la probabilité d’appartenance à un groupe à l’aide du
théorème de Bayes. Pour simplifier, on désigne par 0 et 1 les modalités de la variable à expliquer
Y . La règle bayésienne donne une estimation de la probabilité a posteriori d’affectation :
P(Y = 1|X = x) =
π1 P(X = x|Y = 1)
,
π0 P(X = x|Y = 0) + π1 P(X = x|Y = 1)
(1)
où π0 = P(Y = 0) et π1 = P(Y = 1) désignent les probabilités a priori d’appartenance aux classes
0 et 1. Ces deux probabilités doivent être fixées par l’utilisateur. Afin de calculer les probabilités a
posteriori d’affectation P(Y = 0|X = x) et P(Y = 1|X = x), l’analyse discriminante modélise les
lois de X sachant Y = j par des lois normales. Plus précisément, on fait l’hypothèse que :
L(X|Y = 0) = N (µ0 , Σ)
tandis que
L(X|Y = 1) = N (µ1 , Σ).
(2)
Les paramètres des lois normales (i.e. µ0 , µ1 et Σ) sont estimés par la méthode du maximum de
vraisemblance. Pour un nouvel individu, on déduit ainsi de (1) les probabilités a posteriori et on
affecte ce nouvel individu au groupe pour lequel la probabilité a posteriori est la plus grande.
L’analyse discriminante linéaire peut également être envisagée comme une méthode de réduction
de la dimension. Dans ce cas, le principe consiste, comme dans le cas de l’Analyse en Composantes
Principales, à calculer une nouvelle variable, appelée variable canonique discriminante, w′ X =
w1 X1 + . . . + wp Xp comme combinaison linéaire des variables initiales. Elle est calculée de sorte
que le rapport de la variance intergroupe à la variance intragroupe soit maximale (pour plus de
détails voir par exemple Saporta (2006), chapitre 18). Pour un individu x = (x1 , . . . , xp ), la variable
canonique définit une fonction de score S(x) = w1 x1 + . . . + wp xp . L’affectation de l’individu x à
un groupe s’effectue alors en comparant la valeur du score S(x) à une valeur seuil s.
Les deux manières de présenter l’analyse discriminante linéaire ne permettent pas a priori de traiter
le cas de variables explicatives qualitatives. Néanmoins, un codage disjonctif complet des variables
qualitatives permet de réaliser une analyse discriminante linéaire en présence de telles variables.
Chaque modalité de la variable est alors traitée comme une variable quantitative prenant comme
valeurs 0 ou 1. Ceci étant, lorsqu’une analyse discriminante est réalisée avec une ou plusieurs
variables explicatives qualitatives, l’hypothèse de normalité effectuée n’est clairement pas vérifiée :
il faut par conséquent être prudent dans l’interprétation des probabilités a posteriori.
1
2
Exemple
Nous reprenons le jeu de données ronfle.txt et nous essayons d’expliquer le fait de ronfler (ou non)
par un certain nombre de variables quantitatives et qualitatives. Nous appliquons pour ceci une
analyse discriminante linéaire.
1. Importer et résumer le jeu de données.
2. Construire le modèle avec la fonction lda (pour linear discriminant analysis) du package MASS,
comme vous l’avez fait avec la fonction lm dans les fiches précédentes. Expliquer les sorties
du modèle par rapport à ce qui a été dit en introduction, à savoir : Prior probabilities
of groups ? Group means ? Coefficients of linear discriminants ?
3. La sortie ne fournit pas de test statistique permettant de tester la significativité des coefficients
de la variable canonique. Néanmoins, au vu des résultats précédents, deux variables semblent
avoir des influences négligeables, lesquelles ? Supprimer ces deux variables du modèle et refaire
les questions précédentes. La différence vous semble-t-elle importante ?
4. La fonction lda permet d’estimer le taux de mauvais classement par validation croisée. Il suffit
pour cela d’ajouter l’argument CV=TRUE lors de l’appel à la fonction. On obtient les labels
prédits par le modèle avec la commande :
> prev <- lda(RONFLE~.,data=donnees,CV=TRUE)$class
La commande table permet d’obtenir un tableau de contingence. Commenter le tableau
suivant :
> table(prev,donnees$RONFLE)
En déduire le taux de mauvais classement. Y a-t-il une grande différence entre les deux
modèles discutés en question 3 du point de vue de l’erreur de classement ?
5. Les modèles construits précédemment peuvent être utilisés dans un contexte de prévision. On
considère les valeurs suivantes pour un nouveau patient :
age poids taille alcool sexe taba
42
55
169
0
F
N
Pour prédire le label de ce nouvel individu, tout se passe comme en régression linéaire, c’està-dire que vous devez commencer par récolter les nouvelles données dans un data-frame qui
possède la même structure que le tableau de données initial (notamment les mêmes noms
de variables), auquel vous pouvez ensuite appliquer la fonction predict. Ceci fait, quel lien
voyez-vous entre les variables class et posterior ?
3
Exercice
Supposons X quantitative et unidimensionnelle. Notons x′ = (x′1 , . . . , x′n0 ) et x′′ = (x′′1 , . . . , x′′n1 ) les
données selon que la variable réponse Y vaut 0 ou 1, de sorte que n0 + n1 = n.
1. Préciser π0 et π1 lorsque les probabilités a priori sont fixées par les fréquences empiriques.
2. Déterminer les estimateurs au maximum de vraisemblance de µ0 , µ1 et σ 2 = Σ. Déduire de
(1) l’expression de log(P(Y = 1|X = x)/P(Y = 0|X = x)) en fonction de n0 , n1 , µ̂0 , µ̂1 et σ̂ 2 .
Préciser la règle de décision pour un nouvel individu xn+1 .
3. Appliquer ces résultats sur le jeu de données précédent lorsque X est la variable ALCOOL.
4. Retrouver les sorties de la fonction predict dans ce cas pour un nouvel individu buvant 3
verres de vin par jour.
2