Re: ACC sous SAS/S-PLUS

From: Daniel Chessel (chessel@biomserv.univ-lyon1.fr)
Date: Tue Jan 18 2000 - 18:24:40 MET


Merci ˆ Jean-Luc Dupouey de son message :

>J'ai lu avec intŽrt la fiche thŽmatique "Quand l'ACC est-elle une
>analyse canonique ?" (Chessel et Gimaret, 1998). Je ne suis pas un
>spŽcialiste du domaine, mais il me semble que ce papier rŽpond bien ˆ
>la question introductive de Mark Easter, qui est aussi la mienne,
>"Peut-on faire de l'ACC sous SAS ?".
>
>Si j'ai bien compris, une analyse discriminante avec chaque occurence
>d'espce comme ligne-individu est une ACC. On peut donc relativement
>facilement faire de l'ACC avec SAS. Pourriez-vous me confirmer ces
>deux dernires assertions, avant que je ne les mette en oeuvre ?
>Connaissez-vous des personnes qui pratiquent l'ACC de cette faon ?
>Merci d'avance, et surtout merci pour ce papier !

La question est fort pertinente.

La rŽponse thŽorique est oui, on peut faire une ACC avec un programme
d'analyse canonique
Pour le prouver, on peut le faire sous S-PLUS
C'est assez instructif

Prenons la carte Doubs de la pile de donnŽes (donnŽes de J. Verneaux)
Le tableau de milieu DouMil (30-11) et le tableau de faune DouPoi (30-27)
donne une CCA avec les valeurs propres :

Num. Eigenval. R.Iner. R.Sum |Num. Eigenval. R.Iner. R.Sum |
01 +5.3452E-01 +0.6387 +0.6387 |02 +1.2184E-01 +0.1456 +0.7843 |
03 +6.8703E-02 +0.0821 +0.8664 |04 +4.9168E-02 +0.0588 +0.9252 |
05 +2.7090E-02 +0.0324 +0.9575 |06 +1.2941E-02 +0.0155 +0.9730 |
07 +9.8670E-03 +0.0118 +0.9848 |08 +5.4252E-03 +0.0065 +0.9913 |
09 +3.5336E-03 +0.0042 +0.9955 |10 +2.1655E-03 +0.0026 +0.9981 |
11 +1.6117E-03 +0.0019 +1.0000

Ces tableaux sont importŽs dans S-PLUS sous les noms mil et poi
> dim(poi)
[1] 30 27
> dim(mil)
[1] 30 11

-------------------------------------------------
numli_rep(as.vector(row(poi)[poi>0]),poi[poi>0])
-------------------------------------------------
a fait trs mal :
        poi[poi>0] est le vecteur des notes d'abondances du tableau faunistique (375)
        row(poi)[poi>0] est le numŽro de ligne de chacune de ces notes
        rep(as.vector(row(poi)[poi>0]),poi[poi>0]) rŽpŽte ce numŽro de ligne
autant de fois qu'indiquŽ par la note d'abondance (1004). Une note
d'abondance de 3 donne 3 lignes.
On peut dire 3 ŽlŽments de correspondance.

-------------------------------------------------
ligmil_function(i,tmil) {
        w0_tmil[i,]
        return(unlist(w0))
}
x_apply(matrix(numli,ncol=1),1,ligmil,tmil=mil)
-------------------------------------------------

Ce tableau de 1004 lignes contient les variables de milieu de la ligne du
tableau d'o vient l'ŽlŽment de correspondance.

-------------------------------------------------
numco_rep(as.vector(col(poi)[poi>0]),poi[poi>0])
-------------------------------------------------
ligpoi_function(j,tpoi) {
        w0_rep(0,ncol(tpoi))
        w0[j]_1
        return(w0)
}
y_apply(matrix(numco,ncol=1),1,ligpoi,tpoi=poi)
-------------------------------------------------
Ce tableau de 1004 lignes contient les indicatrices des espces avec 1 dans
la colonne de l'espce concernant l'ŽlŽment de correspondance.

-------------------------------------------------
cc0_cancor(t(x),t(y))
cc0$cor*cc0$cor
 [1] 0.534524357 0.121838565 0.068703183 0.049167872 0.027089749 0.012940921
 [7] 0.009866962 0.005425199 0.003533575 0.002165512 0.001611664
-------------------------------------------------
L'analyse canonique de x et y a pour carrŽs de corrŽlation canonique les
valeurs propres de l'ACC

Dans S-PLUS on a donc l'essentiel d'un programme d'ACC avec 10 lignes de
programmes
Il faut cependant que les donnŽes du tableau sites-espces contiennent des
valeurs entires car la procŽdure cancor de S-PLUS utilise la mŽtrique
canonique. Avec des poids quelconques, il faudrait raffiner.
A comparer avec SAS qui contient peut-tre une analyse canonique avec poids
quelconque comme ADE-4.

C'est cependant un point de vue assez thŽorique. Les scores des ŽlŽments de
correpondance doivent redonner les scores des correspondances qui doivent
redonner les scores des espces, des relevŽs et des variables. Une bonne
connaissance du systme est indispensable.
Dans l'Žquipe ADE, StŽphane Dray s'occupe de ces problmes et proposera une
ACC dŽpouillŽe comme une analyse canonique et des AFC sous doubles
contraintes comme dans Lavorel, S., Rochette, C. & Lebreton, J.D. (1999)
Functional groups for response to disturbance in Mediterranean old fields.
O•kos : 480-498. Il y aura bient™t des nouveautŽs disponibles.

Cordialement
Daniel Chessel
Universite Lyon 1 - BiomŽtrie et Biologie Evolutive - B‰t 741
69622 Villeurbanne CEDEX
Tel : 04 72 44 82 77 - (33) 4 72 44 82 77



This archive was generated by hypermail 2b30 : Mon Feb 12 2001 - 09:24:53 MET