SlideShare una empresa de Scribd logo
1 de 23
Descargar para leer sin conexión
Arthur CHARPENTIER - Analyse des donn´ees
Analyse des donn´ees (0)
Petit compl´ement d’alg`ebre lin´eaire
Arthur Charpentier
http ://perso.univ-rennes1.fr/arthur.charpentier/
blog.univ-rennes1.fr/arthur.charpentier/
Master 2, Universit´e Rennes 1
1
Arthur CHARPENTIER - Analyse des donn´ees
Un peu de manipulation matricielle
Consid´erons la matrice 5 × 3 suivante, not´ee M
> M=matrix(c(1,2,3,3,2,5,8,4,1,0,3,6,7,7,9),5,3)
> M
[,1] [,2] [,3]
[1,] 1 5 3
[2,] 2 8 6
[3,] 3 4 7
[4,] 3 1 7
[5,] 2 0 9
L’´etude des valeurs propres et vecteurs propres de MM donne
> M%*%t(M)
[,1] [,2] [,3] [,4] [,5]
[1,] 35 60 44 29 29
[2,] 60 104 80 56 58
[3,] 44 80 74 62 69
[4,] 29 56 62 59 69
[5,] 29 58 69 69 85
> eigen(M%*%t(M))
2
Arthur CHARPENTIER - Analyse des donn´ees
$values
[1] 3.042519e+02 5.117949e+01 1.568639e+00 3.758495e-15 -5.406259e-15
$vectors
[,1] [,2] [,3] [,4] [,5]
[1,] -0.2939547 0.411761479 0.1437865 0.00000000 0.85051075
[2,] -0.5344927 0.576483364 0.2141664 0.29339899 -0.50003428
[3,] -0.4920963 0.004313133 -0.4529159 -0.73725901 -0.09559762
[4,] -0.4119712 -0.366246257 -0.5630259 0.60184409 0.13011096
[5,] -0.4647893 -0.603294698 0.6413479 -0.09027661 0.02300889
alors que l’´etude des valeurs propres et vecteurs propres de M M donne
> t(M)%*%M
[,1] [,2] [,3]
[1,] 27 36 75
[2,] 36 106 98
[3,] 75 98 224
> eigen(t(M)%*%M)
$values
[1] 304.251867 51.179493 1.568639
3
Arthur CHARPENTIER - Analyse des donn´ees
$vectors
[,1] [,2] [,3]
[1,] -0.2869216 0.1017140 0.95253884
[2,] -0.4658692 -0.8836587 -0.04596922
[3,] -0.8370435 0.4569481 -0.30092622
Notons que les 3 plus grandes valeurs propres sont identiques.
De plus, on retrouve num´eriquement la formule de diagonalisation
M M = PDP , o`u P est la matrice des vecteurs propres (matrice de changement
de base) et D est la matrice diagonale des valeurs propres,
> P1=eigen(t(M)%*%M)$vectors
> D1=diag(eigen(t(M)%*%M)$values)
> P1%*%D1%*%t(P1)
[,1] [,2] [,3]
[1,] 27 36 75
[2,] 36 106 98
[3,] 75 98 224
et de mani`ere similaire pour MM ,
> P2=eigen(M%*%t(M))$vectors
4
Arthur CHARPENTIER - Analyse des donn´ees
> D2=diag(eigen(M%*%t(M))$values)
> P2%*%D2%*%t(P2)
[,1] [,2] [,3] [,4] [,5]
[1,] 35 60 44 29 29
[2,] 60 104 80 56 58
[3,] 44 80 74 62 69
[4,] 29 56 62 59 69
[5,] 29 58 69 69 85
Pour l’instant, avec les valeurs propres et les vecteurs propres de M M et de
MM , nous arrivons `a reconstituer ces deux matrices.
L’int´erˆet de ces m´ethodes - dites factorielles - est la reconstitution des donn´ees
initiales. En particulier, on peut reconstituer un tableau tr`es proche du tableau
intial avec un nombre beaucoup plus petit de param`etres.
D’un point de vue technique, il s’agit simplement de la d´ecomposition en valeurs
singuli`eres d’une matrice rectangulaire (on parle de d´ecomposition
d’Eckart-Young).
Autrement dit, pouvons nous reconstituer la matrice M de d´epart ?
5
Arthur CHARPENTIER - Analyse des donn´ees
Le seul soucis est que les vecteurs propres calcul´es ne sont pas uniques. On
notera toutefois qu’ils sont unitaires.
> P1
[,1] [,2] [,3]
[1,] -0.2869216 0.1017140 0.95253884
[2,] -0.4658692 -0.8836587 -0.04596922
[3,] -0.8370435 0.4569481 -0.30092622
> sum(P1[,1]^2)
[1] 1
> sum(P1[,2]^2)
[1] 1
> sum(P1[,3]^2)
[1] 1
On peut mˆeme montrer qu’ils sont orthogonaux
> sum(P1[,3]*P1[,2])
[1] 1.387779e-17
> sum(P1[,2]*P1[,3])
[1] 1.387779e-17
> sum(P1[,2]*P1[,1])
6
Arthur CHARPENTIER - Analyse des donn´ees
[1] -4.163336e-17
En effet, toute matrice symm´etrique r´eelle (ce qui est le cas par construction de
M M et de MM ) est diagonalisable dans une base orthonorm´ee.
Mais si u est un vecteur propre unitaire pour M M, associ´e `a une valeur propre
λ, alors −u aussi (et il reste orthogonal aux autres vecteurs propres).
Bref, on a un soucis sur le signe des vecteurs propres. En changeant le signe des
vecteurs propres 2 et 3 propos´es par R, on peut reconstituer la matrice M initale.
En effet
> P2b=cbind(P2[,1],-P2[,2:3],P2[,4:5])
> P2b
[,1] [,2] [,3] [,4] [,5]
[1,] -0.2939547 -0.411761479 -0.1437865 0.00000000 0.85051075
[2,] -0.5344927 -0.576483364 -0.2141664 0.29339899 -0.50003428
[3,] -0.4920963 -0.004313133 0.4529159 -0.73725901 -0.09559762
[4,] -0.4119712 0.366246257 0.5630259 0.60184409 0.13011096
[5,] -0.4647893 0.603294698 -0.6413479 -0.09027661 0.02300889
> P2
[,1] [,2] [,3] [,4] [,5]
7
Arthur CHARPENTIER - Analyse des donn´ees
[1,] -0.2939547 0.411761479 0.1437865 0.00000000 0.85051075
[2,] -0.5344927 0.576483364 0.2141664 0.29339899 -0.50003428
[3,] -0.4920963 0.004313133 -0.4529159 -0.73725901 -0.09559762
[4,] -0.4119712 -0.366246257 -0.5630259 0.60184409 0.13011096
[5,] -0.4647893 -0.603294698 0.6413479 -0.09027661 0.02300889
> P2b%*%sqrt(D2[,1:3])%*%t(P1)
[,1] [,2] [,3]
[1,] 1 5.000000e+00 3
[2,] 2 8.000000e+00 6
[3,] 3 4.000000e+00 7
[4,] 3 1.000000e+00 7
[5,] 2 -1.316882e-15 9
Autrement dit, il est possible de reconstituer la matrice initiale (au probl`eme de
signe pr`es).
L’id´ee de l’analyse factorielle est de se dire qu’il est inutile de prendre en compte
toutes toutes les composantes. Autrement dit, si l’on suppose que deux facteurs
seulement interviennent, cela revient `a ne garder dans la matrice diagonale que 2
valeurs, les 2 facteurs principaux.
8
Arthur CHARPENTIER - Analyse des donn´ees
> D20=D2
> D20[3,3]=0
> P2b%*%sqrt(D20[,1:3])%*%t(P1)
[,1] [,2] [,3]
[1,] 1.171539 4.99172159 2.945807
[2,] 2.255503 7.98766952 5.919282
[3,] 2.459667 4.02607632 7.170702
[4,] 2.328304 1.03241583 7.212202
[5,] 2.765135 -0.03692516 8.758279
> M
[,1] [,2] [,3]
[1,] 1 5 3
[2,] 2 8 6
[3,] 3 4 7
[4,] 3 1 7
[5,] 2 0 9
On voit qu’en ne gardant ici que les deux premiers facteurs, on obtient une
matrice reconstitu´ee relativement proche de la matrice M initiale.
Pour cela, nous avons gard´e les deux premi`eres valeurs propres. Supposons que
9
Arthur CHARPENTIER - Analyse des donn´ees
l’on garde les deux derni`eres,
> D20=D2
> D20[1,1]=0
> P2b%*%sqrt(D20[,1:3])%*%t(P1)
[,1] [,2] [,3]
[1,] -0.4711614 2.611302953 -1.2918555
[2,] -0.6749870 3.656674168 -1.8038054
[3,] 0.5371949 0.001189930 -0.1848019
[4,] 0.9381988 -2.347707675 0.9850566
[5,] -0.3261410 -3.776911215 2.2138916
> M
[,1] [,2] [,3]
[1,] 1 5 3
[2,] 2 8 6
[3,] 3 4 7
[4,] 3 1 7
[5,] 2 0 9
dans ce cas, on ne reconstitue pas du tout la matrice M.
Autrement dit, on peut relativement bien reconstituer la matrice initiale `a
10
Arthur CHARPENTIER - Analyse des donn´ees
condition de garder les facteurs principaux, c’est `a dire associ´es aux plus grandes
valeurs propres.
Notons que cette d´ecomposition/recomposition est `a relier avec la d´ecomposition
en valeurs singuli`ere
> svd(M)
$d
[1] 17.442817 7.153984 1.252453
$u
[,1] [,2] [,3]
[1,] -0.2939547 -0.411761479 -0.1437865
[2,] -0.5344927 -0.576483364 -0.2141664
[3,] -0.4920963 -0.004313133 0.4529159
[4,] -0.4119712 0.366246257 0.5630259
[5,] -0.4647893 0.603294698 -0.6413479
$v
[,1] [,2] [,3]
[1,] -0.2869216 0.1017140 0.95253884
[2,] -0.4658692 -0.8836587 -0.04596922
11
Arthur CHARPENTIER - Analyse des donn´ees
[3,] -0.8370435 0.4569481 -0.30092622
> svd(M)$u%*%diag(svd(M)$d)%*%t(svd(M)$v)
[,1] [,2] [,3]
[1,] 1 5.000000e+00 3
[2,] 2 8.000000e+00 6
[3,] 3 4.000000e+00 7
[4,] 3 1.000000e+00 7
[5,] 2 2.245572e-15 9
Les “valeurs propres” de M sont simplement des racines des valeurs propres de
M M ou MM
> svd(M)$d
[1] 17.442817 7.153984 1.252453
> sqrt(eigen(t(M)%*%M)$values)
[1] 17.442817 7.153984 1.252453
> sqrt(eigen(M%*%t(M))$values)
[1] 1.744282e+01 7.153984e+00 1.252453e+00 6.130657e-08 NaN
Warning message:
In sqrt(eigen(M %*% t(M))$values) : production de NaN
12
Arthur CHARPENTIER - Analyse des donn´ees
et de mˆeme, une correspondance peut ˆetre faite entre les matrices de transition
> eigen(M%*%t(M))$vectors[,1:3]
[,1] [,2] [,3]
[1,] -0.2939547 0.411761479 0.1437865
[2,] -0.5344927 0.576483364 0.2141664
[3,] -0.4920963 0.004313133 -0.4529159
[4,] -0.4119712 -0.366246257 -0.5630259
[5,] -0.4647893 -0.603294698 0.6413479
> svd(M)$u
[,1] [,2] [,3]
[1,] -0.2939547 -0.411761479 -0.1437865
[2,] -0.5344927 -0.576483364 -0.2141664
[3,] -0.4920963 -0.004313133 0.4529159
[4,] -0.4119712 0.366246257 0.5630259
[5,] -0.4647893 0.603294698 -0.6413479
et
> eigen(t(M)%*%M)$vectors
[,1] [,2] [,3]
[1,] -0.2869216 0.1017140 0.95253884
[2,] -0.4658692 -0.8836587 -0.04596922
13
Arthur CHARPENTIER - Analyse des donn´ees
[3,] -0.8370435 0.4569481 -0.30092622
> svd(M)$v
[,1] [,2] [,3]
[1,] -0.2869216 0.1017140 0.95253884
[2,] -0.4658692 -0.8836587 -0.04596922
[3,] -0.8370435 0.4569481 -0.30092622
Bref, nous pouvons d´ecomposer, simplifier, puis recomposer...
L’id´ee de l’analyse en composantes principales (ACP) est concentrer sur un petit
nombre de facteurs.
L’´etude de M M donne des informations sur les individus (les 5 lignes) dans la
base des variables (les 3 colonnes). Rappelons que le premier vecteur propre, dans
cet espace (i.e. R3
) est
> eigen(t(M)%*%M)$vectors[,1]
[1] -0.2869216 -0.4658692 -0.8370435
Le centre de gravit´e associ´e `a la matrice est
> (m=apply(M,2,mean))
[1] 2.2 3.6 6.4
14
Arthur CHARPENTIER - Analyse des donn´ees
On peut calculer la matrice de covariance associ´ee `a M,
> cov(M)*4/5
[,1] [,2] [,3]
[1,] 0.56 -0.72 0.92
[2,] -0.72 8.24 -3.44
[3,] 0.92 -3.44 3.84
(le facteur 4/5 vient du fait que l’on souhaite connaˆıtre la variance empirique).
Et on appelle intertie totale du nuage la moyenne des carr´es des distances au
centre de gravit´e,
> (t(M)-m)^2
[,1] [,2] [,3] [,4] [,5]
[1,] 1.44 0.04 0.64 0.64 0.04
[2,] 1.96 19.36 0.16 6.76 12.96
[3,] 11.56 0.16 0.36 0.36 6.76
> apply((t(M)-m)^2,1,mean)
[1] 0.56 8.24 3.84
Notons que l’inertie est alors simplement trace(M),
> sum(apply((t(M)-m)^2,1,mean))
15
Arthur CHARPENTIER - Analyse des donn´ees
[1] 12.64
> sum(diag(cov(M)*4/5))
[1] 12.64
Pour revenir `a nos vecteurs propres, notons que les coordonn´ees des individus
dans la nouvelle base des vecteurs propress sont alors
> M%*%P1
[,1] [,2] [,3]
[1,] -5.127398 -2.94573520 -0.1800859
[2,] -9.323058 -4.12415301 -0.2682334
[3,] -8.583546 -0.03085609 0.5672561
[4,] -7.185939 2.62012001 0.7051637
[5,] -8.107235 4.31596087 -0.8032583
L’inertie du nuage projet´e sur chacun des axes propres est donn´e par
> diag((t(P1)%*%V%*%P1)/(t(P1)%*%P1))
[1] 2.0914754 10.2348141 0.3137105
Notons que ces inerties correspondent aux valeurs propres de la matrice de
variance covariance de M,
16
Arthur CHARPENTIER - Analyse des donn´ees
> eigen(V)
$values
[1] 10.2426324 2.0842335 0.3131342
$vectors
[,1] [,2] [,3]
[1,] 0.1104654 0.2664074 0.95750953
[2,] -0.8688099 0.4937506 -0.03714359
[3,] 0.4826662 0.8277907 -0.28599974
L’analyse d’un tableau `a n lignes et p colonnes, en ACP, repose sur
– la repr´esentation des n individus sur les p variables (i.e. visualisation de n
points dans Rp
)
– la repr´esentation des p variables sur les n individus (i.e. visualisation de p
points dans Rn
)
Ces deux analyses pr´esentent l’avantage d’avoir beaucoup de points en commun.
On parlera d’analyse duale.
1. Les axes factoriels dans Rn
se d´eduisent de ceux obtenus dans l’analyse
17
Arthur CHARPENTIER - Analyse des donn´ees
directe (dans Rp
)
2. Les taux d’inertie sont identiques pour les axes de mˆeme rang dans les deux
analyses
Cette dualit´e se traduit formellement par la relation suivante : dans l’analyse
directe, on cherche ui tel que X Xui = λiui et dans l’analyse duale le vj tels que
XX vi = λivi, et les vecteurs propres v´erifient
ui =
1
√
λi
X vi et vi =
1
√
λi
Xui
(on parle de formules de transition). Les axes dans un espace se d´eduisent
(simplement) de ceux de l’autre espace.
Comme annonc´e, on peut aussi obtenir les formules de transition sur les vecteurs
propres de MM et M M
> t(t(t(M)%*%eigen(M%*%t(M))$vectors)/sqrt(eigen(M%*%t(M))$values))
[,1] [,2] [,3] [,4] [,5]
[1,] -0.2869216 -0.1017140 -0.95253884 -3.060483e-07 NaN
[2,] -0.4658692 0.8836587 0.04596922 1.810937e-08 NaN
18
Arthur CHARPENTIER - Analyse des donn´ees
[3,] -0.8370435 -0.4569481 0.30092622 9.869604e-08 NaN
> eigen(t(M)%*%M)$vectors
[,1] [,2] [,3]
[1,] -0.2869216 0.1017140 0.95253884
[2,] -0.4658692 -0.8836587 -0.04596922
[3,] -0.8370435 0.4569481 -0.30092622
ou, de mani`ere duale,
> t(t(M%*%eigen(t(M)%*%M)$vectors)/sqrt(eigen(t(M)%*%M)$values))
[,1] [,2] [,3]
[1,] -0.2939547 -0.411761479 -0.1437865
[2,] -0.5344927 -0.576483364 -0.2141664
[3,] -0.4920963 -0.004313133 0.4529159
[4,] -0.4119712 0.366246257 0.5630259
[5,] -0.4647893 0.603294698 -0.6413479
> eigen(M%*%t(M))$vectors
[,1] [,2] [,3] [,4] [,5]
[1,] -0.2939547 0.411761479 0.1437865 0.00000000 0.85051075
[2,] -0.5344927 0.576483364 0.2141664 0.29339899 -0.50003428
[3,] -0.4920963 0.004313133 -0.4529159 -0.73725901 -0.09559762
[4,] -0.4119712 -0.366246257 -0.5630259 0.60184409 0.13011096
19
Arthur CHARPENTIER - Analyse des donn´ees
[5,] -0.4647893 -0.603294698 0.6413479 -0.09027661 0.02300889
On retrouve sur ce petit exemple que les signes ne co¨ıncident pas sur les 2`eme et
3`eme colonnes.
Les
bluecomposantes principales sont les 3 vecteurs de R5
d´efinis par les facteurs
principaux, Mu
> M%*%eigen(t(M)%*%M)$vectors
[,1] [,2] [,3]
[1,] -5.127398 -2.94573520 -0.1800859
[2,] -9.323058 -4.12415301 -0.2682334
[3,] -8.583546 -0.03085609 0.5672561
[4,] -7.185939 2.62012001 0.7051637
[5,] -8.107235 4.31596087 -0.8032583
qui correspondent aussi aux coordonn´ees des lignes,
> library(ade4)
> dudi.pca(M,center=FALSE,scale=FALSE)$li
Select the number of axes: 5
20
Arthur CHARPENTIER - Analyse des donn´ees
Axis1 Axis2 Axis3
1 -5.127398 -2.94573520 -0.1800859
2 -9.323058 -4.12415301 -0.2682334
3 -8.583546 -0.03085609 0.5672561
4 -7.185939 2.62012001 0.7051637
5 -8.107235 4.31596087 -0.8032583
21
Arthur CHARPENTIER - Analyse des donn´ees
En analyse factorielle des correspondances (simples), nous travaillerons avec
d’autres types de matrices, parfois appel´ee stochastiques, voire stochastiques, au
sens o`u elles peuvent ˆetre interpr´et´ees comme des distributions de probabilit´e.
Par exemple
> (M=matrix(c(0.4,0.5,0.1,0.2,0.7,0.1,0.6,0.1,0.3,0.2,0.2,0.6),3,4))
[,1] [,2] [,3] [,4]
[1,] 0.4 0.2 0.6 0.2
[2,] 0.5 0.7 0.1 0.2
[3,] 0.1 0.1 0.3 0.6
Chaque colonne de cette matrice peut ˆetre interpr´et´ee comme une distribution de
probabit´e : pour la seconde colonne (seconde modalit´e de la variable X2), la
modalit´e prise par X1 est 1 dans 20% des cas, 2 dans 70% des cas et 3 dans 10%
des cas.
Ces matrices v´erifient un certain nombre de propri´et´es...
22
Arthur CHARPENTIER - Analyse des donn´ees
En analyse factorielle multiple, nous utiliserons des tableaux disjonctifs conplets.
Les matrices associ´ees sont des propri´et´es particuli`eres :
• elles ne sont compos´ees que de 0 et de 1
• pour toute colonne j, il existe un ensemble de colonnes J avec j ∈ J tel que la
somme des colonnes J est le vecteur 1.
Par exemple
> (M=matrix(c(1,0,0,1,0,1,1,0,0,1,0,0,1,0,0,0,0,0,1,1),4,5))
[,1] [,2] [,3] [,4] [,5]
[1,] 1 0 0 1 0
[2,] 0 1 1 0 0
[3,] 0 1 0 0 1
[4,] 1 0 0 0 1
> apply(M[,1:2],1,sum)
[1] 1 1 1 1
> apply(M[,3:5],1,sum)
[1] 1 1 1 1
23

Más contenido relacionado

La actualidad más candente (20)

Slides ensae 3
Slides ensae 3Slides ensae 3
Slides ensae 3
 
Slides act2040-a2013-2
Slides act2040-a2013-2Slides act2040-a2013-2
Slides act2040-a2013-2
 
Slides ensae 7
Slides ensae 7Slides ensae 7
Slides ensae 7
 
Slides act6420-e2014-ts-2
Slides act6420-e2014-ts-2Slides act6420-e2014-ts-2
Slides act6420-e2014-ts-2
 
Slides ensae - Actuariat Assurance Non-Vie, #1
Slides ensae - Actuariat Assurance Non-Vie, #1Slides ensae - Actuariat Assurance Non-Vie, #1
Slides ensae - Actuariat Assurance Non-Vie, #1
 
Slides ensae-2016-5
Slides ensae-2016-5Slides ensae-2016-5
Slides ensae-2016-5
 
Slides 2040-2-0
Slides 2040-2-0Slides 2040-2-0
Slides 2040-2-0
 
Slides 2040-5
Slides 2040-5Slides 2040-5
Slides 2040-5
 
Projet Methode numerique_(MENG Try)
Projet Methode numerique_(MENG Try)Projet Methode numerique_(MENG Try)
Projet Methode numerique_(MENG Try)
 
Slide 2040-1
Slide 2040-1Slide 2040-1
Slide 2040-1
 
Projet Méthodes Numériques
Projet  Méthodes Numériques Projet  Méthodes Numériques
Projet Méthodes Numériques
 
Slides ensae - Actuariat Assurance Non Vie 2
Slides ensae - Actuariat Assurance Non Vie 2Slides ensae - Actuariat Assurance Non Vie 2
Slides ensae - Actuariat Assurance Non Vie 2
 
Cours gestion-actifs-r1-part-2b
Cours gestion-actifs-r1-part-2bCours gestion-actifs-r1-part-2b
Cours gestion-actifs-r1-part-2b
 
Slides ensae 6
Slides ensae 6Slides ensae 6
Slides ensae 6
 
Cours econometrie-uqam-st-2-v2
Cours econometrie-uqam-st-2-v2Cours econometrie-uqam-st-2-v2
Cours econometrie-uqam-st-2-v2
 
Slides 2040-6
Slides 2040-6Slides 2040-6
Slides 2040-6
 
Slides ensae-2016-6
Slides ensae-2016-6Slides ensae-2016-6
Slides ensae-2016-6
 
Slides 2040-5
Slides 2040-5Slides 2040-5
Slides 2040-5
 
Slides ensae 5
Slides ensae 5Slides ensae 5
Slides ensae 5
 
Minimal Submanifolds Z.C
Minimal Submanifolds Z.CMinimal Submanifolds Z.C
Minimal Submanifolds Z.C
 

Destacado

Data mining - ACP Analyse en Composantes Principales
Data mining - ACP Analyse en Composantes PrincipalesData mining - ACP Analyse en Composantes Principales
Data mining - ACP Analyse en Composantes PrincipalesMohamed Heny SELMI
 
Data mining - Segmentation(k-means, cah)
Data mining - Segmentation(k-means, cah)Data mining - Segmentation(k-means, cah)
Data mining - Segmentation(k-means, cah)Mohamed Heny SELMI
 
Exercice arbre de décision
Exercice arbre de décision Exercice arbre de décision
Exercice arbre de décision Yassine Badri
 
Data mining - Classification - arbres de décision
Data mining - Classification - arbres de décisionData mining - Classification - arbres de décision
Data mining - Classification - arbres de décisionMohamed Heny SELMI
 
Slides barcelona Machine Learning
Slides barcelona Machine LearningSlides barcelona Machine Learning
Slides barcelona Machine LearningArthur Charpentier
 
Introduction au datamining, concepts et techniques
Introduction au datamining, concepts et techniquesIntroduction au datamining, concepts et techniques
Introduction au datamining, concepts et techniquesIsmail CHAIB
 
Graduate Econometrics Course, part 4, 2017
Graduate Econometrics Course, part 4, 2017Graduate Econometrics Course, part 4, 2017
Graduate Econometrics Course, part 4, 2017Arthur Charpentier
 
Econometrics, PhD Course, #1 Nonlinearities
Econometrics, PhD Course, #1 NonlinearitiesEconometrics, PhD Course, #1 Nonlinearities
Econometrics, PhD Course, #1 NonlinearitiesArthur Charpentier
 
Slides econometrics-2017-graduate-2
Slides econometrics-2017-graduate-2Slides econometrics-2017-graduate-2
Slides econometrics-2017-graduate-2Arthur Charpentier
 
Analyse en composantes principales, ACP, sous SPSS (Principal Component Analy...
Analyse en composantes principales, ACP, sous SPSS (Principal Component Analy...Analyse en composantes principales, ACP, sous SPSS (Principal Component Analy...
Analyse en composantes principales, ACP, sous SPSS (Principal Component Analy...Adad Med Chérif
 

Destacado (20)

Cours add-r1-part1
Cours add-r1-part1Cours add-r1-part1
Cours add-r1-part1
 
Cours add-r1-part5
Cours add-r1-part5Cours add-r1-part5
Cours add-r1-part5
 
Cours add-r1-part3
Cours add-r1-part3Cours add-r1-part3
Cours add-r1-part3
 
Data mining - ACP Analyse en Composantes Principales
Data mining - ACP Analyse en Composantes PrincipalesData mining - ACP Analyse en Composantes Principales
Data mining - ACP Analyse en Composantes Principales
 
Eco558 1a
Eco558 1aEco558 1a
Eco558 1a
 
Intro vrais loc-print
Intro vrais loc-printIntro vrais loc-print
Intro vrais loc-print
 
Data mining - Segmentation(k-means, cah)
Data mining - Segmentation(k-means, cah)Data mining - Segmentation(k-means, cah)
Data mining - Segmentation(k-means, cah)
 
Slides erm-cea-ia
Slides erm-cea-iaSlides erm-cea-ia
Slides erm-cea-ia
 
Exercice arbre de décision
Exercice arbre de décision Exercice arbre de décision
Exercice arbre de décision
 
Data mining - Classification - arbres de décision
Data mining - Classification - arbres de décisionData mining - Classification - arbres de décision
Data mining - Classification - arbres de décision
 
Classification
ClassificationClassification
Classification
 
Slides lln-risques
Slides lln-risquesSlides lln-risques
Slides lln-risques
 
Slides barcelona Machine Learning
Slides barcelona Machine LearningSlides barcelona Machine Learning
Slides barcelona Machine Learning
 
Data Mining
Data MiningData Mining
Data Mining
 
Introduction au datamining, concepts et techniques
Introduction au datamining, concepts et techniquesIntroduction au datamining, concepts et techniques
Introduction au datamining, concepts et techniques
 
Graduate Econometrics Course, part 4, 2017
Graduate Econometrics Course, part 4, 2017Graduate Econometrics Course, part 4, 2017
Graduate Econometrics Course, part 4, 2017
 
Econometrics, PhD Course, #1 Nonlinearities
Econometrics, PhD Course, #1 NonlinearitiesEconometrics, PhD Course, #1 Nonlinearities
Econometrics, PhD Course, #1 Nonlinearities
 
Slides econometrics-2017-graduate-2
Slides econometrics-2017-graduate-2Slides econometrics-2017-graduate-2
Slides econometrics-2017-graduate-2
 
Econometrics 2017-graduate-3
Econometrics 2017-graduate-3Econometrics 2017-graduate-3
Econometrics 2017-graduate-3
 
Analyse en composantes principales, ACP, sous SPSS (Principal Component Analy...
Analyse en composantes principales, ACP, sous SPSS (Principal Component Analy...Analyse en composantes principales, ACP, sous SPSS (Principal Component Analy...
Analyse en composantes principales, ACP, sous SPSS (Principal Component Analy...
 

Similar a Cours add-r1-part0

Lecture 3: Visualization and Programming
Lecture 3: Visualization and ProgrammingLecture 3: Visualization and Programming
Lecture 3: Visualization and ProgrammingSmee Kaem Chann
 
Guía ejerc combin decimales
Guía ejerc combin decimalesGuía ejerc combin decimales
Guía ejerc combin decimalesveroco7
 
Compte rendu tp automatique 1
Compte rendu tp automatique 1Compte rendu tp automatique 1
Compte rendu tp automatique 1hamdinho
 
Cours_Info_MIAS_1A_chap4cours N01.pptx
Cours_Info_MIAS_1A_chap4cours N01.pptxCours_Info_MIAS_1A_chap4cours N01.pptx
Cours_Info_MIAS_1A_chap4cours N01.pptxbellalbenouis
 
Exercices corrigés les matrices- djeddi kamel
Exercices corrigés les matrices- djeddi kamelExercices corrigés les matrices- djeddi kamel
Exercices corrigés les matrices- djeddi kamelKamel Djeddi
 
Cours Algorithme: Matrice
Cours Algorithme: MatriceCours Algorithme: Matrice
Cours Algorithme: MatriceInforMatica34
 
Calcul scientifique avec python Numpy
Calcul scientifique avec python NumpyCalcul scientifique avec python Numpy
Calcul scientifique avec python NumpyHaytam EL YOUSSFI
 

Similar a Cours add-r1-part0 (11)

Lecture 3: Visualization and Programming
Lecture 3: Visualization and ProgrammingLecture 3: Visualization and Programming
Lecture 3: Visualization and Programming
 
Matlab by Prof.Keang Sè Pouv
Matlab by Prof.Keang Sè PouvMatlab by Prof.Keang Sè Pouv
Matlab by Prof.Keang Sè Pouv
 
Guía ejerc combin decimales
Guía ejerc combin decimalesGuía ejerc combin decimales
Guía ejerc combin decimales
 
Compte rendu tp automatique 1
Compte rendu tp automatique 1Compte rendu tp automatique 1
Compte rendu tp automatique 1
 
Slide matlab
Slide matlab Slide matlab
Slide matlab
 
Cours_Info_MIAS_1A_chap4cours N01.pptx
Cours_Info_MIAS_1A_chap4cours N01.pptxCours_Info_MIAS_1A_chap4cours N01.pptx
Cours_Info_MIAS_1A_chap4cours N01.pptx
 
Exercices corrigés les matrices- djeddi kamel
Exercices corrigés les matrices- djeddi kamelExercices corrigés les matrices- djeddi kamel
Exercices corrigés les matrices- djeddi kamel
 
04 cours matrices_suites
04 cours matrices_suites04 cours matrices_suites
04 cours matrices_suites
 
Cours Algorithme: Matrice
Cours Algorithme: MatriceCours Algorithme: Matrice
Cours Algorithme: Matrice
 
Slides desjardins-2011
Slides desjardins-2011Slides desjardins-2011
Slides desjardins-2011
 
Calcul scientifique avec python Numpy
Calcul scientifique avec python NumpyCalcul scientifique avec python Numpy
Calcul scientifique avec python Numpy
 

Más de Arthur Charpentier (20)

Family History and Life Insurance
Family History and Life InsuranceFamily History and Life Insurance
Family History and Life Insurance
 
ACT6100 introduction
ACT6100 introductionACT6100 introduction
ACT6100 introduction
 
Family History and Life Insurance (UConn actuarial seminar)
Family History and Life Insurance (UConn actuarial seminar)Family History and Life Insurance (UConn actuarial seminar)
Family History and Life Insurance (UConn actuarial seminar)
 
Control epidemics
Control epidemics Control epidemics
Control epidemics
 
STT5100 Automne 2020, introduction
STT5100 Automne 2020, introductionSTT5100 Automne 2020, introduction
STT5100 Automne 2020, introduction
 
Family History and Life Insurance
Family History and Life InsuranceFamily History and Life Insurance
Family History and Life Insurance
 
Machine Learning in Actuarial Science & Insurance
Machine Learning in Actuarial Science & InsuranceMachine Learning in Actuarial Science & Insurance
Machine Learning in Actuarial Science & Insurance
 
Reinforcement Learning in Economics and Finance
Reinforcement Learning in Economics and FinanceReinforcement Learning in Economics and Finance
Reinforcement Learning in Economics and Finance
 
Optimal Control and COVID-19
Optimal Control and COVID-19Optimal Control and COVID-19
Optimal Control and COVID-19
 
Slides OICA 2020
Slides OICA 2020Slides OICA 2020
Slides OICA 2020
 
Lausanne 2019 #3
Lausanne 2019 #3Lausanne 2019 #3
Lausanne 2019 #3
 
Lausanne 2019 #4
Lausanne 2019 #4Lausanne 2019 #4
Lausanne 2019 #4
 
Lausanne 2019 #2
Lausanne 2019 #2Lausanne 2019 #2
Lausanne 2019 #2
 
Lausanne 2019 #1
Lausanne 2019 #1Lausanne 2019 #1
Lausanne 2019 #1
 
Side 2019 #10
Side 2019 #10Side 2019 #10
Side 2019 #10
 
Side 2019 #11
Side 2019 #11Side 2019 #11
Side 2019 #11
 
Side 2019 #12
Side 2019 #12Side 2019 #12
Side 2019 #12
 
Side 2019 #9
Side 2019 #9Side 2019 #9
Side 2019 #9
 
Side 2019 #8
Side 2019 #8Side 2019 #8
Side 2019 #8
 
Side 2019 #7
Side 2019 #7Side 2019 #7
Side 2019 #7
 

Cours add-r1-part0

  • 1. Arthur CHARPENTIER - Analyse des donn´ees Analyse des donn´ees (0) Petit compl´ement d’alg`ebre lin´eaire Arthur Charpentier http ://perso.univ-rennes1.fr/arthur.charpentier/ blog.univ-rennes1.fr/arthur.charpentier/ Master 2, Universit´e Rennes 1 1
  • 2. Arthur CHARPENTIER - Analyse des donn´ees Un peu de manipulation matricielle Consid´erons la matrice 5 × 3 suivante, not´ee M > M=matrix(c(1,2,3,3,2,5,8,4,1,0,3,6,7,7,9),5,3) > M [,1] [,2] [,3] [1,] 1 5 3 [2,] 2 8 6 [3,] 3 4 7 [4,] 3 1 7 [5,] 2 0 9 L’´etude des valeurs propres et vecteurs propres de MM donne > M%*%t(M) [,1] [,2] [,3] [,4] [,5] [1,] 35 60 44 29 29 [2,] 60 104 80 56 58 [3,] 44 80 74 62 69 [4,] 29 56 62 59 69 [5,] 29 58 69 69 85 > eigen(M%*%t(M)) 2
  • 3. Arthur CHARPENTIER - Analyse des donn´ees $values [1] 3.042519e+02 5.117949e+01 1.568639e+00 3.758495e-15 -5.406259e-15 $vectors [,1] [,2] [,3] [,4] [,5] [1,] -0.2939547 0.411761479 0.1437865 0.00000000 0.85051075 [2,] -0.5344927 0.576483364 0.2141664 0.29339899 -0.50003428 [3,] -0.4920963 0.004313133 -0.4529159 -0.73725901 -0.09559762 [4,] -0.4119712 -0.366246257 -0.5630259 0.60184409 0.13011096 [5,] -0.4647893 -0.603294698 0.6413479 -0.09027661 0.02300889 alors que l’´etude des valeurs propres et vecteurs propres de M M donne > t(M)%*%M [,1] [,2] [,3] [1,] 27 36 75 [2,] 36 106 98 [3,] 75 98 224 > eigen(t(M)%*%M) $values [1] 304.251867 51.179493 1.568639 3
  • 4. Arthur CHARPENTIER - Analyse des donn´ees $vectors [,1] [,2] [,3] [1,] -0.2869216 0.1017140 0.95253884 [2,] -0.4658692 -0.8836587 -0.04596922 [3,] -0.8370435 0.4569481 -0.30092622 Notons que les 3 plus grandes valeurs propres sont identiques. De plus, on retrouve num´eriquement la formule de diagonalisation M M = PDP , o`u P est la matrice des vecteurs propres (matrice de changement de base) et D est la matrice diagonale des valeurs propres, > P1=eigen(t(M)%*%M)$vectors > D1=diag(eigen(t(M)%*%M)$values) > P1%*%D1%*%t(P1) [,1] [,2] [,3] [1,] 27 36 75 [2,] 36 106 98 [3,] 75 98 224 et de mani`ere similaire pour MM , > P2=eigen(M%*%t(M))$vectors 4
  • 5. Arthur CHARPENTIER - Analyse des donn´ees > D2=diag(eigen(M%*%t(M))$values) > P2%*%D2%*%t(P2) [,1] [,2] [,3] [,4] [,5] [1,] 35 60 44 29 29 [2,] 60 104 80 56 58 [3,] 44 80 74 62 69 [4,] 29 56 62 59 69 [5,] 29 58 69 69 85 Pour l’instant, avec les valeurs propres et les vecteurs propres de M M et de MM , nous arrivons `a reconstituer ces deux matrices. L’int´erˆet de ces m´ethodes - dites factorielles - est la reconstitution des donn´ees initiales. En particulier, on peut reconstituer un tableau tr`es proche du tableau intial avec un nombre beaucoup plus petit de param`etres. D’un point de vue technique, il s’agit simplement de la d´ecomposition en valeurs singuli`eres d’une matrice rectangulaire (on parle de d´ecomposition d’Eckart-Young). Autrement dit, pouvons nous reconstituer la matrice M de d´epart ? 5
  • 6. Arthur CHARPENTIER - Analyse des donn´ees Le seul soucis est que les vecteurs propres calcul´es ne sont pas uniques. On notera toutefois qu’ils sont unitaires. > P1 [,1] [,2] [,3] [1,] -0.2869216 0.1017140 0.95253884 [2,] -0.4658692 -0.8836587 -0.04596922 [3,] -0.8370435 0.4569481 -0.30092622 > sum(P1[,1]^2) [1] 1 > sum(P1[,2]^2) [1] 1 > sum(P1[,3]^2) [1] 1 On peut mˆeme montrer qu’ils sont orthogonaux > sum(P1[,3]*P1[,2]) [1] 1.387779e-17 > sum(P1[,2]*P1[,3]) [1] 1.387779e-17 > sum(P1[,2]*P1[,1]) 6
  • 7. Arthur CHARPENTIER - Analyse des donn´ees [1] -4.163336e-17 En effet, toute matrice symm´etrique r´eelle (ce qui est le cas par construction de M M et de MM ) est diagonalisable dans une base orthonorm´ee. Mais si u est un vecteur propre unitaire pour M M, associ´e `a une valeur propre λ, alors −u aussi (et il reste orthogonal aux autres vecteurs propres). Bref, on a un soucis sur le signe des vecteurs propres. En changeant le signe des vecteurs propres 2 et 3 propos´es par R, on peut reconstituer la matrice M initale. En effet > P2b=cbind(P2[,1],-P2[,2:3],P2[,4:5]) > P2b [,1] [,2] [,3] [,4] [,5] [1,] -0.2939547 -0.411761479 -0.1437865 0.00000000 0.85051075 [2,] -0.5344927 -0.576483364 -0.2141664 0.29339899 -0.50003428 [3,] -0.4920963 -0.004313133 0.4529159 -0.73725901 -0.09559762 [4,] -0.4119712 0.366246257 0.5630259 0.60184409 0.13011096 [5,] -0.4647893 0.603294698 -0.6413479 -0.09027661 0.02300889 > P2 [,1] [,2] [,3] [,4] [,5] 7
  • 8. Arthur CHARPENTIER - Analyse des donn´ees [1,] -0.2939547 0.411761479 0.1437865 0.00000000 0.85051075 [2,] -0.5344927 0.576483364 0.2141664 0.29339899 -0.50003428 [3,] -0.4920963 0.004313133 -0.4529159 -0.73725901 -0.09559762 [4,] -0.4119712 -0.366246257 -0.5630259 0.60184409 0.13011096 [5,] -0.4647893 -0.603294698 0.6413479 -0.09027661 0.02300889 > P2b%*%sqrt(D2[,1:3])%*%t(P1) [,1] [,2] [,3] [1,] 1 5.000000e+00 3 [2,] 2 8.000000e+00 6 [3,] 3 4.000000e+00 7 [4,] 3 1.000000e+00 7 [5,] 2 -1.316882e-15 9 Autrement dit, il est possible de reconstituer la matrice initiale (au probl`eme de signe pr`es). L’id´ee de l’analyse factorielle est de se dire qu’il est inutile de prendre en compte toutes toutes les composantes. Autrement dit, si l’on suppose que deux facteurs seulement interviennent, cela revient `a ne garder dans la matrice diagonale que 2 valeurs, les 2 facteurs principaux. 8
  • 9. Arthur CHARPENTIER - Analyse des donn´ees > D20=D2 > D20[3,3]=0 > P2b%*%sqrt(D20[,1:3])%*%t(P1) [,1] [,2] [,3] [1,] 1.171539 4.99172159 2.945807 [2,] 2.255503 7.98766952 5.919282 [3,] 2.459667 4.02607632 7.170702 [4,] 2.328304 1.03241583 7.212202 [5,] 2.765135 -0.03692516 8.758279 > M [,1] [,2] [,3] [1,] 1 5 3 [2,] 2 8 6 [3,] 3 4 7 [4,] 3 1 7 [5,] 2 0 9 On voit qu’en ne gardant ici que les deux premiers facteurs, on obtient une matrice reconstitu´ee relativement proche de la matrice M initiale. Pour cela, nous avons gard´e les deux premi`eres valeurs propres. Supposons que 9
  • 10. Arthur CHARPENTIER - Analyse des donn´ees l’on garde les deux derni`eres, > D20=D2 > D20[1,1]=0 > P2b%*%sqrt(D20[,1:3])%*%t(P1) [,1] [,2] [,3] [1,] -0.4711614 2.611302953 -1.2918555 [2,] -0.6749870 3.656674168 -1.8038054 [3,] 0.5371949 0.001189930 -0.1848019 [4,] 0.9381988 -2.347707675 0.9850566 [5,] -0.3261410 -3.776911215 2.2138916 > M [,1] [,2] [,3] [1,] 1 5 3 [2,] 2 8 6 [3,] 3 4 7 [4,] 3 1 7 [5,] 2 0 9 dans ce cas, on ne reconstitue pas du tout la matrice M. Autrement dit, on peut relativement bien reconstituer la matrice initiale `a 10
  • 11. Arthur CHARPENTIER - Analyse des donn´ees condition de garder les facteurs principaux, c’est `a dire associ´es aux plus grandes valeurs propres. Notons que cette d´ecomposition/recomposition est `a relier avec la d´ecomposition en valeurs singuli`ere > svd(M) $d [1] 17.442817 7.153984 1.252453 $u [,1] [,2] [,3] [1,] -0.2939547 -0.411761479 -0.1437865 [2,] -0.5344927 -0.576483364 -0.2141664 [3,] -0.4920963 -0.004313133 0.4529159 [4,] -0.4119712 0.366246257 0.5630259 [5,] -0.4647893 0.603294698 -0.6413479 $v [,1] [,2] [,3] [1,] -0.2869216 0.1017140 0.95253884 [2,] -0.4658692 -0.8836587 -0.04596922 11
  • 12. Arthur CHARPENTIER - Analyse des donn´ees [3,] -0.8370435 0.4569481 -0.30092622 > svd(M)$u%*%diag(svd(M)$d)%*%t(svd(M)$v) [,1] [,2] [,3] [1,] 1 5.000000e+00 3 [2,] 2 8.000000e+00 6 [3,] 3 4.000000e+00 7 [4,] 3 1.000000e+00 7 [5,] 2 2.245572e-15 9 Les “valeurs propres” de M sont simplement des racines des valeurs propres de M M ou MM > svd(M)$d [1] 17.442817 7.153984 1.252453 > sqrt(eigen(t(M)%*%M)$values) [1] 17.442817 7.153984 1.252453 > sqrt(eigen(M%*%t(M))$values) [1] 1.744282e+01 7.153984e+00 1.252453e+00 6.130657e-08 NaN Warning message: In sqrt(eigen(M %*% t(M))$values) : production de NaN 12
  • 13. Arthur CHARPENTIER - Analyse des donn´ees et de mˆeme, une correspondance peut ˆetre faite entre les matrices de transition > eigen(M%*%t(M))$vectors[,1:3] [,1] [,2] [,3] [1,] -0.2939547 0.411761479 0.1437865 [2,] -0.5344927 0.576483364 0.2141664 [3,] -0.4920963 0.004313133 -0.4529159 [4,] -0.4119712 -0.366246257 -0.5630259 [5,] -0.4647893 -0.603294698 0.6413479 > svd(M)$u [,1] [,2] [,3] [1,] -0.2939547 -0.411761479 -0.1437865 [2,] -0.5344927 -0.576483364 -0.2141664 [3,] -0.4920963 -0.004313133 0.4529159 [4,] -0.4119712 0.366246257 0.5630259 [5,] -0.4647893 0.603294698 -0.6413479 et > eigen(t(M)%*%M)$vectors [,1] [,2] [,3] [1,] -0.2869216 0.1017140 0.95253884 [2,] -0.4658692 -0.8836587 -0.04596922 13
  • 14. Arthur CHARPENTIER - Analyse des donn´ees [3,] -0.8370435 0.4569481 -0.30092622 > svd(M)$v [,1] [,2] [,3] [1,] -0.2869216 0.1017140 0.95253884 [2,] -0.4658692 -0.8836587 -0.04596922 [3,] -0.8370435 0.4569481 -0.30092622 Bref, nous pouvons d´ecomposer, simplifier, puis recomposer... L’id´ee de l’analyse en composantes principales (ACP) est concentrer sur un petit nombre de facteurs. L’´etude de M M donne des informations sur les individus (les 5 lignes) dans la base des variables (les 3 colonnes). Rappelons que le premier vecteur propre, dans cet espace (i.e. R3 ) est > eigen(t(M)%*%M)$vectors[,1] [1] -0.2869216 -0.4658692 -0.8370435 Le centre de gravit´e associ´e `a la matrice est > (m=apply(M,2,mean)) [1] 2.2 3.6 6.4 14
  • 15. Arthur CHARPENTIER - Analyse des donn´ees On peut calculer la matrice de covariance associ´ee `a M, > cov(M)*4/5 [,1] [,2] [,3] [1,] 0.56 -0.72 0.92 [2,] -0.72 8.24 -3.44 [3,] 0.92 -3.44 3.84 (le facteur 4/5 vient du fait que l’on souhaite connaˆıtre la variance empirique). Et on appelle intertie totale du nuage la moyenne des carr´es des distances au centre de gravit´e, > (t(M)-m)^2 [,1] [,2] [,3] [,4] [,5] [1,] 1.44 0.04 0.64 0.64 0.04 [2,] 1.96 19.36 0.16 6.76 12.96 [3,] 11.56 0.16 0.36 0.36 6.76 > apply((t(M)-m)^2,1,mean) [1] 0.56 8.24 3.84 Notons que l’inertie est alors simplement trace(M), > sum(apply((t(M)-m)^2,1,mean)) 15
  • 16. Arthur CHARPENTIER - Analyse des donn´ees [1] 12.64 > sum(diag(cov(M)*4/5)) [1] 12.64 Pour revenir `a nos vecteurs propres, notons que les coordonn´ees des individus dans la nouvelle base des vecteurs propress sont alors > M%*%P1 [,1] [,2] [,3] [1,] -5.127398 -2.94573520 -0.1800859 [2,] -9.323058 -4.12415301 -0.2682334 [3,] -8.583546 -0.03085609 0.5672561 [4,] -7.185939 2.62012001 0.7051637 [5,] -8.107235 4.31596087 -0.8032583 L’inertie du nuage projet´e sur chacun des axes propres est donn´e par > diag((t(P1)%*%V%*%P1)/(t(P1)%*%P1)) [1] 2.0914754 10.2348141 0.3137105 Notons que ces inerties correspondent aux valeurs propres de la matrice de variance covariance de M, 16
  • 17. Arthur CHARPENTIER - Analyse des donn´ees > eigen(V) $values [1] 10.2426324 2.0842335 0.3131342 $vectors [,1] [,2] [,3] [1,] 0.1104654 0.2664074 0.95750953 [2,] -0.8688099 0.4937506 -0.03714359 [3,] 0.4826662 0.8277907 -0.28599974 L’analyse d’un tableau `a n lignes et p colonnes, en ACP, repose sur – la repr´esentation des n individus sur les p variables (i.e. visualisation de n points dans Rp ) – la repr´esentation des p variables sur les n individus (i.e. visualisation de p points dans Rn ) Ces deux analyses pr´esentent l’avantage d’avoir beaucoup de points en commun. On parlera d’analyse duale. 1. Les axes factoriels dans Rn se d´eduisent de ceux obtenus dans l’analyse 17
  • 18. Arthur CHARPENTIER - Analyse des donn´ees directe (dans Rp ) 2. Les taux d’inertie sont identiques pour les axes de mˆeme rang dans les deux analyses Cette dualit´e se traduit formellement par la relation suivante : dans l’analyse directe, on cherche ui tel que X Xui = λiui et dans l’analyse duale le vj tels que XX vi = λivi, et les vecteurs propres v´erifient ui = 1 √ λi X vi et vi = 1 √ λi Xui (on parle de formules de transition). Les axes dans un espace se d´eduisent (simplement) de ceux de l’autre espace. Comme annonc´e, on peut aussi obtenir les formules de transition sur les vecteurs propres de MM et M M > t(t(t(M)%*%eigen(M%*%t(M))$vectors)/sqrt(eigen(M%*%t(M))$values)) [,1] [,2] [,3] [,4] [,5] [1,] -0.2869216 -0.1017140 -0.95253884 -3.060483e-07 NaN [2,] -0.4658692 0.8836587 0.04596922 1.810937e-08 NaN 18
  • 19. Arthur CHARPENTIER - Analyse des donn´ees [3,] -0.8370435 -0.4569481 0.30092622 9.869604e-08 NaN > eigen(t(M)%*%M)$vectors [,1] [,2] [,3] [1,] -0.2869216 0.1017140 0.95253884 [2,] -0.4658692 -0.8836587 -0.04596922 [3,] -0.8370435 0.4569481 -0.30092622 ou, de mani`ere duale, > t(t(M%*%eigen(t(M)%*%M)$vectors)/sqrt(eigen(t(M)%*%M)$values)) [,1] [,2] [,3] [1,] -0.2939547 -0.411761479 -0.1437865 [2,] -0.5344927 -0.576483364 -0.2141664 [3,] -0.4920963 -0.004313133 0.4529159 [4,] -0.4119712 0.366246257 0.5630259 [5,] -0.4647893 0.603294698 -0.6413479 > eigen(M%*%t(M))$vectors [,1] [,2] [,3] [,4] [,5] [1,] -0.2939547 0.411761479 0.1437865 0.00000000 0.85051075 [2,] -0.5344927 0.576483364 0.2141664 0.29339899 -0.50003428 [3,] -0.4920963 0.004313133 -0.4529159 -0.73725901 -0.09559762 [4,] -0.4119712 -0.366246257 -0.5630259 0.60184409 0.13011096 19
  • 20. Arthur CHARPENTIER - Analyse des donn´ees [5,] -0.4647893 -0.603294698 0.6413479 -0.09027661 0.02300889 On retrouve sur ce petit exemple que les signes ne co¨ıncident pas sur les 2`eme et 3`eme colonnes. Les bluecomposantes principales sont les 3 vecteurs de R5 d´efinis par les facteurs principaux, Mu > M%*%eigen(t(M)%*%M)$vectors [,1] [,2] [,3] [1,] -5.127398 -2.94573520 -0.1800859 [2,] -9.323058 -4.12415301 -0.2682334 [3,] -8.583546 -0.03085609 0.5672561 [4,] -7.185939 2.62012001 0.7051637 [5,] -8.107235 4.31596087 -0.8032583 qui correspondent aussi aux coordonn´ees des lignes, > library(ade4) > dudi.pca(M,center=FALSE,scale=FALSE)$li Select the number of axes: 5 20
  • 21. Arthur CHARPENTIER - Analyse des donn´ees Axis1 Axis2 Axis3 1 -5.127398 -2.94573520 -0.1800859 2 -9.323058 -4.12415301 -0.2682334 3 -8.583546 -0.03085609 0.5672561 4 -7.185939 2.62012001 0.7051637 5 -8.107235 4.31596087 -0.8032583 21
  • 22. Arthur CHARPENTIER - Analyse des donn´ees En analyse factorielle des correspondances (simples), nous travaillerons avec d’autres types de matrices, parfois appel´ee stochastiques, voire stochastiques, au sens o`u elles peuvent ˆetre interpr´et´ees comme des distributions de probabilit´e. Par exemple > (M=matrix(c(0.4,0.5,0.1,0.2,0.7,0.1,0.6,0.1,0.3,0.2,0.2,0.6),3,4)) [,1] [,2] [,3] [,4] [1,] 0.4 0.2 0.6 0.2 [2,] 0.5 0.7 0.1 0.2 [3,] 0.1 0.1 0.3 0.6 Chaque colonne de cette matrice peut ˆetre interpr´et´ee comme une distribution de probabit´e : pour la seconde colonne (seconde modalit´e de la variable X2), la modalit´e prise par X1 est 1 dans 20% des cas, 2 dans 70% des cas et 3 dans 10% des cas. Ces matrices v´erifient un certain nombre de propri´et´es... 22
  • 23. Arthur CHARPENTIER - Analyse des donn´ees En analyse factorielle multiple, nous utiliserons des tableaux disjonctifs conplets. Les matrices associ´ees sont des propri´et´es particuli`eres : • elles ne sont compos´ees que de 0 et de 1 • pour toute colonne j, il existe un ensemble de colonnes J avec j ∈ J tel que la somme des colonnes J est le vecteur 1. Par exemple > (M=matrix(c(1,0,0,1,0,1,1,0,0,1,0,0,1,0,0,0,0,0,1,1),4,5)) [,1] [,2] [,3] [,4] [,5] [1,] 1 0 0 1 0 [2,] 0 1 1 0 0 [3,] 0 1 0 0 1 [4,] 1 0 0 0 1 > apply(M[,1:2],1,sum) [1] 1 1 1 1 > apply(M[,3:5],1,sum) [1] 1 1 1 1 23