Category Archives: M2-ADD

Visualiser des classes après une classification, avec XLStat

Avec R, il est très simple de visualiser les classes obtenus lors d’une classification. Mais avec XLStat…. on peut visualiser les nuages sur le plan principal (obtenu par ACP) ou alors visualiser les barycentres des classes sur le plan principal. En fait, il suffit de rajouter la variable correspondant à la “classe” dans le tableau initial, puis de faire une ACP en mettant la “classe” comme variable supplémentaire (qualitative). On commence par faire la classification des individus,

Ensuite on récupère la colonne et on la colle avec le tableau des données,

Enfin, on fait une ACP en rajoutant la classe comme variable supplémentaire.

On peut alors plus facilement interpréter les classes: ici le groupe 3 sont les “bons élèves“, le groupe 1 les “élèves moyens” et enfin le groupe 2 les “moins bons élèves“.

Sinon la base qui a servi pour cet exemple sera utilisée lors du dernier TD. Je mets aussi un lien vers la classification des bordeaux.

Analyse discriminante et géométrie (dans un triangle)

Lors du cours, nous avons vu que pour discriminer (en dimension 2) entre 2 classes, ou 2 nuages de points distincts: l’axe de discrimination sera la droite passant par les barycentres des deux nuages de points.


En retenant un critère 50-50, on considère comme axe de séparation la médiatrice de ces deux barycentres, l’espace contenant le barycentre des points rouges devenant l’espace rouge.

Toujours avec deux variables explicatives (ou éventuellement les deux axes discriminants), on suppose avoir trois classes. Dans ce cas, on peut discriminer les nuages 2 à 2. Un petit résultat de géométrie nous garantit que les trois médiatrices passent par un point unique.

On a alors coupé l’espace en 6 régions, 6 camemberts passant par le centre du cercle passant les sommets du triangle constitué par les centres de gravité. On regroupe les régions par paires, en leur attribuant la couleur où se trouve le centre de gravité,

C’est ce petit résultat qui permet de créer une discrimination entre les qualités des vins de Bordeaux. Cet exemple sera repris en TD.

Analyse Discriminante et Scoring

Les slides de la cinquième partie sont en ligne sur mon blog.

Parmi les cours en ligne, je renverrais aux nombreux papiers d’Hervé Abdi, à Dallas,en particulier sur l’analyse discriminante (ici), sur les principales distances utilisées en ADD (ici), ou encore l’ACM (ici). Sinon, côté données, les codes R sont les suivants,
etudiants<-read.table("https://perso.univ-rennes1.fr/arthur.charpentier/Etudiants-ville.csv",header=TRUE,sep=";")
titanic<-read.table("https://perso.univ-rennes1.fr/arthur.charpentier/titanic.csv",header=TRUE,sep=",")

Régression logistique, analyse discriminante… et XLStat

Pour répondre à une question qui m’a été posée, il est possible de récupérer une version gratuite de 30 jours d’XLStat via http://www.01net.com/.

Sinon je ne peux qu’encourager les étudiants à se mettre à R… contrairement à XLStat, il faut coder un minimum, mais l’investissement en vaut la peine. Pour ceux qui auraient peur, je renvoie vers ce document rédigé par Denis Poinsot, “R pour les Statophobes“.

Sinon, sur l’analyse discriminante, encore une fois, des choses sont possibles via XLStat…


Pour la régression logistique, on pourra consulter

Les outils de régression logistique ne sont pas rangés dans l’analyse des données,

On a alors par défaut une régression logistique sur données binaire (deux classes),

mais qui peut s’étendre à plusieurs classes,

Pour la base des données, les bases saporta.xls et bordeaux.xls sont en ligne sur ma page (la base tirée des pages 414-415 de Saporta  1990 ne contient que 3/4 des observations, car c’est un peu long de taper à la main…).

CAH (et kmeans) avec XLstat

Sur la CAH, nous avons vu que l’on a deux degrés de liberté, fondamentaux pour l’analyse

  • le choix de la distance (min, max, euclidienne, minkowski…)
  • le choix de la méthode de regroupement, ou d’agrégation (ward, single, complete…)

Ces deux degrés de libertés sont les deux paramètres qu’il convient de sélectionner lors de l’analyse,


Sinon pour les kmeans, il y a un peu moins de choix,

En cours, j’ai insisté sur l’idée de l’algorithme, plus que sur les critères de classification. Tous sont basés sur W, la matrice d’inertie intra-classe commune (pooled SSPC matrix)

  • Minimiser la trace de W pour un nombre de classes donné, revient à minimiser la variance intra-classe totale, c’est à dire minimiser l’hétérogénéité des groupes.
  • L’utilisation du déterminant de W permet de construire un critère nettement moins sensible aux effets d’échelle.
  • Le critère du lambda de Wilks correspond à la division du déterminant(W) par le déterminant(T) où T est la matrice d’inertie totale: aussi, la division par le déterminant de T permet d’avoir un critère toujours compris entre 0 et 1. Mais sinon les résultats donnés par la minimisation de ce critère sont identiques à ceux donnés par le déterminant de W.
  • enfin le dernier critère est plus long (mais plus robuste) car au lieu d’utiliser le barycentre d’une classe (i.e. la moyenne) on utilise un point médian.

Le “cercle des corrélations” en ACP

Tout au long de l’analyse en composantes principales, nous avons parlé du “cercle des corrélations“. Cette notion est fondamentale en ACP, et je voulais insister un peu sur ce point pour le démystifier,

A chaque point-variable, on associe un point dont la coordonnée sur un axe factoriel est une mesure de la corrélation entre cette variable et le facteur. Dans l’espace de dimension p la distance des points-variables à l’origine est égale à 1. Donc par projection sur un plan factoriel les points-variables s’inscrivent dans un cercle de rayon 1 – le cercle des corrélations – et sont d’autant plus proche du bord du cercle que le pointvariable est bien représenté par le plan factoriel, c’est-à-dire que la variable est bien corrélée avec les deux facteurs constituant ce plan.

L’angle entre 2 variables, mesuré par son cosinus, est égal au coefficient de corrélation linéaire entre les 2 variables: cos(angle) = r(X1,X2)

  • si les points sont très proches (angle proche de 0) : cos(angle) = r(X1,X2) = 1 donc X1 et X2 sont très fortement corrélés positivement
  • si a est égal à 90° , cos(angle) = r(X1,X2) = 0 alors pas de corrélation linéaire entre X1 et X2
  • si les points sont opposés, a vaut 180°, cos(angle) = r(X1,X2) = -1 : X1 et X2 sont très fortement corrélés négativement

Attention, on ne peut interpréter que les variables situées au bord du cercle. En effet, seuls ces points là sont “bien” projetés, comme le rappelle le dession ci-dessous,

Analyse des données, contrôle continu

Pour le contrôle continu d’analyse des données (qui ne concerne que les élèves du Master SLEB, qui concerne apparemment tout le monde *), je vous demande de travailler, au choix

  • sur l’analyse par département des votes lors de l’élection présidentielle de 2007. Vous disposez de deux feuilles xls, avec le résultat du 1er tour, et le résultat du 2nd tour. Je mets aussi à votre disposition plein de variables supplémentaires, via des données du ministère de l’intérieur (ici), en particulier les tableaux 19 et 20.
  • sur l’analyse des conditions de vie des ménages. La base est au format sas ou bien au format xls (après avoir enfin trouvé une licence SAS pour faire la conversion). Le descriptif de la base figure ci-dessous (ou ici)

En vous mettant par groupe de 2 ou 3, je vous demande un petit rapport de 15 pages (au plus), commentant ce que vous avez pu noter.

* Voilà d’ailleurs les informations dont je dispose,


AFC (ou ACM) avec XLstat

L’analyse factorielle (simple ou multiple) se fait très simplement avec XLStat. On notera juste la fonction suivante, qui permet de constituer le tableau de contingence.Il s’agit d’une étape de traitement des données. Pour les bases, on traitera en TD base1 (CSP et vacances, cf ci-dessous) et base2 (base culture). Je mets également un lien vers les bases base3 (logement étudiants), base4 (les naufragés du Titanic), ou enfin base5 (lien entre la CSP et le niveau d’étude).

Lors du TD, nous reviendrons en particulier sur l’analyse factorielle (simple) à partir de la base insee de 1967, sur le lien entre CSP et lieux de vacances,

Analyse des Correspondances Mutiples

Les slides de la troisième partie sont en ligne sur mon blog.

Parmi les cours en ligne, je renverrais aux nombreuses notes de cours de François-Gilles Carpentier, à Brest, ou celles de Rudy Palm à Gembloux. Sur les bases présentées en cours, il y a la base des survivants du Titanic, mais aussi une étude sur le tri des déchets, inspirée de l’INSEE (Insee Premier 684, ici). Sinon, pour accéder aux bases de données, les codes R sont les suivants,

etudiants<-read.table("https://perso.univ-rennes1.fr/arthur.charpentier/Etudiants-ville.csv",header=TRUE,sep=";")
titanic<-read.table("https://perso.univ-rennes1.fr/arthur.charpentier/titanic.csv",header=TRUE,sep=",")

Enfin, les bases de données qui seront utilisées en TD sont les suivantes,

library(Hmisc);  culture=spss.get("https://perso.univ-rennes1.fr/arthur.charpentier/Culture.sav")

ACP avec XLstat, un peu de terminologie

Pour compléter (et clarifier) le premier TD, je voulais revenir sur le type d’ACP proposé sous XLstat,

Pour l’analyse de la covariance, on travaille sur les données brutes. L’analyse de Pearson propose de travailler sur les données centrées-réduites. L’analyse de Spearman est basée sur les rangs. Enfin, l’analyse polychorique propose de travailler sur les rangs normalisés. Les quatre transformations sont proposées ci-dessous,

Les rangs normalisés correspondent à l’étude d’un facteur Gaussien sous-jacent: on retrouve le quantile normal (centré-réduit) pour des seuils de 20%, 40%, 60% et 80%, c’est à dire le rang divisés par la taille de l’échantillon+1. La “robustesse” de ces deux dernières méthodes a été vu en particulier en introduisant un point aberrant dans l’échantillon.

Analyse Factorielle des Correspondances

Les slides de la seconde partie sont en ligne sur mon blog.

Parmi les cours en ligne, on trouvera des notes de cours au CNAM,  ou de Jean Michel Loubes. Sinon, pour accéder aux bases de données, les codes R sont les suivants,

base1=read.table("https://perso.univ-rennes1.fr/arthur.charpentier/Diplomes-emplois-1.csv",header=TRUE,sep=";")
base2=read.table("https://perso.univ-rennes1.fr/arthur.charpentier/Diplomes-emplois-2.csv",header=TRUE,sep=";")
base=read.table("https://perso.univ-rennes1.fr/arthur.charpentier/election2002.txt",header=TRUE)
base=read.table("https://perso.univ-rennes1.fr/arthur.charpentier/csp-vac.csv",header=TRUE,sep=";")

Enfin, les bases de données qui seront utilisées en TD sont les suivantes,

base=read.table("https://perso.univ-rennes1.fr/arthur.charpentier/election.csv",header=TRUE,sep=";")

Analyse en Composantes Principales

Les slides de la première partie sont en ligne sur mon blog. Parmi les cours en ligne, à l’agro (Grignon), de Stéphane Guidon, ou plus formalisé, des notes de cours de Joseph Gergaud.

Sinon, pour accéder aux bases de données, les codes R sont les suivants,
elections<-read.table("https://perso.univ-rennes1.fr/arthur.charpentier/election95.csv",header=TRUE,sep=";")
insecurite<-read.table("https://perso.univ-rennes1.fr/arthur.charpentier/ADD-ex-villes.txt",header=TRUE)

La base de données qui seront utilisées en TD est la base departement.xls. On pourra aussi reprendre quelques exemple mentionnés en cours, en particulier l’étude de l’express sur l’insécurité, villes.xls, ou encore la base de décathlon mentionnée en cours, decathlon.xls.

Ce premier cours sera relativement technique puisque seront présentées les principales notions sur les distances, les projections, et utilisera plusieurs résultats “classiques” d’algèbre linéaire et matricielle. En particulier, sur la décomposition en valeurs singulières, je renvoie les élèves intéressés à l’article de wikipedia (svd). Je mets aussi un lien vers des slides sur la décomposition factoriel, en liaison avec la recherche de valeurs propres, et de la décomposition en valeurs singulières.

Sinon pour quelques groupes, les TD se feront sous XLStat, qui comme on le verra, permet de générer un certain nombre de graphiques (que l’on s’attachera à commenter)

Cours Analyse des Données, Master 1, introduction

Cours d’Analyse des Données en Master 1 Stratégie, logistique et e-business, en Master 1 Administration et gestion publiques et en Master 1 Economie et finances publiques. Le premier cours aura lieu le lundi 19 janvier.

Les slides du cours seront basés sur des codes R, les TD se feront soit sur R, soit sous Excel. Excel n’étant pas un logiciel de statistiques, les fonctionnalités proposées sont beaucoup moins étendues, mais en bricolant un peu, on peu faire la base de l’analyse des données. En particulier, quelques add-ins peuvent être intéressants, parmi lesquels BiPlot développé à VirginiaTech (dont on peut trouver une petite doc), PopTools, ou surtout XLStats, développé par Rodney Carr (qui a d’ailleurs développé beaucoup d’add-ins pour Excel). A titre d’information pour ceux qui ne souhaitent pas installer R, mais continuer à travailler sur des logiciels gratuit, Microsiris est un logiciel qui peut convenir.

Sinon côté références
  • Everitt (2005). An R and S-Plus Companion to Multivariate Analysis. Springer
  • Saporta (2006). Probabilités, analyses des données et statistiques. Technip
  • Foucart (1997). L’Analyse des données; mode d’emploi. Presses Universitaires de Rennes
  • Rouanet & le Roux (1997). Analyse des données multidimensionnelles. Dunod.
  • Lebart, Morineau & Piron (1997). Statistique exploratoire multidimensionnelle. Dunod.

et sur internet, le cours sera très inspiré des notes de cours de Jean-Marc Lasgouttes et de Philippe Besse.