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