reponse_a_F.Spinazzi

From: Daniel Chessel (chessel@biomserv.univ-lyon1.fr)
Date: Wed Oct 08 1997 - 09:50:33 MET DST


La discussion ouverte par F. Spinazzi est très intéressante
Ell est propre à l'écologie et elle est au centre des idées d'ADE-4
Je répond en français. Merci de faire suivre si nécessaire.

>1
>I would like to make some observations on a species-centered PCA on a
>site-species count table.
>It could be possible that the first component is very often something like
>a size component ?
>I found a correlation beetwen the first component and 1/(Simpson's D)
>and/or Shannon's H up to 0.7.

C'est la première et la plus importante des propriétés de l'ACP appliquée à un tableau faunistique. Soit xij l'abondance du taxon j dans le relevé i et mj l'abondance moyenne du taxon dans l'ensemble des relevés. L'ACP centrée par taxon étudie la quantité xij-mj. Il se peut que des relevés soient riches et d'autres pauvres. A ce moment là le premier facteur est un effet taille. De deux choses l'une :
*** Le relevé est standardisé expérimentalement (1 m2 de sol, 15 minutes d'écoute, 100 litres d'eau, ...) et il peut s'agir de l'information principale du tableau. Cas des facteurs limitant (salinité, sécheresse) et des études sur la pollution. Dans ces cas expérimentaux il faut utiliser l'ACP et utiliser l'axe 1 comme meilleur indice de richesse.
*** Le relevé ne peut être standardisé (mélange de plusieurs méthodes, conditions météorologiques favorables ou défavorables, méthodes de prélèvement difficiles à mettre en ¦uvre). Il y a des gros relevés et des petits mais ceci est une information parasite et il ne faut pas utiliser l'ACP centrée par taxons dans ces conditions. Il faut d'abord éliminer le parasite par un double centrage (xij-mj-mi+m, ACP doublement centrée, xij-aibj double centrage multiplicatif, n*xij/xi.x.j-1 double centrage implicite de l'AFC).
Le raisonnement le plus simple est de dire données = évidence + structure + erreur. Quelles sont les évidences ? (exemple : il y a des gros relevés et des petits, il y a des espèces rares et des espèces communes). On cherche les structures par l'analyse du tableau données - évidences. Les articles de Austin, Noy-mer et Orloci (Orloci, L. (1966) Geometric models in ecology. I. The theory and applications of some ordination methods. Journal of Ecology : 54, 193-215.
Austin, M.P. & Orloci, L. (1966) Geometric models in ecology II An evaluation of some ordination techniques. Journal of Ecology : 54, 217-227, voir la doc de PCA : Non centred PCA) des années 60-70 sont très importants sur ces questions. Il est étonnant qu'ils soient si peu connus aujourd'hui.

>2
>On frequencies tables, if they are espressed as %, every row will sum up
>to 100, for example.
>In such cases we have compositional data.
>It does not seem appropriate to use PCA on such a table because of the
>spurious correlation that could occur beetwen variables.
>We can use some trasformation, instead (centered logratio or so on).
>Do you agree ?

Pas tout-à-fait. Le centrage sur les log (Aitchinson, J. (1983) Principal component analysis of compositional data. Biometrika : 70, 57-65) est un problème qui vient de la géologie (en particulier la granulométrie et le célèbre triangle argile-limon-sable et la composition des roches). La quantité de matière étudiée n'est pas du tout contrôlée et on passe en pourcentage. La covariance artéfactuelle due a S(pi)=1 est importante car il y a peu de catégories et cela génère des nuages de points courbes dans l'espace. Sur un tableau faunistique de dimensions importantes ce fait est tout-à-fait mineur et ne pose pas de problèmes. Par contre, le choix du passage en pourcentage est tout-à-fait décisif. La question est :
*** un relevé est-il une distribution de fréquence entre espèce ?
*** une espèce est-elle une distribution de fréquences entre relevés ?
*** peut-on avoir les deux points de vue ensemble ?
La seule méthode qui convient au troisième critère est l'AFC (Thioulouse, J. & Chessel, D. (1992) A method for reciprocal scaling of species tolerance and sample diversity. Ecology : 73, 670-680). En ce sens, l'AFC est très particulière et devrait n'être utilisée que dans ce point de vue, car le prix à payer (arch effect) est très élevé. On le voit bien au fait que une ACP en % par relevés, une ACP en % par taxon et une AFC donnent des résultats très différents. Très important est aussi le point de référence (origine) dans l'espace. Dans la théorie de la niche, c'est le modèle 2 (une espèce est une distribution de fréquences entre relevés, elle a une moyennne = optimum et une variance = amplitude) qui est en cause. Le point de référence est soit le profil de toutes les espèces confondues, soit le profil de l'espèce ubiquiste uniformément répartie dans l'espace. Cela génère des ACP centrée ou décentrée en général très différentes. Avec la question des pondérations on a encore plus de possibilités (voir la doc de Niche : Species Profiles PCA et la fiche thématique 4.7 Niches écologiques et couplage de tableaux et la doc de l'analyse non symétrique des correspondances COA : NSCA_Row_Profiles et COA : NSCA_Col_Profiles). Il faut donc choisir un objectif principal
*** typologie de relevés (les taxons sont des variables), par exemple carte phyto-écologique, rapport d'expertise en qualité de l'eau (un relevé est une distribution de fréquence entre espèce, les espèces servent à ordonner les relevés) --> ACP sur relevés en %
*** typologie d'espèces (les taxons sont les objets de l'étude, les relevés sont des moyens expérimentaux : étude des niches, compétition, interactions biologiques) --> ACP sur taxons en %
*** Les deux --> AFC (cas rare !)

>3
>Sometimes it happens that a categorical scatterplot (Option|Elipses) 'does
>not work' after a Reciprocal Scaling.
>The module gives out the message 'no item in category ...'.
>When does such a situation occur ?
>I tried to undertand the matrix algebra behind Reciprocal Scaling but with
>not a great success.

Effectivement le message intervient dans le sous-programme "compteindiv" utilisé pour compter les individus par modalité. COA : Reciprocal scaling laisse passer les lignes ou les colonnes vides mais le programme graphique n'en veut pas. Cela vient du caractère particulier de COA : Reciprocal scaling. Cette option répartit toute les correspondances du tableau (les cellules non nulles) par ligne et par colonne et réécrit le tableau sous forme valeur, numéro de ligne, numéro de colonne. Une ligne nulle génère une modalité sans représentant et plante le programme graphique. La question suivante montre que le problème a été bien compris.

>4
>To me it seems meaningless to insert in a table sites with no species or
>viceversa.
>Infact I noticed that ADE often crashes when trying to perform PCA or COA
>on such a table.
>Otfen, but not always. What does it happens if some row or some columns
>sums to zero?
>How we can consider the row and column score in such situations ?
>Are they correct or the fact that program finished the job was only a
>realization of an improbable event?

Je ne crois pas que l'insertion de lignes nulles soit toujours sans signification. On peut prendre la carte de données Doubs+1 (données de J. Verneaux). Il y a un relevé vide (le n° 8 vu par EcolTools : EcoMargins). L'étude est centrée sur la pollution des rivières, les relevés sont très standardisés et la présence d'une station sans poissons est très signifiante.
Si on fait PCA : Correlation matrix PCA ou PCA : Covariance matrix PCA sur DouPoi, il n'y a pas de problèmes. L'ACP tolère les lignes de O. Si on transpose le tableau DouPoi en A (espèces en lignes) Covariance matrix PCA fonctionne (une colonne de 0 est acceptée : la moyenne et la variance sont nulles). Correlation matrix PCA par contre plante (il devrait y avoir un message d'erreur, sorry) car la division par l'écart-type nul est impossible. COA : COrrespondence Analysis fonctionne sur les deux tableaux. Le programme est écrit pour tolérer les lignes et les colonnes de 0 avec :
        for (i=1;i<=i1;i++) {
                a1 = poili[i];
                if (a1 != 0.0) {
                        for (j=1;j<=j1;j++) {
                                a2 = poico[j];
                                if (a2 != 0) w[i][j] = w[i][j] / a1 / a2 - 1;
                        }
                }
        }
les lignes et les colonnes de 0 se retrouveront ainsi avec des coordonnées nulles.
*********************
Donc normalement PCA centrée et COA sur des tableaux avec des lignes ou des colonnes de 0 fonctionnent normalement chacune dans leur logique. Si ce n'est pas le cas, merci de le signaler.
*********************
COA : Reciprocal scaling passe également sur les deux tableaux DouPoi et A. Mais ce n'est pas une bonne chose car il y a une erreur dans les fichiers _mvco ou A_mvli (valeur non affectée). Le plus fort, c'est que ScatterClass : Ellipses qui devrait planter accepte de fonctionner ! C'est parce qu'il y avait un bug dans dans "compteindiv" !! Donc la question était fort utile et a mis en évidence une faiblesse. Bravo (on va y mettre de l'ordre). Il sera logique de bloquer COA : Reciprocal scaling en cas de lignes ou de colonnes de 0 et les choses seront plus claires.

>5
>Wich is the best method to rapresent units each of whom is a set of fish
>on wich we count parassites?
>Via MCA (how many fish have no parassites, how many fish...).
ceci est une autre question à laquelle il faut réfléchir.

Cordialement

Daniel Chessel
----------------------------------------------------------------
Universite Lyon 1 - Bat 401C - 69622 Villeurbanne CEDEX - France
Tel : 04 72 44 82 77 Fax : 04 72 43 11 41
----------------------------------------------------------------
ADE-4 sur Internet ---> http://biomserv.univ-lyon1.fr/ADE-4.html
----------------------------------------------------------------



This archive was generated by hypermail 2b30 : Sat Feb 10 2001 - 10:21:37 MET