samedi 16 juin 2012

ACP sur corrélations partielles (suite)

Dans certains cas, les résultats de l’analyse en composantes principales  propose des résultats guère décisifs, parce qu’évidents. C’est le cas lorsque l’étude est dominée par l’influence de quelques variables qui pèsent exagérément sur toutes les autres. On parle « d’effet taille ». Il est alors généralement conseillé d’ignorer la première composante pour se concentrer sur l’étude des suivantes. Mais ce n’est pas aussi simple car nous sommes alors confrontés à d’autres problèmes. Par exemple, les guides usuels (règle de Kaiser, scree plot, etc) pour la détection du nombre adéquat de facteurs deviennent inopérants. En effet, mis à part le premier, les axes sont portés par des valeurs propres très faibles, laissant à penser qu’ils correspondent à des informations résiduelles, négligeables. Bien malin celui qui pourrait dès lors déterminer les facteurs « intéressant » pour l’interprétation.

Dans un ancien document, nous analysions les mensurations des différentes parties du corps. L’idée était de détecter les concomitances (ex. celui qui a de gros genoux a-t-il aussi de grosses chevilles). Très rapidement, nous nous sommes rendu compte que la taille, le poids et le genre pesaient fortement sur toutes les autres, masquant les relations pouvant exister entre les variables. Pour dépasser cette contrariété, j’avais proposé de réaliser l’ACP, non pas à partir de la matrice des corrélations brutes, mais à partir des corrélations partielles, en contrôlant l’impact des trois variables ci-dessus (cf. Saporta, 2006 ; page 197). Le diagramme de traitements était un peu complexe, mais les résultats en valaient la peine. Nous retrouvions bien les similitudes qu’il pouvait y avoir selon les différentes régions du corps.

Très récemment, je me suis rendu compte que ce type d’analyse est proposé de manière native par la proc factor du logiciel SAS. Je me suis jeté dessus pour vérifier que l’on retrouvait bien les mêmes résultats, ce qui est le cas, c’est toujours rassurant. C’est ce nouveau traitement qui vient compléter ce tutoriel (Section 7).

Enfin, puisque la procédure est somme toute assez simple, je l’ai également programmée sous R en exploitant princomp( ). La difficulté réside dans une préparation adéquate des données (Section 8). Bien évidemment, quel que soit le logiciel utilisé, nous avons exactement les mêmes résultats.

Mots clés : corrélation partielle, analyse en composantes principales, acp, sas, proc factor, partial, logiciel R, princomp, varimax
Composants : Principal Component Analysis, Scatterplot, 0_1_Binarize, Residual Scores, VARHCA, Parallel Analysis, Factor Rotation
Lien : fr_Tanagra_PartialCorrelation_PCA_continued.pdf 
Données : body.xls ; body_sas.zip
Références :
Tutoriel Tanagra, "Travailler sur les corrélations partielles"
Tutoriel Tanagra, "ACP avec Tanagra - Nouveaux outils"

vendredi 15 juin 2012

ACP avec Tanagra - Nouveaux outils

L’analyse en composantes principales (ACP) est une technique exploratoire très populaire.  Selon les points de vue, on peut la considérer : comme une technique descriptive où l’on essaie de résumer les données dans ses dimensions les plus importantes ; comme une technique de visualisation où l’on essaie de préserver les proximités entre les individus dans un espace de représentation réduit ; comme une technique de compression de l’information ; etc.

Outre les excellents ouvrages en langue française qui les décrivent, les références sont suffisamment abondantes sur le web pour que chacun se fasse son idée. J’en ai moi-même beaucoup parlé dans plusieurs didacticiels et, récemment, j’ai décrit la programmation sous R du test de Bartlett, de l’indice KMO (MSA – Measure of Sampling Adequacy), et des indicateurs pour la détermination du nombre de facteurs en ACP. On les trouve rarement sous une forme native dans les logiciels libres, je me suis dit qu’il était opportun de les intégrer dans Tanagra 1.4.45.

Dans ce tutoriel, nous décrivons la mise en œuvre de ces nouveaux outils. Nous mettrons en parallèle, quand cela est possible, les résultats de la PROC FACTOR de SAS. Nous avons choisi cette dernière plutôt que PRINCOMP parce que ses sorties sont plus complètes.

Mots clés : analyse en composantes principales, acp, sas, proc princomp, proc factor, test de sphéricité de Bartlett, logiciel R, scree plot, cattell, règle de kaiser, règle de karlis saporta spinaki, test des bâtons brisés, analyse parallèle, randomisation, bootstrap, corrélation, corrélation partielle, rotation varimax, classification de variables, msa index, indice kmo, cercle des corrélations
Composants : PRINCIPAL COMPONENT ANALYSIS, CORRELATION SCATTERPLOT, PARALLEL ANALYSIS, BOOTSTRAP EIGENVALUES, FACTOR ROTATION, SCATTERPLOT, VARHCA
Lien : fr_Tanagra_PCA_New_Tools.pdf
Données : beer_pca.xls
Références :
Tutoriel Tanagra - "ACP – Description de véhicules"
Tutoriel Tanagra - "Analyse en Composantes principales avec R"
Tutoriel Tanagra - "ACP sous R - Indice KMO et test de Bartlett"
Tutoriel Tanagra - "ACP avec R - Détection du nombre d'axes"

mardi 12 juin 2012

Tanagra - Version 1.4.45

Plusieurs nouveautés autour de l’analyse en composantes principales (ACP).

PRINCIPAL COMPONENT ANALYSIS. Sorties additionnelles pour le composant : Dessin de la scree plot et de la courbe de l’inertie expliquée ;  ACP normée – Aide à la détection du nombre d’axes avec les seuils de Kaiser-Guttman, de Karlis-Saporta-Spinaki, test des bâtons brisés de Legendre-Legendre ; ACP normée – test de Bartlett et indice KMO (indice MSA de Kaiser-Mayer-Olkin) si le déterminant de la matrice des corrélations est supérieur à 1E-45 ; ACP normée – Affichage de la matrice des corrélations brutes et des corrélations partielles.

PARALLEL ANALYSIS. Le composant calcule la distribution des valeurs propres pour un jeu de données généré aléatoirement. Il procède par randomisation. Il s’applique à l’analyse en composantes principales et l’analyse des correspondances multiples. Un facteur est considéré significatif si sa valeur propre est supérieure au quantile d’ordre 0.95 (paramétrable).

BOOTSTRAP EIGENVALUES. Calcul par ré-échantillonnage bootstrap de l’intervalle de variation des valeurs propres. Un axe est significatif si sa valeur propre est supérieure à un seuil qui dépend de la méthode sous-jacente (ACP ou ACM), ou si la borne basse de la valeur propre d’un axe est supérieure à la borne haute de la suivante. Le niveau de confiance 0.90 est paramétrable. S’applique à l’analyse en composantes principales et l’analyse des correspondances multiples.

JITTERING. S’applique aux composants de visualisation de nuages de points (SCATTERPLOT, CORRELATION SCATTERPLOT, SCATTERPLOT WITH LABEL, VIEW MULTIPLE SCATTERPLOT). Modifie très légèrement, aléatoirement, la position des points dans le nuage pour que l’utilisateur puisse identifier les superpositions.

RANDOM FOREST. Libération de la mémoire non utilisée après apprentissage des arbres de décision. Dans un apprentissage simple, cela ne porte pas à conséquence. En revanche, dans les méthodes ensemble (BAGGING, BOOSTING, et les RANDOM FOREST) où l’on empile un très grand nombre d’arbres, les capacités de calcul sont très largement améliorées. Merci à Vincent Pisetta de m’avoir signalé cet écueil.

Page de téléchargement : setup

dimanche 3 juin 2012

ACP avec R - Détection du nombre d'axes

L’analyse en composantes principales (ACP) est une technique exploratoire très populaire. Il s’agit de résumer l’information contenue dans un fichier en un certain nombre de variables synthétiques, combinaisons linéaires des variables originelles. On les appelle « composantes principales », ou « axes factoriels », ou tout simplement « facteurs ». Nous devons les interpréter pour comprendre les principales idées forces que recèlent les données.

Le choix du nombre de facteurs est très important. L’enjeu est de distinguer d’une part l’information pertinente (le « signal »), véhiculée par les axes que l’on choisit de retenir ; et d’autre part, l’information résiduelle – le « bruit » issu des fluctuations d’échantillonnage – traduite par les derniers facteurs que l’on choisit de négliger.

Dans ce tutoriel, nous présentons plusieurs méthodes de détermination du nombre adéquat de facteurs. Nous nous concentrerons tout d’abord sur les procédures simples, facilement opérationnelles. Les techniques de ré-échantillonnage, efficaces certes, mais gourmandes en ressources surtout lorsque la taille des fichiers augmente, feront l’objet d’une description à part. Nous détaillerons les calculs à partir des résultats d’une ACP normée menée sur une base relativement réduite. Nous travaillerons dans un premier temps avec le couple TANAGRA + tableur Excel puis, dans un second temps, nous décrirons la même analyse menée à l’aide de la fonction PRINCOMP du logiciel R. Ce document a été inspiré par plusieurs articles référencés en bibliographie.

Mots clés : analyse en composantes principales, acp, princomp, test de sphéricité de Bartlett, xslx package, logiciel R, scree plot, cattell, règle de kaiser, règle de karlis, test des bâtons brisés, analyse parallèle, randomisation, bootstrap, corrélation, corrélation partielle
Composants : PRINCIPAL COMPONENT ANALYSIS, LINEAR CORRELATION, PARTIAL CORRELATION
Lien : fr_Tanagra_Nb_Components_PCA.pdf
Données : crime_dataset_pca.zip
Références :
D. Jackson, “Stopping Rules in Principal Components Analysis: A Comparison of Heuristical and Statistical Approaches”, in Ecology, 74(8), pp. 2204-2214, 1993.
P. Neto, D. Jackson, K. Somers, “How Many Principal Components? Stopping Rules for Determining the Number of non-trivial Axes Revisited”, in Computational Statistics & Data Analysis, 49(2005), pp. 974-997, 2004.
Tutoriel Tanagra - "ACP – Description de véhicules"
Tutoriel Tanagra - "Analyse en Composantes principales avec R"
Tutoriel Tanagra - "ACP sous R - Indice KMO et test de Bartlett"