Académique Documents
Professionnel Documents
Culture Documents
Sauvadet Lucas
20/12/2020
Contents
Exercice 1 1
Analyse directe. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
Déterminer : . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
Exécuter l’analyse en diagonalisant la matrice W-1.B. . . . . . . . . . . . . . . . . . . . . . . 6
Ensuite : . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
Exécuter l’analyse sous R à l’aide des fonctions lda() de la librairie MASS et discrimin() de ade4. . 7
Exercice 2 : Entreprise 10
1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
3 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18
4 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
5 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
6 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
7 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24
8 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24
9 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25
Exercice 1
Observation une population structurée en trois variables quantitatives notées Y1, Y2 et Y3. La variable Y
indique la variable de groupe ou facteur groupe. Nommons Z la matrice des variables explicatives. Générons
les données :
## Y1 Y2 Y3 Y
## 1 7 26 84 1
## 2 9 28 84 1
## 3 8 27 81 2
## 4 10 23 81 2
## 5 11 25 80 3
## 6 12 24 79 3
## 7 13 29 78 3
1
## Y1 Y2 Y3 Y
## 1 7 26 84 1
## 2 9 28 84 1
## 3 8 27 81 2
## 4 10 23 81 2
## 5 11 25 80 3
## 6 12 24 79 3
## Y
## 1 2 3
## 2 2 3
pie(table(Y),col=c("red","blue","green"))
## Histogrames
par(mfrow=c(2,2))
# Y1
brk1=seq(min(afd2[,1]),max(afd2[,1]),length.out=30)
hist(afd2$Y1[afd2$Y=="1"], col="red",
2
main="Class 1",xlab="Valeur", breaks=brk1)
# Y2
brk2=seq(min(afd2[,2]),max(afd2[,2]),length.out=30)
hist(afd2$Y2[afd2$Y=="2"], col="blue",
main="Class 2",xlab="Valeur", breaks=brk2)
# Y3
brk3=seq(min(afd2[,3]),max(afd2[,3]),length.out=30)
hist(afd2$Y3[afd2$Y=="3"], col="green",
main="Class 3",xlab="Valeur", breaks=brk3)
Class 1 Class 2
Frequency
Frequency
0.6
0.6
0.0
0.0
7 8 9 10 11 12 13 23 24 25 26 27 28 29
Valeur Valeur
Class 3
Frequency
0.6
0.0
78 79 80 81 82 83 84
Valeur
Au premier abord, on ne peut pas séparer les individus en fonction de Y1, Y2 ou Y3. Prendre les variables
(Y1, Y3) ou (Y2, Y3) parait plus possible.
## Y1 Y2 Y3
## Y1 1.00 0.00 -0.87
## Y2 0.00 1.00 0.07
## Y3 -0.87 0.07 1.00
3
23 24 25 26 27 28 29
13
11
Y1
7 8 9
29
27
Y2
25
23
84
82
Y3
80
78
7 8 9 10 11 12 13 78 79 80 81 82 83 84
On a une différence presque significative des moyennes entre les variables pour les differents groupes selon
le test de Wilks.
Discriminons les groupes grâce à une AFD (analyse factorielle discriminante).
Analyse directe.
Déterminer :
## Y1 Y2 Y3
## 1 -3 0 3
4
## 2 -1 2 3
## 3 -2 1 0
## 4 0 -3 0
## 5 1 -1 -1
## 6 2 -2 -2
## 7 3 3 -3
## attr(,"scaled:center")
## Y1 Y2 Y3
## 10 26 81
## Y1 Y2 Y3
## Y1 28 0 -26
## Y2 0 28 2
## Y3 -26 2 32
• la matrice des barycentres des classes centrées, et en déduire la matrice de dispersion inter-classes B
## y1 y2 y3
## 1 -2 1 3
## 2 -1 -1 0
## 3 2 0 -2
## y1 y2 y3
## y1 22 -2 -24
## y2 -2 4 6
## y3 -24 6 30
## Y1 Y2 Y3
## Y1 6 2 -2
## Y2 2 24 -4
## Y3 -2 -4 2
## Y1 Y2 Y3
## Y1 28 0 -26
## Y2 0 28 2
## Y3 -26 2 32
## Y1 Y2 Y3
## Y1 28 0 -26
## Y2 0 28 2
## Y3 -26 2 32
## Y1 Y2 Y3
## Y1 TRUE TRUE TRUE
## Y2 TRUE TRUE TRUE
## Y3 TRUE TRUE TRUE
5
## Y1 Y2 Y3
## Y1 28 0 -26
## Y2 0 28 2
## Y3 -26 2 32
• déterminer la part d’inertie expliquée par les deux premières valeurs propres ;
Ensuite :
• calculer les projections des individus sur les deux premiers axes discriminants et commenter le résultat
;
## [,1] [,2]
## 1 5.1977506 -0.76379862
## 2 6.4446846 1.43737282
## 3 -0.2465149 -1.67756680
## 4 -1.0004190 -0.52360464
## 5 -2.0660565 0.08006466
## 6 -4.1321131 0.16012932
## 7 -4.1973316 1.28740326
6
0.5 1.0 1.5
g3
g1
Axe 2
−0.5
g2
−1.5
−4 −2 0 2 4 6
Axe 1
L’axe 1 serait suffisant pour séparer les différents groupes. Le groupe 2 est situé entre le groupe 3 et le
groupe 1 sur l’axe 1 (horizontal).
La différence entre les groupes est très significative selon le test de Wilks.
• calculer les corrélations entre les axes discriminants et les variables initiales puis représenter graphique-
ment le cercle des corrélations. Comment interpréter les deux premiers axes discriminants en fonction
des variables initiales ?
## Call:
7
## lda(grp ~ Y1 + Y2 + Y3, data = lda.data)
##
## Prior probabilities of groups:
## 1 2 3
## 0.2857143 0.2857143 0.4285714
##
## Group means:
## Y1 Y2 Y3
## 1 -2 1 3
## 2 -1 -1 0
## 3 2 0 -2
##
## Coefficients of linear discriminants:
## LD1 LD2
## Y1 -0.289994 0.9260508
## Y2 -0.333473 0.1745349
## Y3 -2.022578 0.6714513
##
## Proportion of trace:
## LD1 LD2
## 0.9683 0.0317
## LD1 LD2
## Y1 -0.289994 0.9260508
## Y2 -0.333473 0.1745349
## Y3 -2.022578 0.6714513
8
2
1
3
1
3
LD2
3
0
2
1
−1
2
−2
−6 −4 −2 0 2 4
LD1
Les deux méthodes ont le meme pouvoir de discrimination. Avec la fonction lda, on obtient le même
barycentre des classes qu’à la main.
Les coefficients des discriminants trouvés par la fonction n’ont pas le meme signe que ceux trouvés à la main.
Les graphiques sont donc “inversés”
library(ade4)
## Discriminant analysis
## call: discrimin(dudi = dudi.pca(afd2[, 1:3], scan = F), fac = afd2$Y,
## scannf = F)
## class: discrimin
##
## $nf (axis saved) : 2
##
## eigen values: 0.9632 0.4614
##
## data.frame nrow ncol content
## 1 $fa 3 2 loadings / canonical weights
## 2 $li 7 2 canonical scores
## 3 $va 3 2 cos(variables, canonical scores)
## 4 $cp 3 2 cos(components, canonical scores)
## 5 $gc 3 2 class scores
9
## [1] 0.9631583 0.4614448
## DS1 DS2
## Y1 -0.1472677 1.7980383
## Y2 -0.1693477 0.3388803
## Y3 -1.0980442 1.3937170
## DS1 DS2
## 1 -1.31978778 -0.74150313
## 2 -1.63640323 1.39541552
## 3 0.06259389 -1.62859817
## 4 0.25402157 -0.50832048
## 5 0.52460311 0.07772755
## 6 1.04920623 0.15545510
On voit qu’avec cette fonction les barycentres ne sont pas les mêmes, /2 pour DS1 et ∗2 pour DS2 par
rapport à la fonction lda()
Y1 d = 0.5 d = 0.5
Y3
3
Y2
1
Canonical weights
Y2 Y1
Y3
2
Cos(variates,canonical variates)
Scores and classes
d = 0.5
Eigenvalues
RS3
3
x1 1
RS1
RS2
2
Cos(components,canonical variates)
Class scores
Exercice 2 : Entreprise
## y x1 x2 x3 x4
## 1 1 -0.45 -0.41 1.09 0.45
## 2 1 -0.56 -0.31 1.51 0.16
## 3 1 0.06 0.02 1.01 0.40
10
## 4 1 -0.07 -0.09 1.45 0.26
## 5 1 -0.10 -0.09 1.56 0.67
## 6 1 -0.14 -0.07 0.71 0.28
## y x1 x2 x3 x4
## 0:25 Min. :-0.56000 Min. :-0.410000 Min. :0.330 Min. :0.1300
## 1:21 1st Qu.:-0.07000 1st Qu.:-0.052500 1st Qu.:1.370 1st Qu.:0.2850
## Median : 0.12000 Median : 0.035000 Median :1.935 Median :0.4250
## Mean : 0.09457 Mean :-0.006957 Mean :2.033 Mean :0.4317
## 3rd Qu.: 0.21500 3rd Qu.: 0.070000 3rd Qu.:2.425 3rd Qu.:0.5475
## Max. : 0.58000 Max. : 0.140000 Max. :5.060 Max. :0.9500
Représenter graphiquement chaque ratio en fonction des valeurs de la variable faillite et commenter. Analyser
les liaisons entre ratios financiers pour détecter un problème de multicollinéarité éventuel ; vous déterminerez
leur matrice de corrélation et les graphiques xoy associés.La faillite est représenté en rouge
2.0
1.8
entreprise$y
1.6
1.4
1.2
1.0
entreprise$x1
11
X1
3.0
2.5
2.0
Frequency
1.5
1.0
0.5
0.0
Valeur x1
12
X2
3.0
2.5
2.0
Frequency
1.5
1.0
0.5
0.0
Valeur x2
13
X3
5
4
Frequency
3
2
1
0
1 2 3 4 5
Valeur x3
14
X4
3.0
2.5
2.0
Frequency
1.5
1.0
0.5
0.0
Valeur x4
Pour x1 : plus la valeur est faible, plus il y a de faillite. Cela confirme le fait qu’il soit un indicateur de la
bonne santé de l’entreprise, comme précisé dans l’énoncé.
Pour x2 : Comme x1. (x2 est un indicateur de la rentabilité globale de l’entreprise)
Pour x3 : Comme x1 et x2. (x3 exprime la capacité d’une entreprise à remboursé ces dettes à courts termes)
Pour x4 : On ne peut rien déduire sur cette variable, il n’y a pas de tendance nette visible a l’oeil nu
## x1 x2 x3 x4
## x1 1.00 0.85 0.57 -0.06
## x2 0.85 1.00 0.47 0.05
## x3 0.57 0.47 1.00 0.15
## x4 -0.06 0.05 0.15 1.00
15
x1
x2
x3
x4
1
0.8
x1
0.6
0.4
x2
0.2
−0.2
x3
−0.4
−0.6
x4
−0.8
−1
On a une trés forte corrélation de 0.85 entre x1 et x2 . Cela nous indique qu’il ne faut pas faire des modèles
qui comporte x1 et x2.
x3 à une corrélation de 0.57 avec x1 et de 0.47 avec x2.
x4 est la variable qui est la moins corrélée avec les autres, ce qui n’est pas si étonnant.
Réaliser les analyses de variance sur les quatre ratios pour obtenir une discrimination univariée : que concluez-
vous sur le pouvoir discriminant des ratios ? Construisez une représentation de la dispersion des classes
permettant d’évaluer graphiquement l’homogénéité des variances intra classes, avec la fonction clusplot de
la library(cluster).
Comme la valeur de p est inférieure a 0,05, on conclut qu’il existe des différences significatives entre les
groupes donc entre les entreprises qui ont fait faillite et celles qui n’ont pas fait faillite.
x1 est une bonne variable discriminante.
16
## y 1 0.2143 0.21430 19.77 5.86e-05 ***
## Residuals 44 0.4771 0.01084
## ---
## Signif. codes: 0 ’***’ 0.001 ’**’ 0.01 ’*’ 0.05 ’.’ 0.1 ’ ’ 1
Il n’y a pas de significativité. On en déduit que x4 est donc une mauvaise variable de discrimination comme
on l’avait prévu dès le début.
Par ordre de force discriminante : x3 > x1 > x2 > x4
17
3
18 1
2
27 0
13 7
26 28 5 14
Component 2
33
1
19
36
3532 23 40 21
22 31 1
42 10
4439 17
0
30 8
24 1629 3
38
25 9
43 15 4 6 2
−1
12
46 37 34 11
45 20
41
−2
−2 0 2 4
Component 1
These two components explain 77.69 % of the point variability.
Exécuter une analyse factorielle discriminante avec la fonction lda du package MASS et commenter les
résultats obtenus. Quelle information peut- on tirer du graphique d’AFD ? Comment pourrait- on mettre
en place une sélection de variables discriminantes?
## Call:
## lda(y ~ x1 + x2 + x3 + x4, data = entreprise)
##
## Prior probabilities of groups:
## 0 1
## 0.5434783 0.4565217
##
## Group means:
## x1 x2 x3 x4
## 0 0.23520000 0.05560000 2.593600 0.426800
## 1 -0.07285714 -0.08142857 1.366667 0.437619
##
## Coefficients of linear discriminants:
## LD1
## x1 -0.8228898
## x2 -4.1427422
## x3 -0.8757848
## x4 1.1353507
18
## LD1
## x1 -0.8228898
## x2 -4.1427422
## x3 -0.8757848
## x4 1.1353507
## [1] 6.44578
## [1] 41.54808
0.0
−4 −3 −2 −1 0 1 2 3
group 0
0.0
−4 −3 −2 −1 0 1 2 3
group 1
19
4
On s’intéresse dans cette partie aux seuls ratios x1, x3 pour réaliser une prévision de faillite. Déterminer et
traçer la droite frontière de discrimination sur le plan (x1,x3).
## Call:
## lda(y ~ x1 + x3, data = entreprise)
##
## Prior probabilities of groups:
## 0 1
## 0.5434783 0.4565217
##
## Group means:
## x1 x3
## 0 0.23520000 2.593600
## 1 -0.07285714 1.366667
##
## Coefficients of linear discriminants:
## LD1
## x1 -2.7174883
## x3 -0.8046296
20
6
Expliciter la fonction discriminante et déterminer analytiquement le classement des individus n°15, 16 et 35.
Fonction decriminante : y = -2.7174883 * x1 -0.8046296 * x3 (Faux)
## y x1 x2 x3 x4
## 15 1 0.15 0.05 1.88 0.27
## y x1 x2 x3 x4
## 16 1 0.37 0.11 1.99 0.38
## y x1 x2 x3 x4
## 35 0 0.14 0.07 2.61 0.52
## [1] -1.920327
## [1] -2.606684
## [1] -2.480532
Selon notre modèle tous ces individus sont dans le groupe 0, ce qui n’est vrai que pour l’individu 35.
## LD1
## 15 -0.02715023
21
## x1 x3
## x1 0.04530621 0.05444525
## x3 0.05444525 0.60553867
## x1 x3
## x1 24.745782 -2.224945
## x3 -2.224945 1.851472
## [,1]
## [1,] 0.8518986
## [,1]
## [1,] 1.207823
x15 est parmi le groupe 0 (entreprise qui n’ont pas fait faillite) ce qui contre nos données.
22
On voit que x16 est parmi le groupe 0 (entreprise qui n’ont pas fait faillite) ce qui est contre nos données.
On voit que x16 est parmi le groupe 0 (entreprise qui n’ont pas fait faillite) ce qui d’accord avec nos données.
23
7
## Call:
## lda(y ~ x1 + x2 + x3 + x4, data = entreprise)
##
## Prior probabilities of groups:
## 0 1
## 0.5434783 0.4565217
##
## Group means:
## x1 x2 x3 x4
## 0 0.23520000 0.05560000 2.593600 0.426800
## 1 -0.07285714 -0.08142857 1.366667 0.437619
##
## Coefficients of linear discriminants:
## LD1
## x1 -0.8228898
## x2 -4.1427422
## x3 -0.8757848
## x4 1.1353507
##
## 0 1
## 0 24 3
## 1 1 18
Il y a 4 erreurs sur 46, soit 8,7% d’erreur. Cela s’explique par le fait que notre échantillon est petit, je pense
que l’on peut s’estimer heureux.
L’estimation précédente des taux de bonne discrimination est optimiste (biais de surestimation). On va donc
faire de la validation croisée pour évaluer la qualité de discrimination.
## Call:
## lda(y ~ ., data = train)
##
## Prior probabilities of groups:
## 0 1
## 0.6129032 0.3870968
##
## Group means:
## x1 x2 x3 x4 lda1
## 0 0.24315789 0.06000000 2.870526 0.4247368 0.0000000
24
## 1 -0.06083333 -0.07083333 1.468333 0.4600000 0.9166667
##
## Coefficients of linear discriminants:
## LD1
## x1 1.71419509
## x2 -2.15468030
## x3 -0.46661428
## x4 -0.06101441
## lda1 5.46681696
##
## 0 1
## 0 5 2
## 1 1 7
Comparer les résultats obtenus sur ces données avec différentes méthodes LDA – QDA – Knn.
##
## 0 1
## 0 5 2
## 1 1 7
• Knn :
## knn.entreprise
## 0 1
## 0 5 1
## 1 0 9
25