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Žrt 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'espce comme ligne-individu est une ACC. On peut donc relativement
>facilement faire de l'ACC avec SAS. Pourriez-vous me confirmer ces
>deux dernires assertions, avant que je ne les mette en oeuvre ?
>Connaissez-vous des personnes qui pratiquent l'ACC de cette faon ?
>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 trs 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 espces avec 1 dans
la colonne de l'espce 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-espces contiennent des
valeurs entires 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 espces, des relevŽs et des variables. Une bonne
connaissance du systme est indispensable.
Dans l'Žquipe ADE, StŽphane Dray s'occupe de ces problmes 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