Académique Documents
Professionnel Documents
Culture Documents
Introduction
Approche géométrique
Analyse factorielle discriminante (AFD - FDA)
Approche prédictive (probabiliste)
Analyse discriminante linéaire (LDA)
Analyse discriminante quadratique (QDA)
Exemple sous R
Les variables descriptives X^1, X^2, ... X^p doivent être quantitatives!
✓ Moyen :
✓ Rechercher des combinaisons linéaires des p variables initiales
(axes discriminants) permettent de caractériser au mieux les
groupes.
✓ => description des liaisons entre la variable "classe" et les
variables quantitatives: les K classes diffèrent-elles sur l'ensemble
des variables numériques?
✓ D’un point de vue technique, l’AFD peut être vue comme l’ACP
normée du nuage des centres de gravités des K groupes
d’individus, munis du poids des groupes.
Formulation :
1) Décomposition de la matrice variance-covariance V
Ensemble des n observations xi = un nuage de points, de centre de gravité m et de
matrice variance-covariance V.
Ce nuage est partagé en K sous-nuages par la variable "classe".
Chaque sous-nuage (classe Gk) d'effectif nk est caractérisé par son centre de gravité (ou
centroïde) mk et sa matrice variance-covariance Vk.
~m = 1 vT x = vT m , ~m = 1 vT x = vT m
1 i 1
n1 xic1
2 i 2
n2 xic2
~ −m
m ~ = vT (m − m ) semble être une bonne mesure de séparation
2 2 1
Toutefois on a ~ −m
m ~ mˆ − mˆ
2 1 2 1
petite variance
Grande variance
~ ~
Il faut normaliser m2 − m1 par un facteur qui est
proportionnel à la variance
S1 = (x
xi c1
i − m1 )( xi − m1 )T inertie intra classe 1
inertie intra classe 2
S2 = (x
xi c2
i − m2 )( xi − m2 )T
inertie intra classe
SW = S1 + S 2
S B = ( m2 − m1 )(m2 − m1 )T inertie inter classe
ST = (x
i
i − m)( x − m)T inertie totale
= vT (m2 − m1 )(m2 − m1 )T v = vT S B v
Ratio de la différence de moyennes projetées sur l’inertie intra classe
Objective à maximiser ~ −m ~ ) 2 vT S v
(m
J (v) = ~ 2 ~12 = T B
2
s1 + s2 v S wv
Rayleigh quotient
14 Université Paris Descartes
Problème d’optimisation
Nous recherchons l’axe correspondant à la séparation
maximale entre les classes
vT S B v
max v J (v) = max v T
v S wv
vT S B v
v ( J (v) ) = v T = 0
Et donc v S wv
Ce qui revient à résoudre
vT S B v
vT SW v(S B v ) − vT S B v( SW )v = 0 S B v = T SW v
v SW v
vT S B v
Posons = vT S v
W
On obtient le problème aux valeurs/vecteurs propres
généralisé
S B v = SW v
15 Université Paris Descartes
Problème de valeurs/vecteurs propres
Nous obtenons donc le problème aux valeurs/vecteurs
propres
−1
SW S B v1 = 1v1
On peut montrer que
−1
ST S B v1 = 1v1
1
Où 1 =
1 − 1
Représentation graphique:
– Si 2 groupes => 1 seul facteur = axe de projection où la séparation inter-
classe est la mieux exprimée => coordonnées sur cet axe = scores
discriminants.
– Si + de 2 groupes => plan discriminant (F1 et F2) = plan de projection ou la
variance inter-classe SB (=> dispersion des centroïdes dans le plan) sera la
mieux représentée.
(x alloué à Gk si k ( x) l ( x)
Et
k ( x ) = −
1
log( SW )−
1
( x − mk )T SW −1 ( x − mk ) + log( k )
2 2
<=> x alloué à Gk si dM
2
( x, mk ) − log k est minimum !!!
règle de Fisher généralisée (dépendante des proba. a priori): favorise les
classes fortement représentées !
f k ( x) k
Probabilité a posteriori Pr(G = k | X = x) = K
Application de la règle de
l =1
f l ( x) l Bayes
1 1
f k ( x) = exp(− ( x − mk )T Σ −1 ( x − mk ))
(2 ) p / 2 | Σ |1/ 2 2
22 Université Paris Descartes
LDA…
Pr(G = k | X = x) f
log = log k + log k
Pr(G = l | X = x) l fl
1 T −1 1 T −1
= (log k + x Σ mk − mk Σ mk ) − (log l + x Σ ml − ml Σ ml )
T −1 T −1
2 2
k (x) l (x)
mˆ k = g = k xi / nk
i
Moyennes:
ˆΣ = K ( x − mˆ )( x − mˆ )T / n
k =1 g i k i k
Matrice de covariance: i
2 2
SW k déterminant de la matrice
Dans ce cas, les surfaces de séparation entre 2 classes (définies par k ( x) = l ( x)
ne sont plus linéaires => analyse discriminante quadratique (QDA)
En pratique:
La matrice SW , ou les matrices SW k doi(ven)t être estimée(s) à partir des exemples
disponibles pour chaque classe, ainsi que les
k
Lorsqu'on fait l'hypothèse d'égalité des matrices SW k , la matrice SW est obtenue par
estimation 'poolée':
SW = (n1SW 1 + n2 SW 2 + ... + nK SWK ) / n
(n = effectif total)
Pr(G = k | X = x) f
log = log k + log k =
Pr(G = l | X = x) l fl
1 1 1 1
(log k − ( x − mk )T Σ −k1 ( x − mk ) − log | Σ k |) − (log l − ( x − ml )T Σ l−1 ( x − ml ) − log | Σ l |)
2 2 2 2
k (x) l (x)
Groupe X1 X2
M 1 5
M 3 6
M 2 4
F 3 3
F 6 2
X2
M
M
M
F
F
X1
1 14 −8
V=
5 −8 10
✓ Matrice variance totale: V = X’X/n
1
✓ Matrice de variance intra-classes : W=
n
nkVk
Matrice à diagonaliser :
−1 7.5 2 −2
V B=
76 −6 6
Le vecteur propre unitaire associé à cette valeur propre est donné par :
−1/ 10
u =
3/ 10
M 5
M 6
Les coordonnées sur cet axe F=Xu sont : C= M 1
F -3
F -9
2 M 3 6 >B=t(C)%*%P%*%C
>V1=(t(X1)%*%X1)/3-G1%*%t(G1)
3 M 2 4
> V2=(t(X2)%*%X2)/2-G2%*%t(G2)
4 F 3 3
>W=(3*V1+2*V2)/5
5 F 6 2
>I=solve(V)%*%B
>mc=matrix(apply(c[,2:3],2,mean),5,2,byrow=T
> v=eigen(I)$vector
)
>lambda= eigen(I)$values
>X=as.matrix(c[,2:3]-mc)
>F=X%*%v
> X1=X[X$Groupe=="M",]
> X2=X[X$Groupe=="F",]
>G1=apply(X1[,2:3],2,mean)
> G2=apply(X2[,2:3],2,mean)
Formula : A formula of the form 'groups ~ x1 + x2 + ...' That is, the response is the
grouping factor and the right hand side specifies the (non-factor) discriminators.
data: Data frame from which variables specified in 'formula' are preferentially to be
taken.
prior: the prior probabilities of class membership. If unspecified, the class proportions
for the training set are used. If present, the probabilities should be specified in the
order of the factor levels.
Call:
lda(groupe ~ age + revenu + patrimoine + emprunt, data = d)
Le groupe 1 est un groupe de gens assez jeunes à revenus plus faibles que la moyenne dont le
patrimoine est nettement plus faible que dans les autres classes et le taux d’emprunt plus élevé que
la moyenne
Le groupe 2 est caractérisé par des gens jeunes de revenus moyens, mais dont le patrimoine est très
important et le taux d’emprunt très faible
Le groupe 3 est caractérisé par des gens plus âgés de revenus confortables et de patrimoine assez
important, ayant un taux d’emprunt plus élevé que dans les autres classes
2
2
1
2
2
1
0
LD2
3 1
3
-2
3
-4
-4 -2 0 2 4
LD1
L’axe 1 est un effet taille et isole les individus ayant des valeurs importantes des
variables, en particulier à gros patrimoine. Ils s’opposent aux individus du
groupe 1.
L’axe 2 est aussi un effet taille et isole les individus plus âgés que les autres: on
y trouve les individus du groupe 3, qui s’opposent à ceux des deux autres
groupes.