Freakonometrics

To content | To menu | To search

Teaching › analyse des données - M1-08/09

Entries feed - Comments feed

Monday, May 4 2009

Rendu des projets/mémoires de M1 (actuariat et analyse des données)

Porté par mon élan (et n'ayant, à l'époque, reçu aucune nouvelle de la scolarité) j'avais annoncé que la date pour rendre les projets serait le 15 mai. Malheureusement, je suis harcelé par l'administration depuis quelques jours car les jurys se réunissent le 12 mai (que l'on ne demande pas pourquoi le jury se réunit avant que les stages - qui comptent pour une UE - ne soient terminés, je n'en ai pas la moindre idée). Bref, merci de m'envoyer les rapports/mémoires manquants d'ici mercredi. Sinon "petite" précision qui s'impose... merci de mettre vos noms au moins sur la première page du rapport.... Sans dévoiler les secrets de la notations, j'imprime à la suite toutes les pièces jointes que j'ai reçu, je les classe, et ensuite je vais tout lire.... et pour les documents sans noms, ça a le don de m'exaspérer. Or la règle numéro 1 d'un examen est "surtout ne pas énerver (inutilement) le correcteur". J'avais déjà évoqué - oralement je pense - la règle numéro 2 qui est "surtout ne pas écrire des tartines: plus on écrit, plus on a de chance d'écrire des âneries" (c'est statistique !). Je pense qu'un jour je ferai un billet avec la liste des règles d'or... Si d'ailleurs certains veulent en suggérer, les commentaires sont ouverts.

Friday, March 13 2009

Projet Analyse des Données, nouvelle base

Pour le projet d'analyse des données, je propose une nouvelle base ici. Il s'agit d'une enquête européenne sur les valeurs. Le détail des variables est donné ici. Attention, les modalités changent en fonction des questions,

V7. Discussing politics

  1.  frequently discussions
  2. occasionally
  3. Never
V203. Confidence in the press
  1. a great deal
  2. quite a lot
  3. not very much
  4. none at all
V273. Concerned with unemployed 
  1. very much
  2. much
  3. to a certain extent
  4. not so much

Monday, March 9 2009

Examen analyse des données, M1


L'examen devrait porter sur l'analyse de la fréquentation de la Bibliothèque Universitaire de Sciences Eco par les élèves. La base devrait arriver très bientôt est téléchargeable ici. J'ai supprimé le numéro d'étudiant, qui m'a permis de fusionner la base de la bibliothèque et la base de la scolarité. Pour les 3042 élèves présents dans la base de données, i.e. incrits l'an dernier (2007/2008) en Sciences Eco, j'ai
  • le nom du diplôme préparé
  • l'âge au 1er septembre
  • le sexe
  • le régime d'inscription ( 1 : formation initiale, 2 : Reprise d'études financées, 3 : formation par apprentissage, et 4 : reprise d'études non financées)
  • le statut (1 : étudiant, 2 : auditeur libre et 3 : Formation continue)
  • les résultats des deux semestres (ADM, AJ, AJAC)
  • les moyennes pour les deux semestres
  • la mention pour les deux semestres
  • le nombre de livres empruntés sur l'année *.
L'examen portera sur cette base de données. Je présenterais des sorties que je vous demanderais de commenter, ou d'expliquer des choix que j'aurais pu faire.

* Pour des raisons techniques, il ne s'agit pas exactement le nombre de livres empruntés sur la période car l'information n'était pas disponible. Je pouvais seulement avoir le cumul de tous les livres empruntés depuis la date de création du compte lecteur. J'ai donc fait une hypothèse - très forte - d'uniformité, et j'ai corrigé prorata temporis: quelqu'un qui a emprunté 7 livres sur 4 ans emprunte 1.75 livre dans l'année. D'où les chiffres à virgule. J'ai aussi créé des classes pour le nombre de livres empruntés.

Saturday, February 21 2009

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.

Wednesday, February 18 2009

ACP, analyse des élections présidentiels

Dans le TD d'Analyse des Données sur l'ACP, nous essayons de comprendre le comportement électoral des départements. Pour cela, des variables supplémentaires de CSP (Catégories Socio-Professionnelles) sont introduites.

Les CSP sont dans la classification de 1982, détaillée ici ou . Pour les actifs, les grandes classes sont les suivantes,

Analyse de données, cas d'école

Un petit exemple de ce que j'attends dans le projet*, avec un exemple assez simple: les notes des élèves de L3 AES de l'an dernier... Tout d'abord une description sommaire de la base. Ici, on note déjà qu'il y a beaucoup de "valeurs manquantes", et le traitement par défaut des valeurs manquantes est d'enlever les observations avec des valeurs manquantes. Bref, on va perdre du monde...

On peut noter que les moyennes par cours sont assez différentes,

Certains cours sont très discriminants, d'autres moins. Si on fait une ACP centrée réduite (corrélation, à droite) ou sur les données brutes, il y a des différences minimes.

De même si au lieu de prendre les notes (mêmes normalisées), on peut prendre les rangs des élèves (corrélation de Spearman, à droite)

L'interprétation du 1er axe est simple: à droite, on a une bonne note, à gauche, une mauvaise. Pour le second axe, c'est un peu plus compliqué. On peut d'ailleurs aller voir un peu au delà, en particulier l'axe 3,

Encore une fois, on ne fait que regarder des projections des colonnes, i.e. un nuage en dimension 28... on notera que les 3 premiers axes expliquent déjà beaucoup de variance, de l'ordre de 2/3 de la variance totale. On peut essayer d'ailleurs de visualiser le nuage en dimension 3 (les 3 premiers axes principaux),

mais on ne voit pas grand chose... Pour expliquer les axes (et mettre un nom), on peut étudier les contributions des variables, et le signe de la projection sur chacun des axes principaux

Bon, l'axe 1, c'est les bons (+) contre les mauvais (-). L'axe 2, ça serait les matières quantitatives (-) contre des matières plus littéraires (+). L'axe 3, ça serait peut être la sociologie (-) contre la finance (+). Voilà pour l'interprétation rapide, mais pour aller un peu plus loin, on peut rajouter des variables explicatives. Par exemple la moyenne au 1er et au 2nd semestre, ou l'âge (je prends pour l'instant des variables continues, quantitatives).

On voit que l'âge joue négativement sur les notes: les personnes très âgées ayant du mal. Par contre, on trouve une autre interprétation pour l'axe 2, i.e. 1er semestre (-) contre le 2nd (+). Ca ne suffit pas ? prenons des variables qualitatives, comme le sexe, ou l'âge (on a très peu de modalités)

Le sexe n'influence pas les notes (projection identique sur l'axe 1), mais visiblement les filles bossent plus au 1er semestre, et les garçons au second.

Je vous laisse d'ailleurs vérifier les coordonnées des âges sur tous les axes, en tant que variable qualitative au dessus, ou continue en dessous,

Bon, faisons un peu de classification pour voir si des matières se ressemblent, et s'assemblent... Avec tout d'abord une distance euclidienne et une agrégation à la Ward,

ou bien toujours une distance euclidienne, mais une agrégation single ou complete,

On notera une certaine cohérence dans les classes, par exemple les cours d'économie internationales se retrouvent, ou plus quantitatifs (statistique et marketing). On pourrait analyser des heures, mais la taille de mon blog est un peu limitée...

Pour finir, j'ai voulu voir si on pouvait expliquer la réussite ou pas en L3, via une analyse discriminante (réussite signifiant plus de 10 de moyenne globalement). On peut commencer par un modèle logit,

On note que certaines matières interviennent positivement dans la réussite, ce sont les matières les plus discriminantes (e.g. "politique économique", plus petite moyenne, plus grand écart-type), alors que d'autres ne servent à rien (tout le monde - ou presque - les validant). Voici d'ailleurs l'analyse graphique des coefficients,

Le gros défaut du modèle est de supprimer les valeurs manquantes, i.e. des gens qui n'ont pas participé à certaines UE... Sur 28 qui ont tout passé, 2 n'ont pas validé leur année... On peut d'ailleurs valider facilement ce point avec une analyse discriminante,

Bref, je classe bien tout le monde... mais c'était facile...

Essayons quelque chose de plus dur ? Peut-on devenir le sexe d'un élève à partir de ses notes ? Y-a-t-il des matières qu'un élève masculin ne peut pas réussir ?... et oui, à partir des notes, j'ai pu retrouver le sexe de tout le monde, sauf une personne...

Effectivement, j'ai su créer une variable très discriminante sur le sexe à partir des notes.. ma courbe ROC est très impressionnante (même si l'exercice ne sert à rien),

On peut d'ailleurs regarder quelles matières sont discriminantes pour déterminer le sexe d'un élève...

Visiblement, les hommes sont à gauche sur l'axe 1 (-) et les femmes à droite (+). Visiblement, les filles sont plus douées pour les matières quantitatives (statistique ou marketing), et les hommes pour les relations internationales... Encore une fois, cette étude est purement illustrative et ne sert pas à grande chose (d'un point de vue pratique). Mais au vu du pouvoir prédictif de mon analyse, j'aurais pu l'intituler "sexe et études", histoire de la rendre plus attirante...Bon, on pourrait continuer des heures, mais voilà l'idée, à vous de jouer...

* je veux bien essayer de le faire sous Excel, même si les outils sont limités.

Monday, February 9 2009

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.

Cours Analyse des Données, Master 1, Analyse Discriminante et Scoring (5)

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("http://perso.univ-rennes1.fr/arthur.charpentier/saporta.csv",header=TRUE,sep=";")
titanic<-read.table("http://perso.univ-rennes1.fr/arthur.charpentier/bordeaux_R.txt",header=TRUE)

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...).

Tuesday, February 3 2009

CAH (et kmeans) avec XLstat, un peu de terminologie

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.

Monday, February 2 2009

Cours Analyse des Données, Master 1, Classification Ascendante Hiérarchique (4)

Les slides de la quatrième partie sont en ligne sur mon blog. Le cours sera orienté autour des dendrogrammes et des k-means. 

Enfin, les bases de données qui seront utilisées en TD sont des bases déjà étudiées en TD, en particulier departement.xls, ou encore decathlon.xls.

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,

Friday, January 30 2009

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,


Wednesday, January 28 2009

Analyse des données, retour en arrière

Comme je l'ai mentionné en cours, on trouve des applications de l'analyse des données un peu partout, y compris en sciences sociales, et par des auteurs qu'on ne soupçonnerait pas forcément être très à l'aise avec la recherche de vecteurs propres et de facteurs principaux. C'est le cas dans La Noblesse d'Etat, de Pierre Bourdieu, datant de 1989, qui illustre constamment l'analyse à l'aide de projections sur le plan principal.

On pourra noter qu'au delà de la projection - proprement dite - Pierre bourdieu donne également un "nom" à ses axes principaux, ou une interprétation, avec un premier axe correspondant à la "qualité" de l'établissement scolaire, et le second axe reflétant l'autonomie.

 

AFC (ou ACM) avec XLstat, un peu de terminologie

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,

- page 1 of 2