Processing math: 100%
+ - 0:00:00
Notes for current slide
Notes for next slide

Atelier 9: Analyses multivariées

Série d’ateliers R

Centre de la Science de la Biodiversité du Québec

1 / 128

À propos de cet atelier

badge badge badge badge badge

2 / 128

Packages requis


install.packages(c('ape', 'gclus', 'vegan'))
3 / 128

Objectifs d'apprentissage

Utiliser R pour faire des ordinations sans contraintes

Faire un dendrogramme avec R

4 / 128

1. Introduction

Qu'est-ce que l'ordination?

5 / 128

Une Dimension

Que se passe-t-il si nous voulons nous intéresser à la réponse de différentes espèces d'algues?

6 / 128

Deux Dimensions

7 / 128

Trois Dimensions

8 / 128

4,5,6, ou plus de Dimensions

9 / 128

Ordination en espace réduit

10 / 128

Ordination en espace réduit

  • L'algèbre matricielle est complexe et difficile à comprendre

  • Une compréhension générale est suffisante pour utiliser efficacement les méthodes d'ordination

11 / 128

Méthodes pour la recherche scientifique

12 / 128

Méthodes pour la recherche scientifique

  • Questions / Hypothèses
12 / 128

Méthodes pour la recherche scientifique

  • Questions / Hypothèses
  • Design expérimental
12 / 128

Méthodes pour la recherche scientifique

  • Questions / Hypothèses
  • Design expérimental
  • Collecte de données
12 / 128

Méthodes pour la recherche scientifique

  • Questions / Hypothèses
  • Design expérimental
  • Collecte de données
  • Transformation / Distance
12 / 128

Méthodes pour la recherche scientifique

  • Questions / Hypothèses
  • Design expérimental
  • Collecte de données
  • Transformation / Distance
  • Analyses
12 / 128

Méthodes pour la recherche scientifique

  • Questions / Hypothèses
  • Design expérimental
  • Collecte de données
  • Transformation / Distance
  • Analyses
  • Rédaction
12 / 128

Méthodes pour la recherche scientifique

  • Questions / Hypothèses
  • Design expérimental
  • Collecte de données
  • Transformation / Distance
  • Analyses
  • Rédaction
  • Communication
12 / 128

2. Exploration des données

13 / 128

Données de poissons de la rivière Doubs

Données de Verneaux (1973) :

  • caractérisation des communautés de poissons
  • 27 espèces
  • 30 sites
  • 11 variables environnementales

14 / 128

Données de poissons de la rivière Doubs

Chargement des données espèces (Doubs.Spe.csv)

spe <- read.csv("data/doubsspe.csv", row.names = 1)
spe <- spe[-8,] # supprimer le site vide

Chargement des données environnementales (Doubs.Env.csv)

env <- read.csv("data/doubsenv.csv", row.names = 1)
env <- env[-8,] # remove site with no data

Attention, n'exécuter qu'une seule fois

15 / 128

Exporation des données

Explorer le contenu des données espèces :

names(spe) # noms des objets
dim(spe) # dimensions
str(spe) # structure des objets
summary(spe) # résumé statistique
head(spe) # 6 premières lignes
# CHA TRU VAI LOC OMB BLA HOT TOX VAN CHE BAR SPI GOU BRO PER BOU PSO ROT CAR
# 1 0 3 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
# 2 0 5 4 3 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
# 3 0 5 5 5 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0
# 4 0 4 5 5 0 0 0 0 0 1 0 0 1 2 2 0 0 0 0
# 5 0 2 3 2 0 0 0 0 5 2 0 0 2 4 4 0 0 2 0
# 6 0 3 4 5 0 0 0 0 1 2 0 0 1 1 1 0 0 0 0
# TAN BCO PCH GRE GAR BBO ABL ANG
# 1 0 0 0 0 0 0 0 0
# 2 0 0 0 0 0 0 0 0
# 3 0 0 0 0 0 0 0 0
# 4 1 0 0 0 0 0 0 0
# 5 3 0 0 0 5 0 0 0
# 6 2 0 0 0 1 0 0 0
16 / 128

Fréquences des espèces

Observer la distribution de fréquence des espèces :

ab <- table(unlist(spe))
barplot(ab, las = 1, col = grey(5:0/5),
xlab = "Abondance des classes", ylab = "Fréquence")

Notez la proportion de 0

17 / 128

Fréquences des espèces

Combien de zéros?

sum(spe == 0)
# [1] 408

Quelle proportion de zéros?

sum(spe == 0)/(nrow(spe)*ncol(spe))
# [1] 0.5210728
18 / 128

Richesse totale en espèce

Observer le nombre d'espèces présentes dans chaque site :

site.pre <- rowSums(spe > 0)
barplot(site.pre, main = "Richesse spécifique",
xlab = "Sites", ylab = "Nombre d'espèces",
col = "grey ", las = 1)

19 / 128

Comprenez vos données!

...pour choisir la transformation et la distance appropriée

  • Y-a-t-il beaucoup de zéros?

  • Que veulent-ils dire?

Une mesure de 0 (e.g 0mg/L, 0°C) n'est pas équivalent à un 0 représentant une absence d'observation.

20 / 128

Avant de transformer vos données de composition des communautés...

Considérations importantes:

21 / 128

Avant de transformer vos données de composition des communautés...

Considérations importantes:

  • abondances/comptes/présence-absence relatives?
21 / 128

Avant de transformer vos données de composition des communautés...

Considérations importantes:

  • abondances/comptes/présence-absence relatives?
  • distributions asymmétriques ?
21 / 128

Avant de transformer vos données de composition des communautés...

Considérations importantes:

  • abondances/comptes/présence-absence relatives?
  • distributions asymmétriques ?
  • beaucoup d'espèces rares?
21 / 128

Avant de transformer vos données de composition des communautés...

Considérations importantes:

  • abondances/comptes/présence-absence relatives?
  • distributions asymmétriques ?
  • beaucoup d'espèces rares?
  • surabondance d'espèces dominantes?
21 / 128

Avant de transformer vos données de composition des communautés...

Considérations importantes:

  • abondances/comptes/présence-absence relatives?
  • distributions asymmétriques ?
  • beaucoup d'espèces rares?
  • surabondance d'espèces dominantes?
  • problème de double Zéro?
21 / 128

Transformer les données de composition des communautés

22 / 128

Transformer les données de composition des communautés

Exemples

Transformer des comptes en présence - absence

library(vegan)
spec.pa <- decostand(spe, method = "pa")

Réduire le poids des espèces rares

spec.hel <- decostand(spe, method = "hellinger")
spec.chi <- decostand(spe, method = "chi.square")

Réduire le poids des espèces abondantes

spe.pa <- decostand(spe, method = "log")
23 / 128

Données sur l'environnement

names(env) # Names of objects
dim(env) # dimensions
str(env) # structure of objects
summary(env) # summary statistics
head(env) # first 6 rows
head(env) # first 6 rows
# das alt pen deb pH dur pho nit amm oxy dbo
# 1 0.3 934 48.0 0.84 7.9 45 0.01 0.20 0.00 12.2 2.7
# 2 2.2 932 3.0 1.00 8.0 40 0.02 0.20 0.10 10.3 1.9
# 3 10.2 914 3.7 1.80 8.3 52 0.05 0.22 0.05 10.5 3.5
# 4 18.5 854 3.2 2.53 8.0 72 0.10 0.21 0.00 11.0 1.3
# 5 21.5 849 2.3 2.64 8.1 84 0.38 0.52 0.20 8.0 6.2
# 6 32.4 846 3.2 2.86 7.9 60 0.20 0.15 0.00 10.2 5.3

Explorer la colinéarité en visualisant les corrélations entre les variables

pairs(env, main = "Bivariate Plots of the Environmental Data")
24 / 128

Données sur l'environnement

25 / 128

Standardisation

Standardiser les variables environnementales est indispensable car il est impossible de comparer des variables d'unités différentes :

## ?decostand
env.z <- decostand(env, method = "standardize")

Cette fonction centre-réduit les données pour permettre la fiabilité des analyses :

apply(env.z, 2, mean)
# das alt pen deb pH
# -7.959539e-17 -4.795165e-17 2.494600e-17 -7.323225e-17 -1.730430e-15
# dur pho nit amm oxy
# -2.028505e-16 4.445790e-17 2.875893e-17 2.754434e-17 -4.038167e-16
# dbo
# 9.829975e-17
apply(env.z, 2, sd)
# das alt pen deb pH dur pho nit amm oxy dbo
# 1 1 1 1 1 1 1 1 1 1 1
26 / 128

3. Similarité / Dissimilarité

27 / 128

Mesure d'association

L'algébre matricielle est au coeur de plusieurs méthodes d'analyses multivariées

  • Explorer différentes mesures de distance entre objets permet de mieux comprendre le fonctionnement de l'ordination
28 / 128

Au-délà de la 1ère dimension

  • Les jeux de données écologiques correspondent souvent à de grandes matrices

  • L'ordination calcule les relations entre espèces, ou entre objets

  • Ces relations peuvent être simplifiées par des mesures de dissimilarités

29 / 128

Similarité / Dissimilarité

  • Utile pour comprendre vos données
  • Certains types d'ordination ou de groupement nécessitent des mesures appropriées

Similarité: S = 1 - D Distance: D = 1-S

30 / 128

Mesures de distance des communautés

  • Euclidienne
  • Manhattan
  • Corde
  • Hellinger
  • Chi-carré
  • Bray-Curtis
31 / 128

Mesures de distance des communautés

  • Euclidienne
  • Manhattan
  • Corde
  • Hellinger
  • Chi-carré
  • Bray-Curtis




Chaque mesure est utile dans différentes situations

31 / 128

Comparaison des sites de la rivière Doubs

La fonction vegdist() comprend les mesures de distances communes :

?vegdist

Comment la composition des communautés diffère-t-elle entre les 30 sites de la rivière Doubs?

spe.db.pa <- vegdist(spe, method = "bray")
32 / 128

Comparaison des sites

33 / 128

Comparaison des sites

34 / 128

Visualisation d'une matrice de distances

35 / 128

Défi #1


Discuter avec votre voisin:


Comment savoir si deux objets caractérisés par des données multidimensionnelles sont similaires?


  • Faites une liste de vos suggestions
36 / 128

Et qu'en est-il de l'ordination?

Avec des méthodes d'ordination, nous ordonnons vos objets (sites) en fonction de leur similarité

  • Plus les sites sont similaires, plus ils sont proches dans l'espace d'ordination (plus petites distances)

  • En écologie, on calcule habituellement la similarité entre sites en fonction de leur composition en espèces ou de leur conditions environnementales.

37 / 128

Analyse schématique des analyses multivariées

38 / 128

Groupement

  • Permet de mettre en lumière des structures dans les données en partitionnant les objets

  • Les résultats sont représentés sous forme de dendrogramme (arbre)

  • Pas une méthode statistique!

39 / 128

Aperçu de 3 méthodes hiérarchiques


  • Groupement agglomératif à liens simples


  • Groupement agglomératif à liens complets


  • Groupement de Ward


  • Les éléments de petits ensembles se regroupent en groupes plus vastes de rang supérieur
    • (e.g. espèces, genres, familles, ordres...)
40 / 128

Groupement hiérarchique

À partir d'une matrice de distances, on classe les objets en ordre croissant

41 / 128

Groupement à liens simples

  • Les deux objets les plus proches se regroupent

  • Ensuite les deux objets les plus proches suivants

  • et ainsi de suite.

42 / 128

Groupement à liens complet

  • Les deux objets les plus proches se regroupent

  • Ensuite les groupes se lient à la distance à laquelle les objets qu'ils contiennent sont tous liés

43 / 128

Comparaison

Créer une matrice de distance à partir des données de la rivière Doubs transformées Hellinger et faire le groupement à liens simples :

spe.dhe1 <- vegdist(spec.hel, method = "euclidean")
spe.dhe1.single <- hclust(spe.dhe1, method = "single")
plot(spe.dhe1.single)

44 / 128

Comparaison

Liens simples :

Les objets ont tendance à s'enchaîner (e.g. 19,29,30,26)

Liens complets : Les groupes sont plus distincts

45 / 128

Groupement de Ward

  • Utilise la méthode des moindres carrés pour lier les objets
    • les groupes fusionnent de façon à minimiser la variance intragroupe
    • à chaque étape, la paire de groupes à fusionner est celle qui résulte à la plus petite augmentation de la somme des carrés des écarts intra-groupes
46 / 128

Groupement de Ward

Faire le groupement de Ward et dessiner le dendrogramme en utilisant la racine carrée des distances :

spe.dhel.ward <- hclust(spe.dhe1, method = "ward.D2")
spe.dhel.ward$height <- sqrt(spe.dhel.ward$height)
plot(spe.dhel.ward, hang = -1) # hang = -1 aligns objects at the same level

47 / 128

Groupement de Ward

Les objets ont tendance à former des groupes plus sphériques et homogènes

48 / 128

Comment choisir la bonne méthode ?

  • Dépend de votre objectif
    • démontrer des gradients? des contrastes?
  • Si plus d'une méthode semble adéquate, comparer les dendrogrammes
  • Encore une fois : ceci n'est pas une méthode statistique Mais! il est possible de:
    • déterminer le nombre de groupe optimal
    • faire des tests statistiques sur les résultats
    • combiner le groupement à l'ordination pour distinguer des groupes de sites
49 / 128

4. Ordination non contrainte

50 / 128

Définitions

51 / 128

Définitions

  • Variance: mesure de la dispersion d'une variable yj de sa moyenne
51 / 128

Définitions

  • Variance: mesure de la dispersion d'une variable yj de sa moyenne
  • Co-variance: mesure de co-dispersion des variables yj et yi de leur moyenne
51 / 128

Définitions

  • Variance: mesure de la dispersion d'une variable yj de sa moyenne
  • Co-variance: mesure de co-dispersion des variables yj et yi de leur moyenne
  • Corrélation: mesure de la force du lien entre 2 variables : rij=(dij/djxdk)
51 / 128

Définitions

  • Variance: mesure de la dispersion d'une variable yj de sa moyenne
  • Co-variance: mesure de co-dispersion des variables yj et yi de leur moyenne
  • Corrélation: mesure de la force du lien entre 2 variables : rij=(dij/djxdk)
  • Valeurs propres: proportion de variance (dispersion) représentée par un axe d'ordination
51 / 128

Définitions

  • Variance: mesure de la dispersion d'une variable yj de sa moyenne
  • Co-variance: mesure de co-dispersion des variables yj et yi de leur moyenne
  • Corrélation: mesure de la force du lien entre 2 variables : rij=(dij/djxdk)
  • Valeurs propres: proportion de variance (dispersion) représentée par un axe d'ordination
  • Orthogonalité: angle droit entre 2 axes ou 2 flèches, ce qui veut dire qu'ils sont indépendants = non corrélés
51 / 128

Définitions

  • Variance: mesure de la dispersion d'une variable yj de sa moyenne
  • Co-variance: mesure de co-dispersion des variables yj et yi de leur moyenne
  • Corrélation: mesure de la force du lien entre 2 variables : rij=(dij/djxdk)
  • Valeurs propres: proportion de variance (dispersion) représentée par un axe d'ordination
  • Orthogonalité: angle droit entre 2 axes ou 2 flèches, ce qui veut dire qu'ils sont indépendants = non corrélés
  • Score: position d'un point sur un axe. Tous les scores d'un point donnent ses coordonnées dans l'espace multidimensionnel. Ils peuvent être utilisés pour d'autres analyses (e.g combinaison linéaire de variables mesurées)
51 / 128

Définitions

  • Variance: mesure de la dispersion d'une variable yj de sa moyenne
  • Co-variance: mesure de co-dispersion des variables yj et yi de leur moyenne
  • Corrélation: mesure de la force du lien entre 2 variables : rij=(dij/djxdk)
  • Valeurs propres: proportion de variance (dispersion) représentée par un axe d'ordination
  • Orthogonalité: angle droit entre 2 axes ou 2 flèches, ce qui veut dire qu'ils sont indépendants = non corrélés
  • Score: position d'un point sur un axe. Tous les scores d'un point donnent ses coordonnées dans l'espace multidimensionnel. Ils peuvent être utilisés pour d'autres analyses (e.g combinaison linéaire de variables mesurées)
  • Dispersion (inertie): Mesure de la variabilité totale du diagramme de dispersion de l'espace multidimensionnel en fonction de son centre de gravité
51 / 128

Ordination non contrainte

  • Évalue la relation dans un ensemble de variables (espèces ou variables environnementales, et non parmi les ensembles, i.e analyse sous contraintes)

  • Trouve les composants clés de la variation entre échantillons, sites, espèces, etc...

  • Réduit le nombre de dimensions dans les données multivariées sans perte d'informations considérables

  • Créer de nouvelles variables pour des analyses ultérieures (comme la régression)

52 / 128

4.1. Analyse en Composantes Principales (ACP ou PCA)

  • Préserve, en 2 dimensions, le maximum de variation des données
  • Il en résulte des variables synthétiques orthogonales entre elles (et donc non corrélées)
53 / 128

PCA - Ce qu'il vous faut

  • Un jeu de données correspondant à des variables réponses (eg. composition de communautés) OU à des variables explicatives (e.g variables environnementales)

PAS LES DEUX!

  • Échantillons correspondant à des mesures du même jeu de variables
  • Généralement, un jeu de données plus long que large est préféré

54 / 128

PCA - Principes



Site Species 1 Species 2
A 7 3
B 4 3
C 12 10
D 23 11
E 13 13
F 15 16
G 18 14

Un exemple simplifié

55 / 128

PCA - Principes

En 2D, les sites seraient disposés de cette façon... Notez la dispersion dans le diagramme de dispersion

56 / 128

PCA - Principes

La première composantes principale est celle qui maximise la variation observée... la meilleure droite entre les sites

57 / 128

PCA - Principes

La seconde composante principale est ajoutée perpendiculairement au premier axe

58 / 128

PCA - Principes

Le graphique final subit une rotation afin que les deux axes correspondent aux composantes principales (et non plus aux espèces)

59 / 128

PCA - Cas multidimensionnel



  • PC1 --> axe qui maximise la variance des points projetés perpendiculairement sur les axes.
  • PC2 --> doit être orthogonal à PC1, mamis sa direction maximise la variance des points projetés.
  • PC3 --> et ainsi de suite : orthogonale à PC1 et PC2...


Quand il y a plus de deux dimensions, la PCA produit un nouvel espace dans lequel tous les axes sont orthogonaux (i.e. la corrélation entre les axes =0) et où les axes sont ordonnés selon le pourcentage de variation des données brutes qu'ils représentent (valeur propre).

60 / 128

PCA - Essayons sur les données Poissons!

  • La PCA (tout comme la RDA) est implémentée par la fonction rda() de la librairie vegan

  • Effectuer une PCA sur les abondances de poissons transformées Hellinger

spe.h.pca <- rda(spec.hel)
summary(spe.h.pca)
#
# Call:
# rda(X = spec.hel)
#
# Partitioning of variance:
# Inertia Proportion
# Total 0.5025 1
# Unconstrained 0.5025 1
#
# Eigenvalues, and their contribution to the variance
#
# Importance of components:
# PC1 PC2 PC3 PC4 PC5 PC6 PC7
# Eigenvalue 0.2580 0.06424 0.04632 0.03850 0.02197 0.01675 0.01472
# Proportion Explained 0.5133 0.12784 0.09218 0.07662 0.04371 0.03334 0.02930
# Cumulative Proportion 0.5133 0.64118 0.73337 0.80999 0.85370 0.88704 0.91634
# PC8 PC9 PC10 PC11 PC12 PC13
# Eigenvalue 0.01156 0.006936 0.006019 0.004412 0.002982 0.002713
# Proportion Explained 0.02300 0.013803 0.011978 0.008781 0.005935 0.005399
# Cumulative Proportion 0.93934 0.953144 0.965123 0.973903 0.979838 0.985237
# PC14 PC15 PC16 PC17 PC18 PC19
# Eigenvalue 0.001835 0.001455 0.001118 0.0008309 0.0005415 0.0004755
# Proportion Explained 0.003651 0.002895 0.002225 0.0016535 0.0010776 0.0009463
# Cumulative Proportion 0.988888 0.991783 0.994008 0.9956612 0.9967389 0.9976852
# PC20 PC21 PC22 PC23 PC24
# Eigenvalue 0.0003680 0.0002765 0.0002253 0.0001429 7.618e-05
# Proportion Explained 0.0007324 0.0005503 0.0004483 0.0002845 1.516e-04
# Cumulative Proportion 0.9984176 0.9989678 0.9994161 0.9997006 9.999e-01
# PC25 PC26 PC27
# Eigenvalue 4.99e-05 1.526e-05 9.118e-06
# Proportion Explained 9.93e-05 3.036e-05 1.814e-05
# Cumulative Proportion 1.00e+00 1.000e+00 1.000e+00
#
# Scaling 2 for species and site scores
# * Species are scaled proportional to eigenvalues
# * Sites are unscaled: weighted dispersion equal on all dimensions
# * General scaling constant of scores: 1.93676
#
#
# Species scores
#
# PC1 PC2 PC3 PC4 PC5 PC6
# CHA 0.17336 0.08295 -0.064963 0.2539861 -0.0285801 0.019057
# TRU 0.64860 0.01162 -0.261994 -0.1606020 -0.0745819 -0.088616
# VAI 0.51810 0.14773 0.165304 0.0241017 0.1012928 0.104748
# LOC 0.38606 0.16615 0.242995 -0.0275216 0.1258011 0.048299
# OMB 0.16893 0.06274 -0.096143 0.2426514 0.0140574 0.062117
# BLA 0.07786 0.14644 -0.031402 0.2339394 -0.1032338 -0.040810
# HOT -0.18491 0.04901 -0.045107 0.0199377 0.0687305 0.009650
# TOX -0.14644 0.17834 -0.010937 0.0649955 -0.0006229 -0.106955
# VAN -0.11436 0.15673 0.142223 -0.0127266 -0.1989404 0.013897
# CHE -0.09682 -0.15449 0.242943 0.1124210 0.0233830 -0.039996
# BAR -0.19826 0.21211 -0.053980 0.0969899 0.0067098 -0.035442
# SPI -0.17689 0.16250 -0.033112 0.0397113 0.0323159 -0.072908
# GOU -0.23138 0.09782 0.064144 -0.0013887 -0.1503303 0.130575
# BRO -0.15129 0.12804 0.040303 -0.1203826 -0.1006077 0.066242
# PER -0.15719 0.18144 0.057029 -0.0940032 -0.0412984 -0.060409
# BOU -0.22853 0.13870 -0.062197 -0.0125024 0.0798647 -0.006907
# PSO -0.22790 0.08231 -0.065797 0.0172143 0.0611434 -0.001407
# ROT -0.19221 0.03090 -0.006264 -0.0739133 -0.0731548 0.074581
# CAR -0.18699 0.13388 -0.050804 0.0001803 0.0403961 -0.031005
# TAN -0.19169 0.15719 0.114415 -0.0818330 0.0142624 -0.072024
# BCO -0.20174 0.08807 -0.067086 -0.0529106 0.0737228 0.037312
# PCH -0.14717 0.05829 -0.067311 -0.0458414 0.0501013 0.031605
# GRE -0.30155 -0.01785 -0.084333 -0.0181797 0.0226500 0.126639
# GAR -0.35245 -0.14076 0.168014 0.0185946 0.0213462 -0.129788
# BBO -0.24317 0.03679 -0.082731 -0.0384489 0.0939828 0.063369
# ABL -0.42536 -0.26155 -0.054190 0.1021959 -0.0078085 0.044540
# ANG -0.20631 0.11889 -0.062079 -0.0175733 0.0718743 -0.001956
#
#
# Site scores (weighted sums of species scores)
#
# PC1 PC2 PC3 PC4 PC5 PC6
# 1 0.367401 -0.39935 -1.08857 -0.63304 -0.512027 -0.858378
# 2 0.503582 -0.05683 -0.19259 -0.43441 0.389533 0.069451
# 3 0.461709 0.02262 -0.06522 -0.49798 0.309425 0.270577
# 4 0.298336 0.15130 0.26748 -0.53196 0.003088 0.184821
# 5 -0.002222 0.07631 0.54769 -0.50936 -0.780261 -0.169353
# 6 0.212816 0.08345 0.55091 -0.42210 -0.139518 -0.104278
# 7 0.438055 -0.06114 0.15590 -0.31150 0.158686 0.036565
# 9 0.040794 -0.44269 0.89022 0.09609 0.641193 -0.646943
# 10 0.298011 -0.01094 0.56837 -0.10013 -0.088124 0.515072
# 11 0.467609 -0.12622 -0.15505 0.29459 0.325464 0.200912
# 12 0.476845 -0.07691 -0.16329 0.29384 0.360112 0.194576
# 13 0.483620 0.06649 -0.44723 0.53734 0.048587 0.182565
# 14 0.371728 0.16555 -0.21939 0.62130 -0.183604 0.364847
# 15 0.277048 0.23525 0.08928 0.61773 -0.475769 0.124107
# 16 0.077024 0.47455 0.17116 0.34361 -0.570434 -0.572740
# 17 -0.053860 0.42290 0.02810 0.42376 -0.059203 -0.586419
# 18 -0.135418 0.37780 0.03233 0.39706 -0.007199 -0.347064
# 19 -0.269281 0.30751 0.18022 0.09354 0.178657 -0.016299
# 20 -0.378830 0.19764 0.04939 -0.03438 0.157660 -0.056696
# 21 -0.409369 0.22888 -0.08401 -0.12823 0.152787 0.096105
# 22 -0.443679 0.17698 -0.13708 -0.13152 0.103294 0.030004
# 23 -0.242292 -1.11711 0.15254 0.40512 0.045573 -0.576778
# 24 -0.358333 -0.83372 -0.17314 0.27200 0.181192 0.347231
# 25 -0.325288 -0.61983 0.10487 0.01059 -1.034438 0.750325
# 26 -0.441703 0.02111 -0.13742 -0.14346 0.200775 0.244356
# 27 -0.444529 0.12735 -0.15915 -0.14112 0.179240 0.123487
# 28 -0.446407 0.12774 -0.18830 -0.15467 0.239617 0.117101
# 29 -0.355788 0.28044 -0.28006 -0.02003 0.110181 0.079568
# 30 -0.467578 0.20086 -0.29797 -0.21269 0.065512 0.003276
61 / 128

Fonction rda()

  • RDA en 2 étapes :

    • régressions multiples
    • PCA sur les valeurs régressées
  • Si on donne seulement un tableau à la fonction rda(), la fonction roule une PCA sans faire les régressions

rda(Y~X) RDA

rda(Y) ou rda(X) PCA

62 / 128

PCA - Interprétation des sorties

  • Total de variance capturée par les descripteurs (ici les espèces de poissons)
  • Dans une PCA, la proportion "Total" et "Unconstrained" de variance capturée est identique
63 / 128

PCA - Interprétation des sorties


  • Liste des valeurs propores associées à chaque Composantes Principales (ici 27 PCs sont identifiées, soit le nombre de dimensions des données)


La valeur propre est la valeur du changement dans la longueur d'un vecteur, et ici représente la quantité de variation capturée par chaque Composante Principale.


0.258 + 0.064 + ... = 0.5025 Variance totale capturée

64 / 128

PCA - Interprétation des sorties

  • Liste de la proportion de variance capturée par chaque Composante Principale (et la proportion cumulée)


51.3% de 0.5025 égal 0.258

65 / 128

PCA - Interprétation des sorties

  • Il existe deux façons principales de représenter une ordination en 2D... ici la sortie R nous informe que le cadrage utilisé par défaut est de type 2...



66 / 128

PCA - Interprétation des sorties

  • Il existe deux façons principales de représenter une ordination en 2D... ici la sortie R nous informe que le cadrage utilisé par défaut est de type 2...



À suivre!

66 / 128

PCA - Interprétation des sorties

  • Species refère aux colonnes de votre jeu de données, ici différentes espèces de poissons
  • Les scores correspondent aux coordonnées de chaque espèce le long de chaque PC
67 / 128

PCA - Interprétation des sorties

  • Site réfère aux lignes de votre jeu de données, ici différentes stations d'échantillonnage le long de la rivière,
  • Les scores correspondent aux coordonnées de chaque site le long de chaque PC
68 / 128

Accéder à une partie de la sortie R

La sortie R est très dense, mais vous pouvez accéder au besoin à des informations spécifiques. Par exemple, vous pouvez extraire les valeurs propres et leur contribution à la variance capturée :

summary(spe.h.pca, display = NULL)
#
# Call:
# rda(X = spec.hel)
#
# Partitioning of variance:
# Inertia Proportion
# Total 0.5025 1
# Unconstrained 0.5025 1
#
# Eigenvalues, and their contribution to the variance
#
# Importance of components:
# PC1 PC2 PC3 PC4 PC5 PC6 PC7
# Eigenvalue 0.2580 0.06424 0.04632 0.03850 0.02197 0.01675 0.01472
# Proportion Explained 0.5133 0.12784 0.09218 0.07662 0.04371 0.03334 0.02930
# Cumulative Proportion 0.5133 0.64118 0.73337 0.80999 0.85370 0.88704 0.91634
# PC8 PC9 PC10 PC11 PC12 PC13
# Eigenvalue 0.01156 0.006936 0.006019 0.004412 0.002982 0.002713
# Proportion Explained 0.02300 0.013803 0.011978 0.008781 0.005935 0.005399
# Cumulative Proportion 0.93934 0.953144 0.965123 0.973903 0.979838 0.985237
# PC14 PC15 PC16 PC17 PC18 PC19
# Eigenvalue 0.001835 0.001455 0.001118 0.0008309 0.0005415 0.0004755
# Proportion Explained 0.003651 0.002895 0.002225 0.0016535 0.0010776 0.0009463
# Cumulative Proportion 0.988888 0.991783 0.994008 0.9956612 0.9967389 0.9976852
# PC20 PC21 PC22 PC23 PC24
# Eigenvalue 0.0003680 0.0002765 0.0002253 0.0001429 7.618e-05
# Proportion Explained 0.0007324 0.0005503 0.0004483 0.0002845 1.516e-04
# Cumulative Proportion 0.9984176 0.9989678 0.9994161 0.9997006 9.999e-01
# PC25 PC26 PC27
# Eigenvalue 4.99e-05 1.526e-05 9.118e-06
# Proportion Explained 9.93e-05 3.036e-05 1.814e-05
# Cumulative Proportion 1.00e+00 1.000e+00 1.000e+00
#
# Scaling 2 for species and site scores
# * Species are scaled proportional to eigenvalues
# * Sites are unscaled: weighted dispersion equal on all dimensions
# * General scaling constant of scores:
69 / 128

Accéder à une partie de la sortie R

Vous pouvez calculer les valeurs propres :

eigen(cov(spec.hel))
# eigen() decomposition
# $values
# [1] 2.579605e-01 6.424089e-02 4.632294e-02 3.850244e-02 2.196526e-02
# [6] 1.675463e-02 1.472430e-02 1.155759e-02 6.936149e-03 6.019271e-03
# [11] 4.412388e-03 2.982309e-03 2.713021e-03 1.834874e-03 1.454670e-03
# [16] 1.117858e-03 8.308832e-04 5.415301e-04 4.755244e-04 3.680458e-04
# [21] 2.765106e-04 2.252760e-04 1.429425e-04 7.618319e-05 4.989831e-05
# [26] 1.525627e-05 9.117507e-06
#
# $vectors
# [,1] [,2] [,3] [,4] [,5]
# [1,] -0.12492725 -0.11979088 -0.11047444 0.4737644443 0.070581708
# [2,] -0.46740781 -0.01678206 -0.44554311 -0.2995735541 0.184188349
# [3,] -0.37336215 -0.21333150 0.28111355 0.0449572376 -0.250153773
# [4,] -0.27821421 -0.23994030 0.41323337 -0.0513364598 -0.310679865
# [5,] -0.12173642 -0.09059800 -0.16349912 0.4526216196 -0.034716207
# [6,] -0.05610722 -0.21147318 -0.05340233 0.4363710457 0.254947303
# [7,] 0.13325245 -0.07077305 -0.07670861 0.0371901204 -0.169737613
# [8,] 0.10553143 -0.25754282 -0.01860002 0.1212372044 0.001538404
# [9,] 0.08240964 -0.22633305 0.24186207 -0.0237391101 0.491305413
# [10,] 0.06977391 0.22309480 0.41314626 0.2097008258 -0.057746857
# [11,] 0.14287815 -0.30629980 -0.09179824 0.1809168920 -0.016570564
# [12,] 0.12747277 -0.23466960 -0.05630920 0.0740741884 -0.079807600
# [13,] 0.16674041 -0.14126479 0.10908251 -0.0025902725 0.371257345
# [14,] 0.10902847 -0.18489900 0.06853886 -0.2245517214 0.248461973
# [15,] 0.11327432 -0.26201530 0.09698255 -0.1753458131 0.101990914
# [16,] 0.16468619 -0.20028850 -0.10577151 -0.0233209939 -0.197234780
# [17,] 0.16423411 -0.11885539 -0.11189266 0.0321101179 -0.151000389
# [18,] 0.13851267 -0.04462111 -0.01065276 -0.1378716381 0.180663942
# [19,] 0.13475615 -0.19333722 -0.08639631 0.0003363296 -0.099762622
# [20,] 0.13814201 -0.22699492 0.19457272 -0.1526445449 -0.035222643
# [21,] 0.14538492 -0.12717573 -0.11408552 -0.0986949356 -0.182066526
# [22,] 0.10605502 -0.08418031 -0.11446859 -0.0855088113 -0.123730627
# [23,] 0.21730821 0.02578243 -0.14341490 -0.0339108533 -0.055936589
# [24,] 0.25399136 0.20327524 0.28572212 0.0346847713 -0.052716826
# [25,] 0.17523797 -0.05313205 -0.14069192 -0.0717194255 -0.232100922
# [26,] 0.30653184 0.37769472 -0.09215443 0.1906277303 0.019284009
# [27,] 0.14867527 -0.17168899 -0.10557045 -0.0327798312 -0.177501675
# [,6] [,7] [,8] [,9] [,10]
# [1,] -0.053887689 -0.24810037 -0.012835717 -0.10905228 -0.095263427
# [2,] 0.250578050 0.04342150 0.045242245 -0.01657237 -0.233552880
# [3,] -0.296193043 0.14902952 -0.284313668 -0.21706810 -0.017643581
# [4,] -0.136573518 0.19249109 0.035593297 0.23883835 0.107345114
# [5,] -0.175647314 -0.35879328 -0.125731280 -0.23247198 -0.081584893
# [6,] 0.115397447 0.02602402 -0.008985920 0.46782610 0.253931194
# [7,] -0.027287149 0.17191656 -0.056903256 0.12241555 -0.267914356
# [8,] 0.302432690 0.31491218 -0.121242398 -0.08140984 -0.001023017
# [9,] -0.039296150 0.27420594 0.382252543 -0.34522935 0.075797190
# [10,] 0.113094938 -0.15366272 0.316740555 -0.19574474 -0.422805581
# [11,] 0.100219643 0.05701771 0.110743898 0.11071563 0.013570308
# [12,] 0.206160040 0.20915112 -0.127314825 -0.20541064 -0.018588210
# [13,] -0.369222609 0.06892519 0.050259104 0.21861324 -0.286513706
# [14,] -0.187310981 -0.21267218 -0.459306683 0.10824041 0.047613459
# [15,] 0.170817866 -0.15781651 -0.341981765 -0.13144198 -0.427792205
# [16,] 0.019529799 0.02492789 -0.005265647 -0.19601787 0.034928730
# [17,] 0.003979634 0.12082789 0.073067830 0.16278240 -0.215420671
# [18,] -0.210892020 -0.16084279 -0.049480403 -0.26577752 0.348175747
# [19,] 0.087671511 0.03926802 0.065931818 -0.10755312 0.076887825
# [20,] 0.203659075 -0.36689854 0.033797632 0.19059986 -0.118195939
# [21,] -0.105506691 -0.13126545 0.154555558 -0.06167506 0.189787850
# [22,] -0.089369346 -0.18747260 0.189322337 -0.11164462 0.114566376
# [23,] -0.358094688 0.03849187 0.078583251 0.14414986 -0.155532257
# [24,] 0.366999468 -0.16992091 -0.186036644 0.09141482 0.234279411
# [25,] -0.179186418 -0.05488683 0.175277903 0.16731333 -0.082295798
# [26,] -0.125944557 0.36767940 -0.361679629 -0.10571257 -0.048657458
# [27,] 0.005531863 -0.01735104 0.033932091 -0.17997124 0.055928515
# [,11] [,12] [,13] [,14] [,15]
# [1,] 0.064193899 9.272200e-02 -0.16614224 -1.007045e-01 0.52078261
# [2,] 0.006090464 -1.767707e-01 -0.01500439 -2.138553e-01 0.01505748
# [3,] 0.198674624 1.187412e-01 0.22387562 1.401732e-01 -0.03706442
# [4,] -0.181337621 -1.793234e-01 -0.12099866 -3.195848e-01 0.11696265
# [5,] 0.109901333 -1.909575e-01 0.01986808 -1.990958e-01 -0.21073314
# [6,] -0.027035432 1.424063e-01 0.29676760 1.727283e-02 -0.33039629
# [7,] 0.329498373 -1.902815e-01 0.03643482 -3.420115e-02 -0.03199007
# [8,] 0.074565567 2.624298e-01 -0.33066385 2.194720e-01 0.18081461
# [9,] 0.162759574 -1.177892e-02 0.22408341 -3.976988e-01 0.07703691
# [10,] -0.273052803 6.843350e-02 -0.16901293 3.681540e-02 -0.14394441
# [11,] -0.301652467 -3.531787e-01 -0.04554730 2.941090e-02 0.19171054
# [12,] 0.013541172 -9.662652e-02 -0.18461360 5.282229e-02 -0.23627348
# [13,] 0.023653254 -1.620604e-01 -0.08583841 3.682820e-01 -0.12706188
# [14,] -0.342951550 1.478914e-01 -0.29079127 -2.863970e-01 0.00525299
# [15,] 0.019534596 1.804957e-01 0.33595365 1.170536e-02 -0.03963800
# [16,] -0.058319853 -2.819689e-01 -0.01082354 -4.162952e-05 -0.23904975
# [17,] 0.155396405 2.942242e-01 -0.02065819 -2.919909e-01 0.05106059
# [18,] 0.247446631 -1.217100e-01 -0.15658543 1.691032e-01 0.12555708
# [19,] -0.109497442 2.568847e-01 -0.06684604 1.299928e-02 0.05793150
# [20,] 0.054654572 -2.904371e-01 0.21585911 2.487916e-02 0.25823489
# [21,] -0.092448479 9.914451e-05 0.17856405 1.587817e-01 0.15049262
# [22,] -0.232342259 3.477822e-01 0.18661740 -1.375730e-01 -0.18295055
# [23,] 0.205833044 2.307896e-02 -0.29488518 -2.919401e-01 -0.15684106
# [24,] 0.385104579 -7.652965e-02 -0.06032102 -2.649237e-01 -0.07243513
# [25,] 0.178519580 1.478969e-01 0.18711090 2.255094e-02 0.22092863
# [26,] -0.289091422 -1.567421e-01 0.34575306 -1.653173e-01 0.25023307
# [27,] -0.115604287 -1.656960e-01 0.02369596 -1.003356e-01 -0.21515621
# [,16] [,17] [,18] [,19] [,20]
# [1,] -0.22297857 -0.029695770 0.0369983843 -0.04070760 -0.073488990
# [2,] 0.11758248 -0.094655191 -0.3039813363 0.11286530 0.299642984
# [3,] 0.16117496 -0.495586427 -0.1044359243 0.12856875 0.013599789
# [4,] -0.16061501 0.426591745 -0.0700878681 0.04243889 0.181772967
# [5,] 0.11416978 0.234783573 -0.2024171014 -0.11756635 -0.011973397
# [6,] -0.02236301 -0.025369853 0.0193321574 0.12426941 0.322316778
# [7,] 0.32588153 0.255676104 0.0836105212 -0.01276921 -0.083323060
# [8,] 0.05278065 0.094429985 -0.4016015744 0.08989816 0.048646388
# [9,] 0.06586493 -0.015362879 -0.0149894684 -0.09279079 -0.102439703
# [10,] 0.21439494 -0.076520520 -0.0438275294 0.10630753 0.384704993
# [11,] 0.40582706 -0.226264310 0.2531720192 0.35500305 -0.198035086
# [12,] -0.22343643 -0.136365379 0.2231584172 -0.31860481 0.285984792
# [13,] -0.05557784 0.044039568 -0.3686499771 -0.15179616 -0.072002029
# [14,] 0.30779187 -0.117211955 -0.0130182734 -0.21646165 0.029597144
# [15,] -0.10526778 0.346563681 0.2121059495 0.30923016 -0.017471685
# [16,] -0.03403174 0.017495879 -0.1220422599 0.06909829 -0.078513734
# [17,] 0.08609131 -0.140926709 0.1227082448 -0.15559985 0.164321594
# [18,] 0.06232076 0.125052490 0.2153262828 0.24582813 0.527750155
# [19,] -0.13539555 0.053580142 -0.1421409249 0.07438860 -0.089636202
# [20,] -0.33914754 -0.320857989 -0.1424350464 -0.08650200 0.115010361
# [21,] 0.15124184 0.128069950 -0.3301085643 0.07436707 0.129946113
# [22,] -0.01113887 -0.009198274 -0.1837530613 0.12666570 -0.081687057
# [23,] -0.31488220 -0.214773321 -0.0321193373 0.49225288 0.015647490
# [24,] 0.18249725 -0.072631142 -0.2987937434 0.07741704 -0.083649110
# [25,] 0.24864024 0.021664187 0.0298929458 -0.29184758 0.250656528
# [26,] -0.10772295 -0.033545836 -0.1814804392 0.04637292 0.214002704
# [27,] -0.11681150 -0.098699646 -0.0002682813 -0.23907156 0.002993534
# [,21] [,22] [,23] [,24] [,25]
# [1,] -0.23699102 -0.006673203 0.2150504253 0.16746060 -0.154668929
# [2,] -0.15419656 0.046253218 -0.0067084047 0.09885408 -0.078608286
# [3,] -0.05256293 0.019359564 0.0157935753 0.07403182 -0.007679928
# [4,] -0.11922265 0.034171553 -0.0921754116 -0.02641738 -0.041708919
# [5,] 0.15675411 -0.016382824 -0.2392621523 -0.21441061 0.120130707
# [6,] 0.10304062 0.029520263 0.1445333785 0.12969633 -0.041582122
# [7,] 0.11447334 -0.382187902 0.0345617270 0.52628189 0.130188947
# [8,] 0.35742023 -0.010269888 -0.2170804342 -0.18712889 0.025799589
# [9,] 0.11857691 -0.067729604 0.0696803012 -0.03292835 -0.054141786
# [10,] 0.06410052 0.010662229 0.1013814451 0.12164894 -0.020966944
# [11,] -0.16664663 0.032456581 -0.2018014752 -0.12893277 -0.040193655
# [12,] -0.30440951 -0.426137953 0.0004305712 -0.11427417 -0.222875681
# [13,] -0.38180475 0.127858213 -0.1022442675 0.01866138 0.003199344
# [14,] 0.16015665 -0.092748003 0.1521319540 0.09192202 -0.045663839
# [15,] -0.10920996 0.100235497 0.0558832865 -0.14393925 -0.102532789
# [16,] 0.15076000 0.359021371 0.3335644539 -0.03027825 -0.182409390
# [17,] -0.22199225 0.255910958 0.0211511138 -0.22348748 0.570074992
# [18,] -0.05903632 0.130256109 -0.1931041416 0.13744937 0.157243132
# [19,] -0.09080438 0.206395852 0.0414079719 0.56114128 0.012920746
# [20,] 0.28579768 -0.143344064 -0.1585208609 0.07093030 0.162651785
# [21,] -0.14384975 -0.336903092 0.5426784348 -0.22794946 0.185841056
# [22,] -0.21430560 -0.290323080 -0.4742989109 0.09398279 -0.059637704
# [23,] 0.15837319 -0.135723150 0.0876146386 -0.09325476 -0.146564489
# [24,] -0.36618777 0.089487942 0.0042739214 -0.00175145 -0.159327548
# [25,] 0.11492131 0.195702984 -0.1191717904 -0.08069023 -0.594202836
# [26,] -0.01372967 0.005518255 -0.0851270189 0.04835800 0.010916689
# [27,] 0.02170163 0.299274679 -0.0384912363 0.19527646 0.138899872
# [,26] [,27]
# [1,] 0.286444574 0.160115454
# [2,] -0.004346981 0.020253239
# [3,] -0.018510820 0.008667706
# [4,] 0.012547754 0.008152367
# [5,] -0.280152618 -0.176124136
# [6,] 0.050969707 0.059394910
# [7,] 0.173278980 0.050786372
# [8,] 0.094611255 0.166874398
# [9,] -0.034886498 -0.013455934
# [10,] 0.010993922 0.027774588
# [11,] -0.133708827 0.003576285
# [12,] -0.096209440 -0.136306223
# [13,] 0.030967117 -0.001104217
# [14,] 0.030111639 -0.022329185
# [15,] -0.067849606 0.126779482
# [16,] 0.506057486 -0.347584407
# [17,] 0.124873480 -0.177187525
# [18,] 0.102384832 -0.028288166
# [19,] -0.502490829 -0.367340373
# [20,] 0.018992525 -0.141581060
# [21,] -0.158654849 0.124060624
# [22,] 0.393638849 -0.003437816
# [23,] -0.159732210 0.104801206
# [24,] -0.033666811 0.066412841
# [25,] -0.111096800 0.012335431
# [26,] 0.010694156 -0.038642171
# [27,] -0.090405565 0.729577313
70 / 128

Accéder à une partie de la sortie R

Vous pouvez extraire les scores (des sites ou des espèces) pour réaliser des graphiques ou les utiliser dans de nouvelles analyses :

  • Extraire le score des espèces pour PC1 et PC2 :
spe.scores <- scores(spe.h.pca,
display = "species",
choices = c(1,2))
  • Extraire le score des sites pour PC1 et PC2 :
site.scores <- scores(spe.h.pca,
display = "sites",
choices = c(1,2))
71 / 128

Sélection des PCs significatives


  • La force de la PCA est de condenser la variance contenue dans un grand jeu de données en jeu de données synthétiques moins nombreuses

  • Dans notre cas, 27 PCs sont identifiées mais seules les premières contribuent de façon importante à la variance capturée tandis que les autres représentent le bruit des données et peuvent être écartées...

72 / 128

Sélection des PCs significatives


  • La force de la PCA est de condenser la variance contenue dans un grand jeu de données en jeu de données synthétiques moins nombreuses

  • Dans notre cas, 27 PCs sont identifiées mais seules les premières contribuent de façon importante à la variance capturée tandis que les autres représentent le bruit des données et peuvent être écartées...

Comment choisir les PCs les plus importantes?

72 / 128

Critère de Kaiser - Guttman

Sélectionner les PCs qui capturent plus de variance que la moyenne de tous les PCs

  • Extraire les valeurs propres de chaque PCs :
ev <- spe.h.pca$CA$eig
  • Sélectionner les valeurs propres supérieures à la moyenne :
ev[ev>mean(ev)]
# PC1 PC2 PC3 PC4 PC5
# 0.25796049 0.06424089 0.04632294 0.03850244 0.02196526
73 / 128

Critère de Kaiser - Guttman (illustration)

n <- length(ev)
barplot(ev, main = "Valeurs propres", col = "grey", las = 2)
abline(h = mean(ev), col = "red3", lwd = 2)
legend("topright", "Valeur propore moyenne",
lwd = 2, col = "red3" , bty = "n")

74 / 128

PCA - variables environnementales

Une PCA peut aussi être effectuée sur les variables environnementales standardisées pour comparer les sites ou évaluer les corrélations entre variables...

  • Effectuer une PCA sur les variables environnementales standardisées
env.pca <- rda(env.z)
summary(env.pca, scaling = 2) # default
#
# Call:
# rda(X = env.z)
#
# Partitioning of variance:
# Inertia Proportion
# Total 11 1
# Unconstrained 11 1
#
# Eigenvalues, and their contribution to the variance
#
# Importance of components:
# PC1 PC2 PC3 PC4 PC5 PC6 PC7
# Eigenvalue 6.0980 2.1671 1.03760 0.70351 0.35185 0.31913 0.16455
# Proportion Explained 0.5544 0.1970 0.09433 0.06396 0.03199 0.02901 0.01496
# Cumulative Proportion 0.5544 0.7514 0.84570 0.90966 0.94164 0.97066 0.98561
# PC8 PC9 PC10 PC11
# Eigenvalue 0.11171 0.023109 0.017361 0.0060618
# Proportion Explained 0.01016 0.002101 0.001578 0.0005511
# Cumulative Proportion 0.99577 0.997871 0.999449 1.0000000
#
# Scaling 2 for species and site scores
# * Species are scaled proportional to eigenvalues
# * Sites are unscaled: weighted dispersion equal on all dimensions
# * General scaling constant of scores: 4.189264
#
#
# Species scores
#
# PC1 PC2 PC3 PC4 PC5 PC6
# das 1.08432 0.5148 -0.257430 -0.16170 0.21140 -0.09500
# alt -1.04356 -0.5946 0.179904 0.12274 0.12527 0.14024
# pen -0.57520 -0.5104 -0.554958 -0.80205 0.02798 0.20064
# deb 0.95767 0.6412 -0.306547 -0.19434 0.18417 0.03031
# pH -0.05863 0.4820 1.034452 -0.51376 0.14431 0.05791
# dur 0.90722 0.6182 -0.022833 0.15761 -0.27763 0.50792
# pho 1.04604 -0.6092 0.187347 -0.11866 -0.15094 0.04919
# nit 1.14317 -0.1290 0.012045 -0.18470 -0.21343 -0.34870
# amm 0.99541 -0.6989 0.186019 -0.08271 -0.19250 -0.04935
# oxy -1.00895 0.4578 -0.009183 -0.23449 -0.50559 -0.05661
# dbo 0.98991 -0.6835 0.119635 0.03647 0.08580 0.21975
#
#
# Site scores (weighted sums of species scores)
#
# PC1 PC2 PC3 PC4 PC5 PC6
# 1 -1.41239 -1.47577 -1.74581 -2.95537 0.23122 0.49150
# 2 -1.04170 -0.81766 0.34078 0.54374 0.92518 -1.77040
# 3 -0.94878 -0.48825 1.36061 -0.21762 1.05157 -0.69842
# 4 -0.88068 -0.29459 0.21011 0.66428 -0.23902 -0.06353
# 5 -0.42586 -0.66501 0.77630 0.78778 0.63144 1.17725
# 6 -0.77727 -0.74517 -0.06763 0.90844 0.46895 -0.32998
# 7 -0.78154 -0.09447 0.39332 0.23074 -0.45171 1.17422
# 9 -0.28731 -0.47351 0.29470 1.13214 0.69989 1.05202
# 10 -0.49324 -0.44889 -1.31855 0.78932 -0.38490 0.41677
# 11 -0.28012 0.43092 0.12222 -0.11792 -1.07089 0.46021
# 12 -0.44851 0.33198 -0.53100 0.60347 -0.96624 0.11902
# 13 -0.38853 0.68557 0.10459 0.08106 -1.10784 0.84740
# 14 -0.25000 0.74161 0.88640 -0.46709 -0.96780 0.74880
# 15 -0.31334 0.93929 1.93010 -1.27074 0.06309 0.14747
# 16 -0.14333 0.31109 -0.21270 0.24369 -0.61836 -0.52781
# 17 0.08992 0.29897 -0.18640 0.23392 -0.73322 -0.44217
# 18 0.05684 0.34974 -0.22088 0.14163 -0.76214 -0.60351
# 19 0.04508 0.40785 0.12274 -0.20084 -0.49815 -0.87652
# 20 0.16121 0.36121 -0.28792 -0.05336 -0.79530 -1.36030
# 21 0.16001 0.32539 -0.74769 0.41012 0.17144 -0.90680
# 22 0.14172 0.53543 -0.08102 -0.07015 0.58783 -0.24777
# 23 1.37609 -1.19053 0.74781 -0.35057 -0.22819 0.75871
# 24 0.98255 -0.51442 0.01132 0.40988 1.01286 0.84623
# 25 2.18629 -2.04865 0.35038 -0.29562 -1.26072 -0.38758
# 26 0.88331 -0.11824 -0.64837 0.33902 0.86015 -0.14587
# 27 0.63976 0.39427 -0.15988 -0.30084 1.09735 -0.66720
# 28 0.75826 0.80550 0.51025 -0.96862 0.41900 -0.74380
# 29 0.65317 1.09395 -1.68223 0.37783 0.43878 0.65258
# 30 0.73840 1.36241 -0.27154 -0.62832 1.42571 0.87947
75 / 128

PCA - variables environnementales

  • Extraire les valeurs propres de chaque PC :
ev <- env.pca$CA$eig
  • Sélectionner les valeurs propres supérieures à la moyenne :
ev[ev>mean(ev)]
# PC1 PC2 PC3
# 6.097995 2.167126 1.037603
76 / 128

PCA - variables environnementales

  • Créer le graphique :
n <- length(ev)
barplot(ev, main = "Eigenvalues", col = "grey", las = 2)
abline(h = mean(ev), col = "red3", lwd = 2)
legend("topright", "Average eigenvalue",
lwd = 2, col = "red3" , bty = "n")

77 / 128

PCA - Illustration graphique

L'abondante information produite par une PCA est plus facile à comprendre et à interpréter à l'aide de biplots permettant de visualiser les patrons présents dans les données.

  • Un biplot peut être rapidement créé via la fonction plot()
plot(spe.h.pca)

78 / 128

Biplot de PCA avec plot()

plot() est rapide mais il est difficile d'interpréter les angles entre espèces

79 / 128

Basique biplot() de PCA

  • Avec la fonction biplot() de base R, des flèches sont tracées pour montrer les directions et les angles entre descripteurs dans l'ordination
  • Descripteurs distants de 180 degrés : corrélation négative
  • Descripteurs distants de 90 degrés : pas de corrélation
  • Descripteurs distants de 0 degré : corrélation positive
biplot(spe.h.pca)

80 / 128

Type de scaling

Cadrage 2 (DEFAULT): les distances entre objets ne sont pas des approximations de leurs distances euclidiennes, mais les angles entre descripteurs reflètnent leurs corrélations.

Meilleur cadrage pour interpréter les relations entre descripteurs (espèces) !

Cadrage 1 : préserve au maximum la distance euclidienne (dans l'espace d'ordination) entre objets (ex. sites); les angles entre descripteurs (ex. espèces) ne sont pas informatifs.

Meilleur cadrage pour interpréter les relations entre objects (sites)!

81 / 128

"Biplot" avancés

  • En extrayant certaines parties de la sortie R, il est possible de créer des biplots plus détaillés et clairs :
plot(spe.h.pca, scaling = 1, type = "none",
xlab = c("PC1 (%)", round(spe.h.pca$CA$eig[1]/sum(spe.h.pca$CAeig)*100,2)),
ylab = c("PC2 (%)", round(spe.h.pca$CA$eig[2]/sum(spe.h.pca$CA$eig)*100,2)))
points(scores(spe.h.pca, display = "sites", choices = c(1,2), scaling = 1),
pch=21, col = "black", bg = "steelblue" , cex = 1.2)
text(scores(spe.h.pca, display = "species", choices = 1, scaling = 1),
scores(spe.h.pca, display = "species", choices = 2, scaling = 1),
labels = rownames(scores(spe.h.pca, display = "species", scaling = 1)),
col = "red", cex = 0.8)
spe.cs <- scores(spe.h.pca, choices = 1:2, scaling = 1 , display = "sp")
arrows(0, 0, spe.cs[,1], spe.cs[,2], length = 0)

voir la fonction arrows() de graphics pour ajouter des vecteurs

82 / 128

"Biplot" avancés

83 / 128

Autres options graphiques : ggvegan

  • Un ensemble d'outils pour créer des biplots avec ggplot2 :
install.packages("devtools")
require("devtools")
install_github("ggvegan", "gavinsimpson")
require("ggvegan")
autoplot()
84 / 128

Autres options graphiques : rgl et vegan3d

Biplot interactif avec rgl

require(rgl)
require(vegan3d)
ordirgl(spe.h.pca)

85 / 128

Défi # 3

Exécuter une PCA sur les données d'abondance d'acariens :

data(mite)
  • Quels sont les axes significatifs?
  • Quels groupes de sites pouvez-vous identifier?
  • Quelles espèces caractérisent ces groupes de sites?
86 / 128

Solution #3

  • Transformation Hellinger des données :
mite.spe.hel <- decostand(mite, method = "hellinger")
mite.spe.h.pca <- rda(mite.spe.hel)
  • Recherche des axes significatifs par critère de Gutman-Kaiser :
ev <- mite.spe.h.pca$CA$eig
ev[ev > mean(ev)]
n <- length(ev)
barplot(ev, main = "Valeurs propres", col = "grey", las = 2)
abline(h = mean(ev), col = "red3", lwd = 2)
legend("topright", "Valeur propre moyenne", lwd = 2, col = "red3", bty = "n")
87 / 128

Solution #3

88 / 128

Solution #3

biplot(mite.spe.h.pca, col = c("red3", "grey15"))

89 / 128

Attention

  • La PCA est une méthode linéaire basée sur quelques hypothèse clefs :
90 / 128

Attention

  • La PCA est une méthode linéaire basée sur quelques hypothèse clefs :

    • distribution multinormale des données (seulement pour faire des inférences)
90 / 128

Attention

  • La PCA est une méthode linéaire basée sur quelques hypothèse clefs :

    • distribution multinormale des données (seulement pour faire des inférences)

    • nombre limité de zéros

90 / 128

Attention

  • La PCA est une méthode linéaire basée sur quelques hypothèse clefs :

    • distribution multinormale des données (seulement pour faire des inférences)

    • nombre limité de zéros

    • le gradient d'intérêt doit causer la majorité de la variance dans le jeu de données

Le non-respect de ces hypothèse peut causer une forme de fer à cheval sur les biplots (horseshoe effect), sur lesquels les extrémités du fer à cheval sont proches mais représentent en réalité des conditions opposées du gradient

90 / 128

Attention

  • Certains de ces problèmes peuvent être réglés en utilisant des transformations appropriées des données avant d'effectuer une PCA

  • Dans certains cas, tels que les études couvrant de longs gradients environnementaux, il est préférable d'utiliser d'autres méthodes d'ordination non-contraintes (ex. CA)

91 / 128

4.1. Analyse des Correspondances (CA)

Distances euclidiennes vs distances de Chi2

  • La PCA préserves les distances euclidiennes entre objets et postule une relation linéaire entre descripteurs

  • ...mais dans certains cas (ex. gradients longs), les espèces présentent une réponse unimodale aux gradients environnementaux

92 / 128

Principes de la CA

  • Dans de tels cas, la CA devrait être préférée à la PCA car elle préserve les distances de Chi2 entre objets... et représente donc mieux les réponses unimodales
93 / 128

Comment effectuer une CA?

  • La CA est implémentée dans la librairie vegan par la fonction cca():
spe.ca <- cca(spe[-8,])
# prend seulement les colonnes dont rowsums est > à 0.
  • CA effectuée sur les abondances de poissons
94 / 128

CA: sortie de R

  • Les résultats d'une CA sont présentés de la même manière qu'une PCA et peuvent être appelés par :
summary(spe.ca)
#
# Call:
# cca(X = spe[-8, ])
#
# Partitioning of scaled Chi-square:
# Inertia Proportion
# Total 1.128 1
# Unconstrained 1.128 1
#
# Eigenvalues, and their contribution to the scaled Chi-square
#
# Importance of components:
# CA1 CA2 CA3 CA4 CA5 CA6 CA7
# Eigenvalue 0.6062 0.1423 0.10251 0.07319 0.04912 0.03909 0.03341
# Proportion Explained 0.5374 0.1262 0.09087 0.06488 0.04354 0.03465 0.02962
# Cumulative Proportion 0.5374 0.6635 0.75437 0.81925 0.86279 0.89745 0.92706
# CA8 CA9 CA10 CA11 CA12 CA13
# Eigenvalue 0.01709 0.01302 0.010765 0.008141 0.007533 0.005820
# Proportion Explained 0.01515 0.01154 0.009543 0.007217 0.006678 0.005159
# Cumulative Proportion 0.94221 0.95375 0.963294 0.970511 0.977188 0.982347
# CA14 CA15 CA16 CA17 CA18 CA19
# Eigenvalue 0.004765 0.004444 0.003262 0.002268 0.001663 0.001376
# Proportion Explained 0.004224 0.003939 0.002892 0.002011 0.001474 0.001219
# Cumulative Proportion 0.986571 0.990510 0.993402 0.995413 0.996887 0.998106
# CA20 CA21 CA22 CA23 CA24
# Eigenvalue 0.0010054 0.0004515 0.0002976 0.0001528 0.0001455
# Proportion Explained 0.0008913 0.0004003 0.0002638 0.0001355 0.0001290
# Cumulative Proportion 0.9989973 0.9993976 0.9996614 0.9997969 0.9999258
# CA25 CA26
# Eigenvalue 5.671e-05 2.694e-05
# Proportion Explained 5.027e-05 2.388e-05
# Cumulative Proportion 1.000e+00 1.000e+00
#
# Scaling 2 for species and site scores
# * Species are scaled proportional to eigenvalues
# * Sites are unscaled: weighted dispersion equal on all dimensions
#
#
# Species scores
#
# CA1 CA2 CA3 CA4 CA5 CA6
# CHA 1.49168 1.385259 -0.433809 0.071078 -0.24616 0.05168
# TRU 1.65415 -0.516649 -0.440526 -0.159605 0.21034 -0.49677
# VAI 1.29689 -0.287854 0.081677 0.039670 -0.04216 0.33505
# LOC 1.01655 -0.318047 0.345002 0.064349 0.07146 0.25276
# OMB 1.54572 1.331279 -1.009750 0.022603 -0.36894 0.38992
# BLA 0.99242 1.488077 0.395856 -0.002786 0.03087 -0.42919
# HOT -0.54197 0.037905 -0.007131 0.189457 0.34781 0.12443
# TOX -0.17940 0.440408 0.666475 -0.157195 0.59702 -0.09090
# VAN 0.01649 0.115139 0.632750 0.027180 -0.28562 -0.25295
# CHE -0.01016 -0.003287 0.087052 0.360355 -0.09299 0.04720
# BAR -0.32772 0.280531 0.087903 -0.134099 0.20162 0.02136
# SPI -0.37673 0.235208 0.296247 -0.251569 0.46512 0.10939
# GOU -0.31588 0.025703 0.089443 0.122259 -0.11758 -0.02693
# BRO -0.25636 -0.209762 0.076551 -0.128801 -0.37914 -0.08203
# PER -0.28362 -0.136097 0.304122 -0.263493 -0.25323 -0.04680
# BOU -0.59482 0.018329 -0.133101 -0.259428 0.15559 0.13556
# PSO -0.57898 0.049761 -0.180659 -0.080819 0.16908 0.02711
# ROT -0.61086 -0.155369 -0.062639 -0.139514 -0.40987 -0.16073
# CAR -0.57134 0.067623 -0.114447 -0.368663 0.11556 0.03287
# TAN -0.38717 -0.126068 0.088482 -0.142953 -0.22493 -0.01394
# BCO -0.69346 -0.064062 -0.326351 -0.337945 -0.02336 0.07199
# PCH -0.72297 -0.058647 -0.458970 -0.536212 -0.09385 0.05842
# GRE -0.68487 -0.073615 -0.386296 0.125350 0.02339 0.01566
# GAR -0.48338 -0.092189 0.075212 0.244705 -0.12215 -0.09479
# BBO -0.70069 -0.077202 -0.373887 -0.141038 0.02316 0.06521
# ABL -0.62469 -0.051667 -0.268265 0.765808 0.17809 -0.07415
# ANG -0.62735 -0.004040 -0.227844 -0.315380 0.09477 0.11331
#
#
# Site scores (weighted averages of species scores)
#
# CA1 CA2 CA3 CA4 CA5 CA6
# 1 2.72880 -3.63047 -4.297575 -2.180558 4.28251 -12.70718
# 2 2.26939 -2.74567 -0.683635 -0.508114 1.86199 -0.82146
# 3 2.01894 -2.55716 0.004459 -0.347298 1.04225 0.59661
# 4 1.28757 -1.97139 0.649261 -0.366438 -0.69066 0.85344
# 5 0.08260 -0.91883 1.609565 -0.009607 -3.62098 -1.54952
# 6 1.03028 -1.62206 1.049551 0.285131 -0.94420 0.82432
# 7 1.91231 -2.28949 0.346864 0.059722 1.09657 -0.13682
# 10 1.24958 -1.35061 1.947791 1.125968 -0.79586 2.58731
# 11 2.12864 -0.19558 -1.779393 0.246236 -0.32251 1.37538
# 12 2.16190 0.16511 -1.786342 0.125825 -0.17453 1.13375
# 13 2.29162 1.87949 -2.161318 -0.191687 -0.59319 0.15032
# 14 1.85861 2.19432 -1.472445 0.084282 -1.00562 0.53827
# 15 1.33811 1.87052 0.341352 0.449315 -0.93504 -0.62573
# 16 0.70115 1.57032 2.113072 -0.238157 0.62925 -1.83993
# 17 0.29051 0.86531 1.368926 -0.167800 1.64807 0.17059
# 18 0.05651 0.68479 0.965786 -0.005014 1.08092 0.60339
# 19 -0.19970 0.05475 1.064683 0.458458 0.92614 0.60861
# 20 -0.57263 -0.02434 0.359285 0.408580 0.48971 0.14790
# 21 -0.66495 -0.07911 -0.028650 -0.080409 0.05745 0.03087
# 22 -0.71075 -0.04983 -0.163794 -0.180754 -0.05923 -0.05610
# 23 -0.71881 -0.34926 -0.912791 7.297949 0.71786 -1.25267
# 24 -0.83779 -0.26250 -1.470892 4.899937 1.26149 -0.41743
# 25 -0.68011 -0.33390 -0.180281 3.764841 -1.79032 -1.86951
# 26 -0.75038 -0.23767 -0.702769 0.601903 -0.13132 0.06362
# 27 -0.74233 -0.14481 -0.559979 -0.081360 -0.19911 0.05064
# 28 -0.76945 -0.14800 -0.716897 -0.406389 -0.11339 0.18430
# 29 -0.59922 0.12766 -0.437857 -0.646721 0.08057 0.07932
# 30 -0.79734 -0.08325 -0.436074 -1.168606 -0.21617 0.01955
95 / 128

CA: Interprétation des résultats

26 axes CA identifiés

% CA1 = 51.50%

% CA2 = 12.37%

96 / 128

CA: biplots

Ces biplots montrent qu'un groupe de sites (à gauche) possède des communautés similaires de poissons caractérisées par de nombreuses espèces dont GAR, TAN, PER, ROT, PSO et CAR

Dans le coin supérieur droit, un second groupe de sites se caractérise par les espèces LOC, VAI et TRU

Le dernier groupe de sites dans le coin inférieur droit montre des communautés abondantes en BLA, CHA et OMB

97 / 128

Défi #4

Exécuter une CA sur les données d'abondance des espèces d'acariens

mite.spe <- mite
  • Quels sont les axes importants?
  • Quels groupes de sites se distinguent?
  • Quelles espèces caractérisent chaque groupe de site?
98 / 128

Solution #4

  • Calcule de la CA:
mite.spe.ca <- cca(mite.spe)
  • Recherche des axes significatifs par critère de Guttman-Kaiser :
ev <- mite.spe.ca$CA$eig
ev[ev > mean(ev)]
n <- length(ev)
barplot(ev, main = "Valeurs propres", col = "grey", las = 2)
abline(h = mean(ev), col = "red3", lwd = 2)
legend("topright", "Valeur propre moyenne", lwd = 2, col = red3, bty = "n")
99 / 128

Solution #4

100 / 128

4.3. Analyse en Coordonnées Principales

  • En PCA, le maximum de la variation des données est préservée

  • En PCoA, la distance entre objets est préservée autant que possible dans un espace multidimensionnel

La PCoA est particulièrement consille pour des jeux de données plus larges que longs (problème typique en génétique)

101 / 128

PCoA - Essayons avec les données Poissons!

  • Les fonctions cmdscale() et pcoa(), des librairies stats et ape permettent d'effectuer une PCoA:
?cmdscale
library(ape)
?pcoa
  • Effectuer une PCoA sur les abondances de poissons transformées Hellinger
spe.h.pcoa <- pcoa(dist(spec.hel))
summary(spe.h.pcoa)
# Length Class Mode
# correction 2 -none- character
# note 1 -none- character
# values 5 data.frame list
# vectors 783 -none- numeric
# trace 1 -none- numeric
102 / 128

PCoA - Interprétation des sorties R

  • Valeurs propres
  • Valeurs propres relatives
  • Modèle broken stick: évalue les axes significatifs
  • Valeurs propres cumulées: cumul des valeurs propres relatives
  • Broken stick cumulés: cumul des valeurs du modèle broken stick
103 / 128

PCoA - Interprétation des sorties R

-Vecteurs : Vecteurs propres associés à chaque valeur propre contenant les coordonnées de chaque site dans l'espace euclidien.

Ce sont les résultats les plus utiles pour des analyses subséquentes puisqu'ils capturent fidèlement la distance entre objets.

104 / 128

Biplot de PCoA avec biplot.pcoa()

La fonction biplot.pcoa() permet de visualiser en 2D les distances entre sites, et les espèces associées à chaque site

biplot.pcoa(spe.h.pcoa, spec.hel)

105 / 128

PCoA et distances non-métriques

  • La PCoA peut aussi être utilisée pour capturer de l'information à partir de distance non-métriques, telles que la distance de Bray-Curtis. Essayons :
spe.bray.pcoa <- pcoa(spe.db.pa)
# spe.bray.pcoa
  • Observer la sortie R et noter la présence de valeurs propres négatives. Elles sont liées à l'impossibilité de représenter des distances non-métriques dans un espace euclidien sans corrections (voir Legendre & Legendre 2012) :
spe.bray.pcoa <- pcoa(spe.db.pa, correction = "cailliez")
# spe.bray.pcoa
106 / 128

PCoA et distances non-métriques

  • Construisons maintenant le biplot (sans espèces)
biplot.pcoa(spe.bray.pcoa)

107 / 128

Défi #5

Exécuter une PCoA sur les données d'abondances des espèces d'acariens transformées Hellinger.

  • Quels sont les axes importants?
  • Quels groupes de sites pouvez-vous identifier?
  • Quelles espèces sont liées à chaque groupe de sites?
  • Comment les résultats de cette PCoA se comparent-ils avec ceux de la PCA?
108 / 128

Solution #5

  • Transformation Hellinger pour les données espèces
mite.spe.hel <- decostand(mite.spe, method = "hellinger")
  • Calcul de la PCoA
mite.spe.h.pcoa <- pcoa(dist(mite.spe.hel))
109 / 128

Solution #5

  • Biplot pour visualiser les données:
biplot.pcoa(mite.spe.h.pcoa, mite.spe.hel)

110 / 128

Positionnement multidimensionnel non-métrique (NMDS)

  • En PCA, CA et PCoA, les objets sont ordonnés dans un petit nombre de dimensions (i.e. axes) généralement > 2

  • En conséquence, les biplots 2D ne représentent pas toute la variation présente dans les données.

  • Parfois, l'objectif est cependant de représenter les données dans un nombre défini de dimensions.

  • Comment effectuer une ordination pour illustrer l'ensemble de la variation des données ?

111 / 128

Principe du NMDS

  • NMDS

    • équivalent non-métrique de la PCoA
    • basé sur un algorithme itératif d'optimisation pour identifier la meilleure représentation possible des données dans l'espace d'ordination de plus en plus populaire
  • Dans un nMDS, l'utilisateur peut ainsi spécifier:

    • le nombre de dimensions
    • la mesure de distance
112 / 128

Effectuer un NMDS

  • La fonction metaMDS() de la librairie vegan permet de réaliser un NMDS
    • distance spécifie la mesure de distance choisie
    • k spécifie le nombre de dimensions
spe.nmds <- metaMDS(spe, distance = 'bray', k = 2)
# Run 0 stress 0.07478058
# Run 1 stress 0.1124391
# Run 2 stress 0.1127638
# Run 3 stress 0.120581
# Run 4 stress 0.07477835
# ... New best solution
# ... Procrustes: rmse 0.001073915 max resid 0.005160002
# ... Similar to previous best
# Run 5 stress 0.07429471
# ... New best solution
# ... Procrustes: rmse 0.02379294 max resid 0.09228435
# Run 6 stress 0.1209567
# Run 7 stress 0.1124437
# Run 8 stress 0.08927212
# Run 9 stress 0.1121906
# Run 10 stress 0.1127533
# Run 11 stress 0.1111093
# Run 12 stress 0.07506894
# Run 13 stress 0.1152172
# Run 14 stress 0.1203424
# Run 15 stress 0.1196795
# Run 16 stress 0.1125703
# Run 17 stress 0.08797467
# Run 18 stress 0.08801669
# Run 19 stress 0.08801693
# Run 20 stress 0.07478026
# ... Procrustes: rmse 0.02374756 max resid 0.09294404
# *** No convergence -- monoMDS stopping criteria:
# 20: stress ratio > sratmax
113 / 128

NMDS : qualité de l'ajustement

  • Le NMDS applique une procédure itérative qui vise à positionner les objets dans le nombre spécifié de dimensions de façon à minimiser une fonction de stress (variant de 0 à 1) qui mesure la qualité de l'ajustement de la distance entre objets dans l'espace d'ordination.

  • Ainsi, plus la valeur du stress sera faible, plus la représentation des objets dans l'espace d'ordination sera exacte.

114 / 128

NMDS : qualité de l'ajustement

  • La valeur de stress et le diagramme de Shepard peuvent être obtenus avec :
spe.nmds$stress
# [1] 0.07429471
stressplot(spe.nmds, main = "Shepard plot")

115 / 128

NMDS sur les données Poissons

  • Effectuer le NMDS et vérifier la qualité de l'ajustement
spe.nmds <- metaMDS(spe, distance = 'bray', k = 2)
spe.nmds$stress
stressplot(spe.nmds, main = "Shepard plot")
116 / 128

NMDS sur les données Poissons

  • Le diagramme de Shepard identifie une forte corrélation entre les distances observées et les distances de l'ordination (R2 > 0.95), et donc une bonne qualité de l'ajustement du NMDS.
117 / 128

NMDS sur les données Poissons

  • Construction du biplot
plot(spe.nmds, type = "none",
main = paste("NMDS/Bray - Stress =",
round(spe.nmds$stress, 3)),
xlab = c("NMDS1"), ylab = "NMDS2")
points(scores(spe.nmds, display = "sites",
choiches = c(1,2),
pch = 21,
col = "black",
g = "steelblue",
cex = 1.2))
text(scores(spe.nmds, display = "species", choices = c(1)),
scores(spe.nmds, display = "species", choices = c(2)),
labels = rownames(scores(spe.nmds, display = "species")),
col = "red", cex = 0.8)
118 / 128

NMDS sur les données Poissons

Le biplot du nMDS identifie un groupe de sites caractérisées par les espèces BLA, TRU, VAI, LOC, CHA et OMB, tandis que les autres espèces caractérisent un groupe de sites situés dans le coin supérieur droit du biplot.

119 / 128

Défi #6


  • Exécuter un NMDS sur les données d'abondance des espèces d'acariens en deux dimensions à partir de distances de Bray-Curtis.

  • Évaluer la qualité de l'ajustement et interpréter le biplot

120 / 128

Solution #6

La corrélation entre distance observée et distance d'ordination (R2 > 0.91) et la valeur de stress relativement faible identifient une bonne qualité de l'ajustement du NMDS.

121 / 128

Solution #6

Aucun groupe de sites ne peut être précisément identifié à partir du biplot, ce qui montre que la plupart des espèces sont présentes dans la plupart des sites.

122 / 128

Conclusion

Beaucoup de méthodes d'ordination existent mais leurs spécificités doivent guider le choix de la méthode à utiliser :

Distance preservée Variables Nombre maximum d'axes
PCA Euclidienne Données quantitatives, relation linéaires p
CA Chi2 Non-négatives, données quantitatives dimensionnellement homogènes, ou données binaires p-1
PCoA Définie par l'utilisateur Quantitatives, semi-quantitatives ou mixtes p-1
NMDS Définie par l'utilisateur Quantitatives, semi-quantitatives ou mixtes Définie par l'utilisateur
123 / 128

C'est l'heure du quiz !

Que signifie PCA?

124 / 128

C'est l'heure du quiz !

Que signifie PCA?

Principal Component Analysis

124 / 128

C'est l'heure du quiz !

Que signifie PCA?

Principal Component Analysis

Laquelle de ces méthodes est la meilleure pour visualiser les distances entre composition des communautés de différents sites?

124 / 128

C'est l'heure du quiz !

Que signifie PCA?

Principal Component Analysis

Laquelle de ces méthodes est la meilleure pour visualiser les distances entre composition des communautés de différents sites?

Principal Coordinate Analysis (PCoA)

124 / 128

C'est l'heure du quiz !

Que signifie PCA?

Principal Component Analysis

Laquelle de ces méthodes est la meilleure pour visualiser les distances entre composition des communautés de différents sites?

Principal Coordinate Analysis (PCoA)

Que représente une valeur propre dans une PCA ?

124 / 128

C'est l'heure du quiz !

Que signifie PCA?

Principal Component Analysis

Laquelle de ces méthodes est la meilleure pour visualiser les distances entre composition des communautés de différents sites?

Principal Coordinate Analysis (PCoA)

Que représente une valeur propre dans une PCA ?

La proportion de variance capturée par une composante principale

124 / 128

C'est l'heure du quiz !

Trouvez l'erreur!

125 / 128

C'est l'heure du quiz !

Trouvez l'erreur!

  • Données non centrées, Beurk!
125 / 128

C'est l'heure du quiz !

Trouvez l'erreur!

126 / 128

C'est l'heure du quiz !

Trouvez l'erreur!

  • Les 2 premiers axes capturent 100% de la variation
126 / 128

Live Long and Ordinate

127 / 128

Merci pour votre participation à cet atelier!

128 / 128

À propos de cet atelier

badge badge badge badge badge

2 / 128
Paused

Help

Keyboard shortcuts

, , Pg Up, k Go to previous slide
, , Pg Dn, Space, j Go to next slide
Home Go to first slide
End Go to last slide
Number + Return Go to specific slide
b / m / f Toggle blackout / mirrored / fullscreen mode
c Clone slideshow
p Toggle presenter mode
t Restart the presentation timer
?, h Toggle this help
Esc Back to slideshow