Initiation à l analyse en composantes principales



Documents pareils
ISFA 2 année Les questions sont en grande partie indépendantes. Merci d utiliser l espace imparti pour vos réponses.

Traits biologiques : variables ou K-tableaux?

L'analyse des données à l usage des non mathématiciens

Analyse en Composantes Principales

L ANALYSE EN COMPOSANTES PRINCIPALES (A.C.P.) Pierre-Louis GONZALEZ

ACP Voitures 1- Méthode

Mémo d utilisation de ADE-4

Analyse des correspondances avec colonne de référence

INTRODUCTION À L ANALYSE FACTORIELLE DES CORRESPONDANCES

Avant-après, amont-aval : les couples de tableaux totalement appariés

Analyse discriminante et régression logistique: application au cas de l innovation pour les entreprises du Canton du Tessin

Lire ; Compter ; Tester... avec R

Déroulement d un projet en DATA MINING, préparation et analyse des données. Walid AYADI

Découverte du logiciel ordinateur TI-n spire / TI-n spire CAS

Extraction d informations stratégiques par Analyse en Composantes Principales

1 Complément sur la projection du nuage des individus

Extraction d information des bases de séquences biologiques avec R

La structure de la base de données et l utilisation de PAST. Musée Royal de l Afrique Centrale (MRAC Tervuren)

Individus et informations supplémentaires

Statistique Descriptive Multidimensionnelle. (pour les nuls)

Analyses multivariées avec R Commander (via le package FactoMineR) Qu est ce que R? Introduction à R Qu est ce que R?

Introduction à la présentation graphique avec xmgrace

Densité de population et ingestion de nourriture chez un insecte vecteur de la maladie de Chagas

Logiciel XLSTAT version rue Damrémont PARIS

Première session de travail

Aide-mémoire de statistique appliquée à la biologie

Analyse exploratoire des données

Statistiques Descriptives à une dimension

TUTORIEL PAINTPOT. Louise Henninot - Anne- Cécile Patou - Julie Roquefort

La classification automatique de données quantitatives

Tutoriel Mathematica Les graphiques

Introduction à R. Florence Yerly. Dept. de mathématiques, Université de Fribourg (CH) SP 2011

Fiche TD avec le logiciel. Courbes de niveau. D. Chessel

Probabilité. Table des matières. 1 Loi de probabilité Conditions préalables Définitions Loi équirépartie...

LES TYPES DE DONNÉES DU LANGAGE PASCAL

Opérations de base sur ImageJ

La segmentation à l aide de EG-SAS. A.Bouhia Analyste principal à la Banque Nationale du Canada. Chargé de cours à l UQAM

Infolettre #18 : Les graphiques avec Excel 2010

Un exemple de régression logistique sous

Introduction. Préambule. Le contexte

Création de fonds de cartes statiques et dynamiques avec R et Google Maps

EVALUATIONS MI-PARCOURS CM2

Package TestsFaciles

Introduction à l'analyse multivariée (factorielle) sous R. Stéphane CHAMPELY

SEMIN- Gestion des couleurs sous R. Michel BAYLAC. MNHN Département Systématique et Evolution OSEB

Exercice : la frontière des portefeuilles optimaux sans actif certain

INF6304 Interfaces Intelligentes

BIRT (Business Intelligence and Reporting Tools)

Exercices M1 SES Ana Fermin ( fermin.perso.math.cnrs.fr/ ) 14 Avril 2015

Réalisation de cartes vectorielles avec Word

IMPORTATION, CRÉATION, MANIPULATION, EXPORTATION DE DONNÉES STATISTIQUES

Les concepts de base, l organisation des données

Développement mobile MIDP 2.0 Mobile 3D Graphics API (M3G) JSR 184. Frédéric BERTIN

Cours 7 : Utilisation de modules sous python

Faire un semi variograme et une carte krigée avec surfer

TP Blender n 2 : Importation d un modèle SketchUp et animation

Création d une SIGNATURE ANIMÉE avec PHOTOFILTRE 7

données en connaissance et en actions?

Exercices types Algorithmique et simulation numérique Oral Mathématiques et algorithmique Banque PT

SPHINX Logiciel de dépouillement d enquêtes

Introduction à l approche bootstrap

Analyse de la vidéo. Chapitre La modélisation pour le suivi d objet. 10 mars Chapitre La modélisation d objet 1 / 57

UTILISATION D'UN RADIOCHRONOMETRE POUR DATER DES GRANITES

Poker. A rendre pour le 25 avril

Statistique Descriptive Élémentaire

Studio. HERITIER Emmanuelle PERSYN Elodie. SCHMUTZ Amandine SCHWEITZER Guillaume

Manuel d utilisation 26 juin Tâche à effectuer : écrire un algorithme 2

La corrélation entre deux matrices de distances euclidiennes

Le Sphinx Millenium Modes opératoires Préparer, administrer, Dépouiller les enquêtes

Introduction aux Statistiques et à l utilisation du logiciel R

MANIPULATION ET VISUALISATION DE GROSSES BASES DE DONNÉES AVEC R

Optimiser pour les appareils mobiles

BASE. Vous avez alors accès à un ensemble de fonctionnalités explicitées ci-dessous :

Recherche dans un tableau

ESIEA PARIS

Séries Statistiques Simples

L analyse boursière avec Scilab

EXERCICES DE REVISIONS MATHEMATIQUES CM2

Premiers pas avec SES-Pegase (version 7.0) SES : Un Système Expert pour l analyse Statistique des données. Premiers pas avec SES-Pegase 1

SAS de base : gestion des données et procédures élémentaires

Guide de l utilisateur. Faites connaissance avec la nouvelle plateforme interactive de

Utilisation d objets : String et ArrayList

Optimiser ses graphiques avec R

Introduction à MATLAB R

Ricco.Rakotomalala

Aide - mémoire gnuplot 4.0

Python - introduction à la programmation et calcul scientifique

TUTORIAL Microsoft Project 2010 Fonctionalités de base

Introduction à Eclipse

Fonctions de plusieurs variables, intégrales multiples, et intégrales dépendant d un paramètre

Table des matières. F. Saint-Germain / S. Carasco Document réalisé avec OpenOffice.org Page 1/13

TD de supervision. J.P. Chemla. Polytech Tours Département productique 2ème année

UFR de Sciences Economiques Année TESTS PARAMÉTRIQUES

as Architecture des Systèmes d Information

Géographie CM2. Guide pédagogique. Ressources vidéoprojetables & 14 animations interactives. Jacques Arnaud Nicole Darcy Daniel Le Gal

EXCEL PERFECTIONNEMENT SERVICE INFORMATIQUE. Version /11/05

MANUEL D UTILISATION PRO-FACE

avec des nombres entiers

Statistiques Appliquées à l Expérimentation en Sciences Humaines. Christophe Lalanne, Sébastien Georges, Christophe Pallier

Transcription:

Fiche TD avec le logiciel : tdr601 Initiation à l analyse en composantes principales A.B. Dufour & J.R. Lobry Une première approche très intuitive et interactive de l ACP. Centrage et réduction des données. Table des matières 1 Introduction 2 2 Les données 2 3 Visualisation des données en trois dimensions 3 4 Centrage et réduction 4 4.1 Centrage................................ 4 4.2 Centrage et réduction........................ 5 5 La forme générale du nuage 6 6 ACP centrée-réduite dans ade4 7 6.1 Calculs................................. 7 6.1.1 tab.............................. 8 6.1.2 cw............................... 8 6.1.3 lw............................... 8 6.1.4 eig.............................. 9 6.1.5 rank.............................. 9 6.1.6 nf............................... 9 6.1.7 c1............................... 10 6.1.8 l1............................... 10 6.1.9 co............................... 10 6.1.10 li............................... 11 6.1.11 call.............................. 11 6.1.12 cent.............................. 12 6.1.13 norm.............................. 12 6.2 Dé-réduction et dé-centrage..................... 12 6.3 Représentations graphiques dans ade4............... 12 6.3.1 Représentation des individus................ 12 1

6.3.2 Représentation des variables................. 14 6.3.3 Représentation simultanée des individus et des variables. 15 7 Pour aller plus loin 17 7.1 ACP centrée non réduite....................... 17 7.2 ACP non centrée réduite....................... 18 7.3 ACP non centrée non réduite.................... 18 Références 18 1 Introduction Les méthodes d analyse multivariées sont une branche à part entière des statistiques. Nous vous proposons ici une introduction, très sommaire, à l une d entre elles, connue sous le nom d analyse en composantes principales (ACP). Plus précisément, nous n utiliserons qu une des variantes de l ACP, l ACP centrée et réduite appelée aussi ACP normée. 2 Les données Nous allons utiliser un jeu de données très simple extrait de survey du paquetage MASS [3]. library(mass) data(survey) names(survey) [1] "Sex" "Wr.Hnd" "NW.Hnd" "W.Hnd" "Fold" "Pulse" "Clap" "Exer" "Smoke" [10] "Height" "M.I" "Age" Pour ne pas nous embêter par la suite avec les données manquantes, nous ne conservons que les individus entièrement documentés : survey.cc <- survey[complete.cases(survey), ] Nous récupérons le sexe des individus dans un vecteur, et définissons un vecteur de couleurs pour distinguer facilement les filles de garçons : sexe <- survey.cc$sex couleur <- ifelse(sexe == "Male", "blue", "red") Nous extrayons trois variables quantitatives de ce jeu de données : l empan de la main d écriture dite main dominante, l empan de la main non dominante et la stature. Toutes sont exprimées en centimètres. mesures <- survey.cc[, c("wr.hnd", "NW.Hnd", "Height")] names(mesures) <- c("empan1", "Empan2", "Taille") plot(mesures, col = couleur, pch = 19) Logiciel R version 2.11.1 (2010-05-31) tdr601.rnw Page 2/18 Compilé le 2011-10-10

Empan1 14 16 18 20 22 14 16 18 20 22 14 16 18 20 22 Empan2 14 16 18 20 22 160 170 180 190 200 160 170 180 190 200 Taille Notez que les variables morphométriques des garçons (en bleu) sont en moyenne plus grandes que celles des filles (en rouge). Ceci nous permettra de nous orienter plus facilement dans les représentations graphiques suivantes. 3 Visualisation des données en trois dimensions Chaque individu est caractérisé par trois variables, soit par un point dans R 3. La fonction plot3d() de la bibliothèque rgl [1] vous permet d explorer facilement un nuage de points en 3 dimensions. library(rgl) plot3d(mesures, type = "s", col = couleur) Logiciel R version 2.11.1 (2010-05-31) tdr601.rnw Page 3/18 Compilé le 2011-10-10

Faites tourner avec le curseur de la souris cette représentation pour en avoir différents points de vue : 4 Centrage et réduction Les représentations graphiques précédentes sont trompeuses parce que nous n avons pas utilisé la même échelle en x, y et z. Imposons une échelle commune pour visualiser les données : lims <- c(min(mesures), max(mesures)) plot3d(mesures, type = "s", col = couleur, xlim = lims, ylim = lims, zlim = lims) Voici donc à quoi ressemblent réellement les données. On voit tout de suite le problème, comme les tailles sont en moyenne beaucoup plus grandes que les empans, les points se trouvent complètement collés sur le plan des empans. 4.1 Centrage L opération de centrage consiste à enlever la moyenne à chaque variable. La fonction scale() permet d effectuer directement cette opération : Logiciel R version 2.11.1 (2010-05-31) tdr601.rnw Page 4/18 Compilé le 2011-10-10

mesures.c <- scale(mesures, center = TRUE, scale = FALSE) lims <- c(min(mesures.c), max(mesures.c)) plot3d(mesures.c, type = "s", col = couleur, xlim = lims, ylim = lims, zlim = lims) C est mieux. Le nuage est maintenant centré autour de l origine. Mais comme la variabilité est beaucoup plus forte pour la taille que pour les empans, notre nuage de points a l aspect d une galette complètement applatie. 4.2 Centrage et réduction Cette opération consiste à centrer les données puis diviser les valeurs par l écarttype. La fonction scale() permet d effectuer directement cette opération : mesures.cr <- scale(mesures) lims <- c(min(mesures.cr), max(mesures.cr)) plot3d(mesures.cr, type = "s", col = couleur, xlim = lims, ylim = lims, zlim = lims) Logiciel R version 2.11.1 (2010-05-31) tdr601.rnw Page 5/18 Compilé le 2011-10-10

Quand on fait une ACP normée, on travaille avec les données après centrage et réduction. Il est donc important de bien comprendre à quoi correspondent ces opérations. 5 La forme générale du nuage Dans l exemple que nous avons choisi, la forme générale du nuage de points est celui d une dragée (le terme technique est un ellipsoïde). plot3d(mesures.cr, type = "s", col = couleur, xlim = lims, ylim = lims, zlim = lims) plot3d(ellipse3d(cor(mesures.cr)), col = "grey", alpha = 0.5, add = TRUE) Une dragée est définie par ses trois axes : 1. Le premier axe correspondant au plus grand diamètre de l ellipsoïde, la longueur de la dragée. 2. Le deuxième axe correspondant au diamètre moyen de l ellipsoïde, la largeur de la dragée. 3. Le troisième axe correspondant au plus petit diamètre de l ellipsoïde, l épaisseur de la dragée. Faites tourner le graphique précédent pour représenter le nuage de points dans le plan des axes (1,2), puis (1,3) puis (2,3) : Logiciel R version 2.11.1 (2010-05-31) tdr601.rnw Page 6/18 Compilé le 2011-10-10

Faire le même exercice en ne conservant que la dragée : plot3d(ellipse3d(cor(mesures.cr)), col = "blue", alpha = 0.25, xlab = "Empan1", ylab = "Empan2", zlab = "Taille") Avez-vous noté au passage que pour dessiner la dragée, nous n avons eu besoin que de la matrice de variances-covariances : cor(mesures.cr) Empan1 Empan2 Taille Empan1 1.0000000 0.9651297 0.6510316 Empan2 0.9651297 1.0000000 0.6296482 Taille 0.6510316 0.6296482 1.0000000 Si vous aviez à choisir entre les trois plans que nous avons envisagés ci-dessus, vous n hésiteriez pas à prendre le plan défini par les deux premiers axes de la dragée parce que c est dans cette représentation que l on a le moins de perte d information par rapport au nuage de points dans R 3 : c est dans cette projection que les points sont les plus étalés dans le plan (on dit aussi que l on a conservé le maximum possible de l inertie initiale du nuage de points). Ce faisant, vous avez en fait réalisé une ACP à la main. 6 ACP centrée-réduite dans ade4 6.1 Calculs Utiliser la fonction dudi.pca() du paquetage ade4 [2] pour exécuter une ACP centrée réduite : library(ade4) acp <- dudi.pca(mesures, scannf = FALSE, nf = 3) names(acp) [1] "tab" "cw" "lw" "eig" "rank" "nf" "c1" "li" "co" "l1" "call" [12] "cent" "norm" Nous avons utilisé ici les options scann = FALSE pour conserver automatiquement nf = 3 facteurs. En général on ne procède pas ainsi : on commence par examiner le graphe des valeurs propres qui exprime quelle fraction de la variance totale est prise en compte par les axes successifs. Essayer avec : acp <- dudi.pca(mesures) Répondre 3 à la question "Select the number of axes:". Dans la pratique, on ne conserve qu un nombre réduit d axes, ici nous les avons tous conservés pour des raisons pédagogiques. L objet renvoyé par la fonction dudi.pca() est très riche. Nous allons examiner tous ses composants un à un. Logiciel R version 2.11.1 (2010-05-31) tdr601.rnw Page 7/18 Compilé le 2011-10-10

6.1.1 tab Le data frame tab contient les données du tableau initial après centrage et réduction. Par rapport au résultat obtenu avec la fonction scale() vous noterez de petites différences : head(acp$tab) Empan1 Empan2 Taille 1-0.1580263-0.3711415 0.05273898 2 0.3645805 0.8972021 0.53612965 5 0.6258839 0.6435334-0.75291214 6-0.4193297-0.5233427 0.02454119 7-0.5761118-0.5233427 1.04771811 8-0.9419365-0.7262777-1.55856326 head(mesures.cr) Empan1 Empan2 Taille 1-0.1575553-0.3700353 0.05258178 2 0.3634938 0.8945279 0.53453164 5 0.6240183 0.6416152-0.75066799 6-0.4180799-0.5217828 0.02446804 7-0.5743946-0.5217828 1.04459524 8-0.9391290-0.7241129-1.55391775 Cette petite différence est due à l utilisation d une variance en 1 n dans dudi.pca() contre une variance en 1 n 1 dans scale(). Pour retrouver exactement le tableau utilisé dans dudi.pca() faire : var.n <- function(x) sum((x - mean(x))^2)/length(x) scale.n <- function(x) (x - mean(x))/sqrt(var.n(x)) head(apply(mesures, 2, scale.n)) Empan1 Empan2 Taille 1-0.1580263-0.3711415 0.05273898 2 0.3645805 0.8972021 0.53612965 5 0.6258839 0.6435334-0.75291214 6-0.4193297-0.5233427 0.02454119 7-0.5761118-0.5233427 1.04771811 8-0.9419365-0.7262777-1.55856326 6.1.2 cw Le vecteur cw donne le poids des colonnes (column weight), c est-à-dire le poids des variables. Par défaut, chaque variable a un poids de 1. acp$cw [1] 1 1 1 6.1.3 lw Le vecteur lw donne le poids des lignes (line weight), c est-à-dire le poids des individus. Par défaut, chaque individu a un poids de 1 n. head(acp$lw) [1] 0.005952381 0.005952381 0.005952381 0.005952381 0.005952381 0.005952381 head(acp$lw) * nrow(mesures) [1] 1 1 1 1 1 1 Logiciel R version 2.11.1 (2010-05-31) tdr601.rnw Page 8/18 Compilé le 2011-10-10

6.1.4 eig Le vecteur eig donne les valeurs propres (eigen values) dans le plus petit des deux espaces diagonalisés. acp$eig [1] 2.50871762 0.45683484 0.03444753 sum(acp$eig) [1] 3 Les valeurs propres nous renseignent sur la fraction de l inertie totale prise en compte par chaque axe : (pve <- 100 * acp$eig/sum(acp$eig)) [1] 83.623921 15.227828 1.148251 cumsum(pve) [1] 83.62392 98.85175 100.00000 Dans notre exemple, le premier axe factoriel extrait 83.6 % de l inertie totale, le deuxième axe factoriel 15.2 % de l inertie totale. Le premier plan factoriel représente donc 98.9 % de l inertie initiale. Ceci signifie que lorsque nous projetons le nuage de points initial dans R 3 sur le plan défini par les deux premiers axes factoriels, nous avons perdu peu d information. 6.1.5 rank Cet entier donne le rang (rank) de la matrice diagonalisée, dans notre cas le nombre de variables indépendantes. acp$rank [1] 3 bismesures <- cbind(mesures, mesures) head(bismesures) Empan1 Empan2 Taille Empan1 Empan2 Taille 1 18.5 18.0 173.00 18.5 18.0 173.00 2 19.5 20.5 177.80 19.5 20.5 177.80 5 20.0 20.0 165.00 20.0 20.0 165.00 6 18.0 17.7 172.72 18.0 17.7 172.72 7 17.7 17.7 182.88 17.7 17.7 182.88 8 17.0 17.3 157.00 17.0 17.3 157.00 colnames(bismesures) <- c("empan11", "Empan21", "Taille1", "Empan12", "Empan22", "Taille2") dudi.pca(bismesures, scann = F, n = 3)$rank [1] 3 6.1.6 nf Cet entier donne le nombre de facteurs conservés dans l analyse : acp$nf [1] 3 Logiciel R version 2.11.1 (2010-05-31) tdr601.rnw Page 9/18 Compilé le 2011-10-10

6.1.7 c1 c1 donne les coordonnées des variables (colonnes). Les vecteurs sont de norme unité : acp$c1 CS1 CS2 CS3 Empan1 0.6084890-0.3420962 0.71603859 Empan2 0.6040404-0.3855223-0.69750107 Taille 0.5146613 0.8569380-0.02794614 sum(acp$cw * acp$c1$cs1^2) [1] 1 6.1.8 l1 l1 donne les coordonnées des individus (lignes). Les vecteurs sont de norme unité : head(acp$l1) RS1 RS2 RS3 1-0.18511289 0.35854289 0.7771789 2 0.65642982-0.01654562-2.0459458 5 0.24122137-1.63843055 0.1095513 6-0.35270516 0.54186131 0.3453116 7-0.08047126 1.91845520-0.4136080 8-1.14527378-1.08502402-0.6698669 sum(acp$lw * acp$l1$rs1^2) [1] 1 6.1.9 co co donne les coordonnées des variables (colonnes). Les vecteurs sont normés à la racine carré de la valeur propre correspondante : acp$co Comp1 Comp2 Comp3 Empan1 0.9637816-0.2312213 0.132897100 Empan2 0.9567355-0.2605728-0.129456527 Taille 0.8151685 0.5792006-0.005186817 sum(acp$cw * acp$co$comp1^2) [1] 2.508718 Le lien entre les c1 et les co s obtient par : acp$c1$cs1 * sqrt(acp$eig[1]) [1] 0.9637816 0.9567355 0.8151685 t(t(acp$c1) * sqrt(acp$eig)) CS1 CS2 CS3 Empan1 0.9637816-0.2312213 0.132897100 Empan2 0.9567355-0.2605728-0.129456527 Taille 0.8151685 0.5792006-0.005186817 Logiciel R version 2.11.1 (2010-05-31) tdr601.rnw Page 10/18 Compilé le 2011-10-10

6.1.10 li li donne les coordonnées des individus (lignes). Les vecteurs sont normés à la racine carré de la valeur propre correspondante : head(acp$li) Axis1 Axis2 Axis3 1-0.2931990 0.24233756 0.14424478 2 1.0397147-0.01118311-0.37972849 5 0.3820689-1.10740798 0.02033277 6-0.5586473 0.36624167 0.06409000 7-0.1274579 1.29667540-0.07676584 8-1.8139913-0.73336294-0.12432761 sum(acp$lw * acp$li$axis1^2) [1] 2.508718 head(acp$l1$rs1 * sqrt(acp$eig[1])) [1] -0.2931990 1.0397147 0.3820689-0.5586473-0.1274579-1.8139913 head(t(t(acp$l1) * sqrt(acp$eig))) RS1 RS2 RS3 1-0.2931990 0.24233756 0.14424478 2 1.0397147-0.01118311-0.37972849 5 0.3820689-1.10740798 0.02033277 6-0.5586473 0.36624167 0.06409000 7-0.1274579 1.29667540-0.07676584 8-1.8139913-0.73336294-0.12432761 6.1.11 call Cet objet garde une trace de la façon dont ont été conduits les calculs lors de l appel de la fonction dudi.pca() : acp$call dudi.pca(df = mesures, scannf = FALSE, nf = 3) La fonction eval() permet de refaire les mêmes calculs : eval(acp$call) Duality diagramm class: pca dudi $call: dudi.pca(df = mesures, scannf = FALSE, nf = 3) $nf: 3 axis-components saved $rank: 3 eigen values: 2.509 0.4568 0.03445 vector length mode content 1 $cw 3 numeric column weights 2 $lw 168 numeric row weights 3 $eig 3 numeric eigen values data.frame nrow ncol content 1 $tab 168 3 modified array 2 $li 168 3 row coordinates 3 $l1 168 3 row normed scores 4 $co 3 3 column coordinates 5 $c1 3 3 column normed scores other elements: cent norm identical(eval(acp$call), acp) [1] TRUE Logiciel R version 2.11.1 (2010-05-31) tdr601.rnw Page 11/18 Compilé le 2011-10-10

6.1.12 cent Ce vecteur donne les moyennes (cent pour centrage) des variables analysées : acp$cent Empan1 Empan2 Taille 18.80238 18.73155 172.47631 colmeans(mesures) Empan1 Empan2 Taille 18.80238 18.73155 172.47631 6.1.13 norm Ce vecteur donne les écarts-types (sur n) des variables analysées : acp$norm Empan1 Empan2 Taille 1.913484 1.971075 9.929857 sd.n <- function(x) sqrt(var.n(x)) apply(mesures, 2, sd.n) Empan1 Empan2 Taille 1.913484 1.971075 9.929857 6.2 Dé-réduction et dé-centrage Si vous avez bien compris en quoi consiste l opération de centrage et réduction, vous devez pouvoir être capables de faire l opération inverse. À partir des objets acp$tab, acp$cent et acp$norm reconstituez les données de départ, placez le résultat dans l objet recon : head(recon) Empan1 Empan2 Taille 1 18.5 18.0 173.00 2 19.5 20.5 177.80 5 20.0 20.0 165.00 6 18.0 17.7 172.72 7 17.7 17.7 182.88 8 17.0 17.3 157.00 6.3 Représentations graphiques dans ade4 6.3.1 Représentation des individus La fonction s.label() permet de représenter les individus sur les différents plans factoriels, par exemple sur le premier plan factoriel : s.label(acp$li, xax = 1, yax = 2) Logiciel R version 2.11.1 (2010-05-31) tdr601.rnw Page 12/18 Compilé le 2011-10-10

d = 2 190 152 197 182 7 112 51 127 205 109 146 160 97 163 23 218 89 230 52 32 38 73 104 18 75 113 135 148 151 201 170 222164 193 155 228 6 36 21 115 74 185 76 53 141 125 128 71 1111 172 82 132 59 34 33 63 110 91 114 118 49 2 54 57 86 22 7798 119 123 124 120 131 168 134 161 206 166 237 189 191 180 178 88 100 24 187 200 214 209 196 215 227143 105 9 236 44 39 147 136 116 65 174 93 50 62184 176 10 102 106 181 198 95 144 117 212 183149 233 23199 20 138 61 79 145 118 87 150 188140 158167 220 208 156 30 177 27 28 55 153 129194 223 229 202 192 130 175204 234 47 17 211 42 5 186 154 122 207 48 14 85 Exercice. Faire les représentations dans les plans (1,2), (1,3) et (2,3) avec une échelle commune pour tous les graphiques afin d obtenir la représentation cidessous. d = 1 d = 1 d = 1 190 152 197 182 7 112 51 109 146 160 97 127 205 163 218 23 230 52 89 104 32 38 18 73 170 148 151 135 155 228 75 201 222 197 164113 193 36 6 21 74 141 125 128 172 168 185 76 53 1 111 59 91 114 118 36 115 71 82 110 120 123 189 132 63 124 54 34 131 116 200 140 106 161 33 86 166 191 38 54172 118 206 237 86 93 168 119 2 22 57 134 49 24 180 178 20077 98 215 6 1 2332 9 47 115 129 73 49 71 27 88 143 100 187 214 209 196 236 9 44 39 147136 17 5 18 20 24 50 62 30 82 59 91 95 117 105113 119 123 52 51 57 87 97 120 125 145 131 136 144 152 161 166 174 176 156 182 198 153 201180 209 206204 234 227 34 227 11 7 105 65 174 93 50 62 231 184 176 8 42 9876104 44 3955 75 79109 88 89 111 122 130 127 135 143 167 170 190 191 237 207 187208 149 102 146 63 177 154 138 100 124 95 10 102 106 181 144 33 4885 147 178 194 212 183 211 215 231 233 188 199 228 14 128 21 198 116 212 149 199 138 2228 61 74 110 61220 77 150 158 155 186 202 220 229 163 164 175 214 117 183 233 65 189 185 141 184 181 132 160 112 114 192 196 205 193 236 222 151 148 145 79 229 167 20 134 223 53 2302 87150188 140 158 156 208 223 177 118 30 27 28 55 194 192 153 129 202 218 130 175 204 234 47 17 211 154 122 5 186 207 42 85 48 14 197 168 140 36 47 116 10620054 118 172 38 204 234 129 27 15693 105 95136 9 86 1 517 20 49 24 59 32 10 6 23 52 51 3087 55 117 50 62 119 71 120 115 39 34 82 9113 73 97 122 167 145 198 174 144 176 180 209123 131 125 18 42 130 138143 161 166 206 191 170 154153 177 118 79 149 102 44 147 57 7 28 61 100 88 986376 111 33 65 7722 7421 75 135 104 182 152 186 188199 201 207 211 202 194 208 124 89127 109 146 150 158 183 212 220 231 227 187 215 237 228 110 132 114 128 155 163 175192 229 233 181 184178 196 214 236189 141 185 164 193 222 151 112 148 205 160 223 134 2 53 230 218 190 14 48 85 La fonction s.class() permet de porter en information supplémentaire une variable qualitative définissant des groupes d individus, par exemple : gcol <- c("red", "blue") s.class(dfxy = acp$li, fac = sexe, col = gcol, xax = 1, yax = 2) Logiciel R version 2.11.1 (2010-05-31) tdr601.rnw Page 13/18 Compilé le 2011-10-10

d = 2 Female Male Exercice. Faire les représentation dans les trois plans factoriels : d = 1 Female Male d = 1 Female Male d = 1 Female Male 6.3.2 Représentation des variables La fonction s.corcircle() représente les variables iniiales dans le nouvel espace. Cette représentation est appelée cercle des corrélations : s.corcircle(acp$co, xax = 1, yax = 2) Logiciel R version 2.11.1 (2010-05-31) tdr601.rnw Page 14/18 Compilé le 2011-10-10

Empan1 Empan2 Taille Le premier facteur de l ACP est corrélé positivement aux trois variables de départ, on dit que c est un effet taille. L ACP joue ici son rôle de recherche de variable latente. La première composante principale prédit les trois variables. C est une explicative cachée. C est la variable cachée qui prédit au mieux les autres, c est aussi la variable cachée qui est la mieux prédite par toutes les autres. par(mfrow = c(1, 3)) for (i in 1:3) { plot(x = acp$li[, 1], y = mesures[, i], pch = 19, col = couleur, xlab = "Premier facteur de l'acp", las = 1, ylab = colnames(mesures)[i]) } 4 2 0 2 14 16 18 20 22 Premier facteur de l'acp Empan1 4 2 0 2 14 16 18 20 22 Premier facteur de l'acp Empan2 4 2 0 2 160 170 180 190 200 Premier facteur de l'acp Taille 6.3.3 Représentation simultanée des individus et des variables La fonction scatter() permet de représenter simultanément les individus et les variables. C est une fonction générique associée à un objet de la classe dudi. scatter(acp) Logiciel R version 2.11.1 (2010-05-31) tdr601.rnw Page 15/18 Compilé le 2011-10-10

Eigenvalues Taille d = 2 190 152 197 182 7 112 51 109 146160 127 205 97 163 218 23 230 52 89 104 32 38 73 170 18 148 151 75 201 135 155 228 222 164 113 193 6 3621 74 185 141 125 128 172 115 76 53 1 111 59 71 82132 91 110 114 118 206 120 63 34 33 86 54 49 119 123 124 131 168 2 22 57 134 161 166 237 189 191 24 180 178 7798 88 143 100 187 200 209 215 214 196 227 236 9 44 39 147 136 105 65 174 93 50 62 184 176 116 10 102 106181 95 144 198 212 138 20 61 117 183 149 233 231199 79 145 220 87150 140 158 167 188 229 156 208 223 177 118 30 27 28 192 55 153 129 194 202 130 175 204 234 47 17 211 42 5 186 154 122 207 14 48 85 Empan1 Empan2 Enrichir le graphique en portant l information sur les groupes : scatter(acp, clab.row = 0, posieig = "none") NULL s.class(acp$li, sexe, col = gcol, add.plot = TRUE, cstar = 0, clabel = 0, cellipse = 0) Taille d = 2 Empan1 Empan2 Faire le lien avec ce qui avait été obtenu à la main avec la fonction plot3d(), notez en particulier comment les axes de la base initiale se projettent sur le premier plan factoriel : Logiciel R version 2.11.1 (2010-05-31) tdr601.rnw Page 16/18 Compilé le 2011-10-10

7 Pour aller plus loin Nous n avons utilisé jusqu à présent que l ACP centrée réduite. Ce n est pas forcément la meilleure option en fonction de vos objectifs. Réaliser les autres combinaisons possibles. 7.1 ACP centrée non réduite d = 10 Empan1 Empan2 Taille Logiciel R version 2.11.1 (2010-05-31) tdr601.rnw Page 17/18 Compilé le 2011-10-10

7.2 ACP non centrée réduite d = 0.5 Empan1 Empan2 Taille 7.3 ACP non centrée non réduite d = 50 Empan1 Empan2 Taille Références [1] Daniel Adler and Duncan Murdoch. rgl : 3D visualization device system (OpenGL), 2006. R package version 0.68. [2] D. Chessel, A.-.B. Dufour, and J. Thioulouse. The ade4 package-i- One-table methods. R News, 4 :5 10, 2004. [3] W. N. Venables and B. D. Ripley. Modern Applied Statistics with S. Springer, New York, fourth edition, 2002. Logiciel R version 2.11.1 (2010-05-31) tdr601.rnw Page 18/18 Compilé le 2011-10-10