Re: tests exacts de valeurs propres

From: Daniel Chessel (chessel@biomserv.univ-lyon1.fr)
Date: Sun Aug 16 1998 - 18:10:26 MET DST


Jerome GOUDET pose deux questions fort intéressantes sur le fond.

>Je cherche à tester les valeurs propres obtenues à l'issue d'une analyse de
>correspondance floue. Pour cela, je crée à partir du jeu de données
>original des jeux de données permutés, mettons 99. sur chacun de ces jeux
>de données permutés, je ré-effectue une analyse de correspondance floue. je
>me retrouve ainsi avec, pour chaque axe de mon analyse (a savoir n-1, si
>j'ai n variables), avec une valeur propre observée et 99 générées par
>permutations. Ma question a mille francs est :
>
>Dois je comparer la premiere valeur propre observée a la distribution des
>premieres valeurs propres, la deuxieme a la distribution des deuxiemes, la
>troisieme a la distribution des troisiemes, ou bien dois je toutes les
>comparer a la distribution des premieres valeurs propres?
>
>Si la premiere solution est la bonne, comment intérpreter un jeux de
>données qui donnent une premiere valeur propre tres significative au seuil
>de 5%, une deuxieme non significative, et toutes les autres a nouveau tres
>significatives
>
>D'autre part, j'ai ecrit une fonction S-plus qui reproduit l'algorithme de
>l'analyse des correspondances floues. Quand j'utilise la fonction, les
>valeurs propres obtenues avec S-plus sont t/n fois plus élevées que celles
>obtenues a partir d'ADE, ou t est le nombre d'especes et n le nombre de
>variables. Est ce normal?

La première question touche aux tests des valeurs propres d'une AFC floue.
Qui dit test dit hypothèse nulle, critère et hypothèse alternative. En ce
sens, le message est ambigü. Que l'analyse ait été reprogrammée dans
S-PLUS, ceci est une excellente chose. Ce qui caractérise une méthode
linéaire est sa reproductibilité en dehors de tout environnement de
programmation (la décomposition spectrale des opérateurs symétriques existe
quoi qu'il arrive, ce qui n'est malheureusement pas le cas de bien des
méthodes utilisées en écologie statistique qui implique une bonne part de
savoir faire numérique encapsulé dans le code compilé).

On doit donc se mettre d'accord sur la procédure pour retrouver strictement
les mêmes résultats. Un tableau de variables floues est X=[X1, ..., Xv]
 Le nombre total de modalités est m. On prend le cas le plus simple d'une
pondération uniforme des lignes.

1) Chaque bloc est formé de nombres positifs ou nuls et traîté de la même
manière (Passage en pourcentage par ligne et remplacement des données
manquantes = lignes de 0 par la moyenne des autres). On obtient un tableau
P=[P1, ..., Pv] formé de v (variables) blocs de m1,...,mv modalités où
chaque ligne de chaque bloc a une somme de 1 (distribution de fréquence).

2) L'AFC floue est l'AFC de P.
        a) Si on additionne toutes les valeurs d'une ligne de P on trouve v
(somme de v blocs de somme 1). Si on additionne toutes les valeurs de
toutes les lignes on obtient tv. Le poids d'une ligne est donc v/tv = 1/t.
DI = Diag(pi.) = (1/t)Idt.
        b) Si on additionne toutes les valeurs d'une colonne et qu'on
divise par le total on obtient (1/v)*moy=(1/v)*[moy1, ..., moyv] formé de v
(variables) blocs de m1,...,mv modalités. Chaque bloc est une distribution
de fréquence (somme 1). On obtient, en mettant ces valeurs sur la diagonale
d'une matrice DJ = Diag(p.j)
        c) On calcule le terme général pij/pi.*p.j - 1 d'une AFC qui donne
un tableau PO. la valeur de pij est obtenue en divisant les valeurs de P
par tv et on prend le poids des lignes pour pi. et le poids des colonnes
pour p.j.
        d) Enfin l'AFC est l'analyse du triplet (PO, DJ, DI). Les valeurs
propres sont celles de DJ(1/2)*POt*DI*PO*DJ(1/2)
Ces précisions doivent suffire à lever la difficulté sur le coefficient t/n.

La question du test de permutation est beaucoup plus délicate. Dans
l'article de référence [Chevenet&C94], nous avions proposé un test sur les
valeurs propres. Ce test n'a pas été repris dans ADE-4 et cela mérite
quelques explications. Les tableaux sont des tableaux de traits
biologiques. En ligne des taxons, en colonnes des groupes (traits) de
modalités. On peut s'intéresser à l'indépendance des traits biologiques ou
à son alternative la redondance de ce type d'information. Dans les articles
du Special Issue de FreshWater Biology (31), il y a toujours un paragraphe
"Relationships among species traits" qui pose peu de problèmes aux auteurs.
On avait alors pensé au test T1.
Les traits biologiques sont des variables aléatoires multivariées qui
suivent des lois inconnues L1, L2, ..., Lv. Si ces variables sont
indépendantes, le tableau est une réalisation arbitraire dans l'ensemble
des (t!)^v produits de permutations des lignes de chaque trait
(permutations indépendantes des lignes dans chaque sous-tableau associé à
un trait). Le critére utilisé était les premières valeurs propres de l'AFC
floue du tableau comparées à celles des tableaux permutés. Ce test n'a pas
été utilisé car il était la plupart du temps clair qu'une forte
corrélations entre traits dérivait de la phylogénie.

La question plus importante était la liaison entre les traits biologiques
et le mode de dispersion des espèces. Nous avons proposé la co-inertie
comme seule possibilité d'analyser ce type de données [Doledec&Ch94]. Un
nouveau test est en jeu. Appelons le T2. Il y a, outre le tableau de
traits, le tableau espèces-milieu formé de distributions de fréquences
entre habitats-type de chacune des espèces dont on connaît les traits
biologiques. L'ensemble des traits est une variable aléatoire multi-tableau
de loi inconnue L et la distribution inter-sites est une variable aléatoire
multivariée de loi inconnue M. Si ces deux variables sont indépendantes, le
couple de tableau est est une réalisation arbitraire dans l'ensemble des t!
permutations des lignes d'un tableau l'autre restant fixe. Le critére
utilisé était les premières valeurs propres de l'analyse de co-inertie du
couple observé comparées à celles des de l'analyse de co-inertie après
mermutations d'un des deux tableaux. Ce test a été utilisé mais n'a pas été
repris dans ADE-4. Il y a une erreur théorique. Il est logique de comparer
la première valeur propre à celle des permutations mais dès que le premier
test est significatif, le test sur la seule valeur de la deuxième valeur
propre ne tient pas. C'est une erreur de jeunesse ! Il aurait fallu
travailler sur l1, l1+l2, ..., l1+l2+...+lk. Pour simplifier on s'en tient
maintenant au test sur la co-inertie globale et s'il est significatif à la
conservation des premières valeurs propres avec l'usage habituel.

Ceci dit, de quel espace de probabilité parle Jerome GOUDET ? Message :

>En voulant répondre à votre mail sur adelist, j'ai besoin de deux précisions

>1) dans vos simulations, vous permutez bien les lignes par bloc-variables ?
>Vous permutez bien indépendamment chaque bloc ? Ou vous permutez les sur
>chaque colonne ?
>Il faut des précisions.

>2) quand vous dites j'ai reproduit la procédure, quelle est votre source
>exactement (la fiche >du module, l'article) ? Pouvez-vous m'envoyer la
>procédure S-PLUS en ascii dans le message ?

Réponse :

>En fait, il s'agit de données génétiques. Ce que je permute, c'est les
>génotypes multilocus, entre populations, avec comme hypothese nulle que, si
>je n'ai pas de structure genetique, alors l'individu peut etre affecte a
>n'importe quel population. Je reconstitue apres le tableau de frequences
>alleliques, et je me retrouve donc avec un tableau contenenant autant de
>lignes que de populations, et autant de colonnes que d'alleles sur
>l'ensemble de mes locus.
>
>Je me base sur l'article de Bruno Guinand dans biological journal of the
>linean society (1996, 58:173-195), qui reproduit en figure 8 la procedure
>de base de la CRT-MCA (j'ai corrigé le bug de la figure concernant la
>matrice B) tiré de votre article de 1991 avec Doledec.
>
>la fonction de SPLUS (x represente le tableau de frequence brute, avec n
>lignes=populations, et t1+t2+t3+t4+tk colonnes, ou k represente le nombre
>de variables et t1, t2, t3 etc.. le nombre de modalités par variables. mod
>represente le vecteur des modalités par variables). J'attache au message un
>fichier de données dont le vecteur de modalités est
>(19,6,22,12,12,19,9,13,12).

Suit du S-PLUS qui ne passionnera pas les adelisters et restera entre nous.
Je commence à sentir le gag lié au clône de [Chevenet&C94] dans
[Guinand---96]. Les articles génétiquement modifié sont-ils dangereux ?
C'est vrai que p. 195 il a deux erreurs qui rendent le calcul impossible.
Je n'ai pas le temps d'y réfléchir que je reçois un nouveau message :

>Après relecture du courrier que je vous ai envoyé, je m'apercois que je ne
>suis toujours pas tres clair. Ce que vous appelez bloc-variables
>correspondent chez moi, j'imagine, aux locus. Je ne permute pas chaque
>locus independemment, mais bien tous les locus d'un individu ensembles. Il
>me semble que c'est la méthode la plus approprié, puisqu'elle conserve
>l'information multi locus. Peut etre que je me trompe?
>
>je pars donc d'un jeu de données possedant L lignes et C colonnes. Ces L
>lignes correspondent chacune a un individu. la population 1 aura n1
>individus, la deuxieme n2 etc...Les permutations que j'effectue consistent
>a affecter n1 individus tirés au hasard a la premiere population, n2 a la
>deuxieme etc... Une fois cela fait, je calcule les frequences de chacune de
>mes modalités dans chacune de mes populations pourt chacune de mes
>variables. je me retrouve donc avec un tableau constitué d'autant de lignes
>que de populations et de colonnes que de modalités. Ouf. J'ai toujours du
>mal a expliquer clairement les shemas de permutations. N'hésitez pas a me
>recontacter si vous avez besoin de precision. En tout cas, deja un grand
>merci pour le temps accordé a ce probleme. Jérôme Goudet

Un grand merci à Jérôme Goudet pour alimenter ce débat qui illustre
parfaitement la difficulté réelle de l'analyse des données. On est dans un
troisième espace de probabilités, celui de l'équiprobabilité des
n!/n1!*n2!*...*ng! répartition de n individus en g groupes, celui qui est
utilisé dans Discrimin: Between analysis/Test et Discrimin: Discriminant
analysis/Test.

D'où un nouvel échange :

question
>J'ai encore besoin d'une précision sur votre beau problème.

>Dans votre tableau de départ lignes-individus, allèles par bloc-locus, dans
>chaque bloc et sur chaque ligne la somme vaut-elle toujours 2 ?

réponse
>Tout a fait, et donc la somme total d'une ligne vaudra 2 * le nombre de locus.
>Il se peut de temps en temps qu'une donnée manque (un locus n'a pas pu être
>révélé), mais je suppose qu l'on peut négliger le probème pour le moment.

question
>Pourriez-vous aussi faire des tableaux de variables qualitatives pour
>chaque locus en prenant le génotype décrivant la combinaison des deux
>allèles représentés pour le locus (ce qui passerait de la fréquence
>allèlique à la fréquence génotypique en regroupant par populations) ? Ou
>est-ce plus compliqué ?

réponse
>C'est possible, mais je travaille sur des marqueurs extremement polymorphes,
>les microsatellites. le nombre moyen d'alleles par locus est de l'ordre de
>20 à 25, ce qui represente pour 20 alleles, 190 génotypes! De plus le calcul du
>nombre de genotypes indépendant me semble plus difficile à calculer que le
>nombre d'allèles, mais je me trompe peut etre!

La totalité de l'information conduit aux remarques suivantes :

1 - On est en présence d'une problème de description d'une structure
inter-classes et le passage par l'analyse inter-classes [Discrimin: Between
analysis/Run] s'impose. Le test de randomisation qui porte sur l'inertie
inter-classe [Discrimin: Between analysis/Test] (ou sa proportion ce qui
revient au même) donnera toute garantie. Il est déjà programmé. L'analyse
discriminante, par contre n'est pas envisageable vu le nombre de variables.

2 - L'assertion de Guinand ("The main disadventage of CRT-MCA, like other
ordination techniques, is that it does not perform any statistical test of
the estimated parameters", p. 187) est une bétise due au fait que le
tableau des fréquences alléliques est un tableau de moyennes par classes
qui fait disparaître la variance totale du tableau d'origine et ne contient
plus que la variance inter-classe.

3 - La réduction directe des données dans un tableau de fréquences
alléliques pour une analyse directe est une erreur. Remarquons que les
moyennes simples des fréquences alléliques par populations ne redonnent pas
les fréquences observées totales dès que les échantillons sont de tailles
variables. Il faudrait introduire le nombre d'individus d'une population
comme poids des lignes pour justifier une AFC floue (=CRT-MCA), ce qui n'a
pas été fait et rend l'analyse impropre. On doit travailler sur le tableau
individus-locus-allèles pour conserver une vue globale de la variabilité
intra et inter-populationnelle, ce qui est bien l'intuition de Jerome
GOUDET.

4 - Reste une question précise : quelle analyse de base utiliser avant
l'inter-classe ? On peut au moins essayer 3 des analyses de base. L'ACP
centrée, l'ACP normée et l'AFC. Comme chaque ligne a une somme constante
ces trois analyses ne vont différer que par la métrique des colonnes
(allèles). En effet, les sommes (AFC) par colonnes divisées par la somme
totales ou les moyennes (ACP) vont restituer directement les fréquences
alléliques dans les moyennes par classes (on aura 2 fois ces fréquences en
ACP ou 1 fois si on code les données 0 pour l'absence de l'allèle, 1/2 pour
sa présence simple et 1 pour sa présence double). Les trois analyses ne
sont pas identiques.
La première (ACP centrée) donnera des distances entre populations
(l'inertie inter-classes totale sera la moyenne pour tous les couples de
deux populations) du type ROGERS (définition et biblio dans la fiche du
module [Distances: Genetic distance]. Ce point de vue diminue l'effet des
allèles rares.
L'AFC va introduire la métrique du Khi2 et amplifier le rôle des allèles
rares. L'inter-classe associée sera automatiquement une AFC floue
correctement pondérée par les effectifs des populations.
L'ACP normée amplifiera simultanément le rôle des allèles rares et très
fréquents puisque les variances seront du type p(1-p) et donc que l'inertie
inter-classe sera directement compatible avec la mesure classique
d'hétérogénéité inter-populationelle du type FST = Var(p)/p(1-p). Des
détails sont à mettre au point pour ces remarques.

5 - De nombeux développements sont possibles à partir de ces premiers
éléments. Le point de vue inter-classes renvoie au point de vue
intra-classes, à la typologie d'individus à l'intérieur des populations, à
la mesure de la diversité intra-populationnelle [Discrimin: Within
Parameters]. Le point de vue K-tableaux [KTabUtil: DiscriminToKtab]
introduit le passage de la fréquence à la structure dans les comparaisons
entre populations. De même on pourra mesurer la capacité typologique de
chaque locus, les liens structuraux entre locus, ... Du travail en
perspective.

Bon courage ...

Daniel Chessel
----------------------------------------------------------------
Universite Lyon 1 - Bat 401C - 69622 Villeurbanne CEDEX - France
Tel : 04 72 44 82 77 Fax : 04 72 43 11 41
----------------------------------------------------------------



This archive was generated by hypermail 2b30 : Sat Feb 10 2001 - 10:22:00 MET