Chapitre 2-Analyse en composantes principales Flashcards
Quand utilise-t-on une ACP ?
Lorsque nous avons beaucoup de variables, plus que 3, ce qui rend la visualisation des données sur un seul graphique impossible
Pourquoi utiliser une ACP ? (3)
- Pour résumer et visualiser en 2 ou 3 dimensions les patrons de corrélations entre les variables
- Pour trouver une équation qui permet de communiquer les patrons de corrélation et qui permet d’ajouter des variables
- Pour suggérer des hypothèses qui expliqueraient les patrons de corrélations.
Patrons de corrélation cachés
Si nous avons trois variables, mais nous ne faisons que des graphiques de corrélations entre 2 variables à la fois (X et Y, X et Z, Y et Z), on manque des patrons de corrélations qui sont cachés (3D).
C’est pourquoi on utilise les méthodes d’ordination, car elles mettent visibles les patrons de corrélations en 1 ou 2 variables latentes.
Comment faire une ACP ? (4)
- On observe un patron de corrélation entre la variable x et la variable y.
Chaque axe est une fonction d’une variable; axe des X = 1x+0y. - Centrer les variables autour de la moyenne
Il faut soustraire à chaque variable sa moyenne, pour transférer l’axe originale vers un nouvel axe au centre du nuage de points - Faire une rotation des axes centrés pour qu’une des 2 axes traverse le plus grand patron de covariation du nuage de points (ex: le nuage de points monte vers le coin droit, le plus grand patron de covariation est une ligne qui suit cette direction, au milieu du nuage de points)
Permet de décrire la meilleure tendance des données.
Le premier axe maximise la variablité (capte la plus grande tendance) et les axes qui suivent maximisent la variabilité résiduelle. - Déterminer l’équation qui représente les nouveaux axes.
Chaque axe comprend une variation de x et de y, à cause de la rotation. Donc les nouveaux axes comprennent les variables originales.
Suppositions à faire pour qu’une ACP fonctionne (3)
- La distribution de chacune des variables originales doit être normale (symétrique autour de la moyenne)
- Visualiser la distribution de chaque variable avec la fonction plot
- Si la distribution est normale : c’est parfait
- Si la distribution n’est pas normale, il faut transformer les données de la variables avec la transformation Box-Cox.
- Cette transformation permet de trouver une constante exponentielle qui permet de rapprocher les données de la variable le plus près d’une distribution normale possible (quand on utilise x~1, ça veut dire x en fonction de la moyenne)
- Après avoir trouver la constante lambda, il faut l’appliquer à la variable pour en “créer” une nouvelle qui sera centrée sur la moyenne. - La relation entre les variables doit être linéaire
Une relation non-linéaire nuit à la capacité d’une ACP de réduire le nombre de variables. - Les variables composites
Les variables compositonnelles ou composites sont des variables qui forcent les corrélations, où il y a des relations non-biologiques. Ces variables doivent être transformées par une transformation logarithmique (lnx-lnmoyennex)
ex: composition du sol en argile, limon et sable
Ces 3 variables sont forcées à donner une somme de 100%, ce n’est pas une corrélation biologique.
Utiliser une matrice de corrélation ou une matrice de covariance pour notre ACP ?
C’est à nous de choisir à chaque ACP. À dépend des unités et de mesures et de ce qu’on veut évaluer.
1. Matrice de covariance
- On l’utilise quand les unités de mesure de variables sont les mêmes ET que les relations entre les variables ont un sens biologique.
- Les données sont centrées.
- [ S11 S12 S13] les variances sont sur la diagonale
[ S21 S22 S23]
[ S31 S32 S33]
Les covariances (x-moyx) de chaque variable avec les autres se trouvent de part et d’autre de la diagonale (image miroir).
- Matrice de corrélation
- On l’utilise quand les unités de mesures des variables ne sont pas les mêmes OU quand les relations entre les variables ont un sens biologiques
- Les données sont centrées et réduites (covariance/écart-type)
- [ 1 r12 r13]
[ r21 1 r23]
[ r31 r32 1]
r correspond à la corrélation de Pearson
r12= S12/écart-type entre 1 et 2
r12= S12/racine carrée(variance1-variance2)
Princomp vs prcomp
Avec la fonction princomp ou la fonction prcomp
PRINCOMP
- Il faut toujours spécifier :
.le nom des variable à inclure ou les colonnes de la base de données qui contiennent ces variables
.la base de données (data=)
.le type de matrice qu’on utilise (cor=FALSE pour covariation)
- On peut aussi retrouver l’argument na.action qui dit de retirer les lignes de la base de données contenant des valeurs manquantes
- scores : pour chaque point, quelles sont ses coordonnées sur chaque axe (nom$scores)
- sdev : % de la variabilité captée par chaque axe, montre aussi la longueur de chaque axe (nom$sdev)
- loadings : poids donné pour chaque variable qui définit la rotation de chaque axe (nom$loadings)
- IMP: pour pouvoir utiliser princomp, il faut qu’il y ait plus d’observations que de variables
PRCOMP
- Il faut toujours spécifier :
.le nom des variable à inclure ou les colonnes de la base de données qui contiennent ces variables
.la base de données (data=)
.le type de matrice qu’on utilise (scale.=FALSE pour covariation)
- x : équivalent de scores, quelles sont les coordonnées de chaque point sur chaque axe
- sdev : $ de variabilité capté par chaque axe
- rotation : équivalent de loadings, poids donné pour chaque variable qui défini la rotation de chaque axe
Que nous donne le summary dans R
- Standard deviation
l’écart-type de chaque variable
mis au carré on obtient la variance - Proportion of variance
% de la variabilité capté par un certain axe - Cumulative proportion
Variabilité totale capté par le nombre d’axe
Comment on trouve les équations des nouvelles axes ?
Avec les loadings (poids donné de chaque variable quo définit la rotation de chaque axe)
ex : pour logLL le loading sur axe 1 = 0.722, donc dans l’équation il sera écrit 0.722(logLL-moylogLL)
Loadings en flèches
Les loadings (poids donné de chaque variable qui définit la rotation de chaque axe) peuvent être représentés par des flèches.
- Flèches réprensentent des relations positives si elles vont vers la droite (axe 1) et/ou vers le haut (axe 2)
- Flèches représentent des relations négatives si elles vont vers la gauche (axe 1) et/ou vers le bas (axe 2)
- Plus une flèche est longue, plus une variable est importante sur une axe.
Comment choisir les axes à retenir ?
- L’axe capture la variation au-delà de la variation d’échantillonnage purement aléatoire
- L’axe mesure une propriété composite d’intérêt biologique
- Le moins d’axes possibles, mais qui répondent aux deux autres points
- Le screeplot nous aide à faire notre choix
Graphique à éboulis
Montre la variance captée par chaque axe par rapport à la moyenne
Pour conserver l’axe, il faut que la variance expliquée par l’axe soit plus élevée que la moyenne
Ajouter une distribution broken stick pour voir la distribution est aléatoire
- si la variance expliquée par l’axe est plus haute que le point du broken stick correspondant, ce n’est pas aléatoire donc on conserve
On peut aussi faire un test inférentiel de Forkman
Avec des variables suivant une distribution normale
Quelle est la probabilité que la 1ère axe représente une variabilité purement aléatoire ?
0= pas aléatoire
Comment représenter les résultats d’une ACP ?
- Avec un biplot, un graphique qui représente à la fois la position des observations sur les axes (scores) et le poids des variables (loadings)
- Par contre, ces 2 informations n’ont pas la même échelle; il faut donc transformer une ou l’autre des informations pour pouvoir les regrouper dans un biplot.
- 2 types de graphiques selon ce qu’on veut représenter :
Graphique des loadings qui préserve les variables (corrélation entre données)
Graphique des scores qui préserve les distances
Préservation des distances
Il faut modifier les flèches, le poids des variables sur les axes
Comment faire ?
- Trouver la longueur de chaque flèche à l’aide du théorème de Pythagore
- Ajuster la longueur des flèches à l’échelle du graphique des scores
- Les flèches sont proportionneles aux distances qu’on trouvait sur le graphique des loadings, mais dans l’échelle du graphique des scores
Préservation des variables
Il faut transformer les unités du graphique des scores en écart-type
- On obtient un graphique où les points sont regroupés en cercle autour de la moyenne
- On peut donc trouver les distances entre les points avec les distances euclédiennes
Distances euclédiennes vs distance Mahalanobis
E : Distance entre deux points basée sur le calcul de l’hypothénuse d’un triangle.
M : distance euclédienne quand les unités de mesure d’une variable sont les écart-types