Vous avez reçu un message "Your GitLab account has been locked ..." ? Pas d'inquiétude : lisez cet article https://docs.gricad-pages.univ-grenoble-alpes.fr/help/unlock/

Commit 3466c1de authored by Laurence Viry's avatar Laurence Viry
Browse files
parents 1e76c2e6 aba77f47
{
"cells": [
{
"cell_type": "markdown",
"metadata": {},
"source": [
"# TP - Analyse en composantes principales"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## Données\n",
"Analyse en composantes principales sur un jeu de données qui contient les performances\n",
"réalisées par des athlètes lors de deux compétitions d'athlétisme qui on eu lieu a un mois\n",
"d'intervalle: les jeux Olympiques d'Athènes et le Décastar en 2004.<br\\>\n",
"<br\\>\n",
"Le tableau contient pour chaque athlète, ses performances à 10 épreuves, son classement\n",
"final, son nombre de points final et la compétition à laquelle il a participée.<br\\>\n",
"<br\\>\n",
"Les données sont dans le package **FactoMineR**, on les récupére avec la commande **data**:<br\\>"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## Objectifs\n",
"L'objectif de l'ACP sur ce jeu de données est de déterminer des profils de performances\n",
"similaires:<br\\>\n",
"<br\\>\n",
"* **Etude des individus**: \n",
" - Peut-on déterminer des profils d'athlètes? \n",
" - Peut-on opposer un groupe d'individus à un autre?\n",
" - Est ce que certaines épreuves se ressemblent : si un athlète est performant pour une\n",
"épreuve, est-il plutôt performant pour une autre?<br\\>\n",
"<br\\>\n",
"* **Etude des variables **: \n",
" - Peut-on résumer les performances des athlètes par un petit nombre\n",
"de variables?\n",
" - Lien entre les deux études: peut-on caractériser un groupe d'individus par un petit nombre de variables?"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## Traitements\n",
"Les différents étapes que nous vous conseillons pour cette étude sont les suivantes:\n",
"### Importer le jeu de données."
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": [
"# Chargement des données de l'etude decathlon\n",
".libPaths(\"/home/viryl/R/lib\")\n",
"library(FactoMineR)\n",
"data(decathlon)\n",
"ls()"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"### Traitements descriptifs\n",
"* Faire un traitement descriptif univarié et bivarié sur ces données. Une bonne connaissance des données sera une aide à l'interprétation de l'ACP."
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": [
"# Traitement avec R\n",
"summary(decathlon)"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": [
"# Scaterplot\n",
"pairs(decathlon[,1:12])"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": [
"# Correlation\n",
"cor(decathlon[,1:12])"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"### ACP\n",
"* Choisir les variables et les individus actifs.\n",
"* Faut-il standardiser ou pas les variables actives?"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"* A l'issue de ces choix, effectuer l'ACP."
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {
"collapsed": true
},
"outputs": [],
"source": [
"# ACP avec R\n",
"# Utilisation du package FactoMineR\n",
"help(\"PCA\")"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {
"collapsed": true
},
"outputs": [],
"source": [
"decathlon.pca <- PCA(decathlon[,1:10])"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": [
"# decathlon.pca est un objet de type \"PCA\" et \"list\"\n",
"# on observe ses composantes\n",
"attributes(decathlon.pca)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"* Utiliser la variable \"Competition\" (13) et les variables quantitatives \"Rank\" et \"Points\" comme illustratives pour l'aide a l'interpretation"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {
"collapsed": true
},
"outputs": [],
"source": [
"decathlon.pca <- PCA(decathlon, quali.sup=13,quanti.sup=11:12)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"### Analyse des résultats\n",
"* Choisir le nombre d'axes à analyser : afficher les valeurs propres et construire le graphiques des valeurs propres."
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": [
"# Choisir les axes\n",
"barplot(decathlon.pca$eig[,2])\n",
"round(decathlon.pca$eig[,2],2)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"* Observer les individus dans le premier plan factoriel.\n",
"* Positionner les modalités d'une variable illustrative qualitative."
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": [
"plot(decathlon.pca, choix=\"ind\",cex=0.8)"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": [
"plot(decathlon.pca, choix=\"ind\", habillage=13,cex=0.8)"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": [
"# Individu sur les axes 3 et 4\n",
"plot(decathlon.pca, choix=\"ind\", habillage=13,cex=0.8,axes=3:4)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"* Construire le cercle de corrélations.\n",
"* Positionner des variables illustratives quantitatives dans le cercle des corrélations."
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": [
"plot(decathlon.pca, choix=\"var\",cex=0.8)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"* Décrire les principales dimensions de variabilité"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": [
"# Decrire les principales dimensions de variabilite\n",
"dimdesc(decathlon.pca)"
]
}
],
"metadata": {
"kernelspec": {
"display_name": "R",
"language": "R",
"name": "ir"
},
"language_info": {
"codemirror_mode": "r",
"file_extension": ".r",
"mimetype": "text/x-r-source",
"name": "R",
"pygments_lexer": "r",
"version": "3.3.2"
}
},
"nbformat": 4,
"nbformat_minor": 2
}
Exploratory Multivariate Analysis by Example Using R
Francois Husson, Sebastien Le, Jérôme Pagès
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment