• Share
  • Email
  • Embed
  • Like
  • Save
  • Private Content
Cours add-r1-part0
 

Cours add-r1-part0

on

  • 363 views

 

Statistics

Views

Total Views
363
Views on SlideShare
282
Embed Views
81

Actions

Likes
0
Downloads
4
Comments
0

1 Embed 81

http://freakonometrics.hypotheses.org 81

Accessibility

Categories

Upload Details

Uploaded via as Adobe PDF

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

    Cours add-r1-part0 Cours add-r1-part0 Presentation Transcript

    • 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