Rotation procustéenne - statistiqes d'appariemen

From: Olivier Beauchard (olivier.beauchard@laposte.net)
Date: Mon May 23 2005 - 16:46:11 MEST

  • Next message: Stéphane Dra: "Re: Rotation procustéenne - statistiques dappariemen"

    Bonjour,

    Je prend un exemple classique pour introduire ma question sur les statistiques d’appariement en co-inertie.

    > data(doubs)
    > pca1 = dudi.pca(doubs$mil)
    > pca2 = dudi.pca(doubs$poi,scale=F)
    > coi = coinertia(pca1,pca2)
    > coi
    ...
    $RV (RV coeff) : 0.4505569
    donc variabilité expliquée de l’un par l’autre et réciproquement = 0.4505569²

    Suivant l’analyse procustéenne de co-inertie :
    > pro = procuste(pca1$tab,pca2$tab,scale=TRUE)
    > sum(pro$d)
    [1] 0.6562
    donc variabilité expliquée (?) de l’un par l’autre et réciproquement = 0.6562²
    (dans (1) on lit m² = 0.67 soit 1-sum(pro$d)^2 = 0.5694016 (fig. 2a-c); avec s.arrow(pro$load1), la variable dur <=> Har ne pointe pas au même endroit (fig. 2b); me suis-je trompé? Ai-je fait la même analyse?)

    L’association entre les deux tableaux, si on suppose que ces deux statistiques jouent le même rôle, est plus forte suivant la statistique procustéenne. Le Rv est-il détrôné par une statistique qui donne des valeurs « attractives » car plus fortes?

    J’ai voulu comprendre la différence entre les deux, si différence il y a.

    > x = as.matrix(pca1$tab)
    > y = as.matrix(pca2$tab)
    > x = x/(sum(diag(t(x)%*%x))^0.5)
    > y = y/(sum(diag(t(y)%*%y))^0.5)

    L’analyse procustéenne de co-inertie fait
    > svd = svd (t(y) %*% x)
    > yr = y %*% svd$u %*% t(svd$v)

    > coirot = coinertia(pca1,dudi.pca(yr,scale=F))

    On lit
    > coirot
    ...
    $RV (RV coeff) : 0.4518429

    A 10-2 près, c’est le même Rv, il est donc unique pour ce couple de tableaux, rotation ou non (la rotation n’entraîne pas de déformation et la force des relations entre variables n’est pas modifiée, RRt = I si je comprend bien).

    En lisant plus attentivement (1), on apprend que l’analyse procustéenne de co-inertie est exactement l’analyse de co-inertie de x et yr appariés (dim(x) = dim(yr)), ce dernier pourvu d’une rotation. J’ai refait le programme et j’obtenu les mêmes jeux de coordonnées. Le lien entre tableaux dans cette analyse est :

    > covv = sum(diag(t(x)%*%yr))
    > vavx = sum(diag(t(x)%*%x))
    > vavy = sum(diag(t(yr)%*%yr))
    > rv = covv/(vavx^0.5*vavy^0.5)
    > rv
    [1] 0.675773

    comparé à

    > sum(pro$d)
    [1] 0.6562

    C’est ça à 2 % près. Je me demande si je n’ai pas fait une erreur...

    Un autre exemple, en appendice III de (1) :
    > rv
    [1] 0.814557
    > sum(pro$d)
    [1] 0.814557

    Ca a l’air d’être ça.

    Encore un exemple, la carte Buech d’ADE-4 :
    > rv
    [1] 0.6912885
    > sum(pro$d)
    [1] 0.6912885

    Aussi.

    La statistique procustéenne est-elle exactement le Rv des tableaux x et yr appariés? Le cas échéant, je ne l’ai lu nulle part. Le Rv, c’est tellement plus compréhensible que sum(pro$d)...

    Merci d’avance pour vos précisions.

    Olivier Beauchard

    (1) Dray S., Chessel D. & Thioulouse J.. 2003. Procustean co-inertia analysis for the linking of multivariate datasets. Ecoscience, 10: 110-119.

    Accédez au courrier électronique de La Poste : www.laposte.net ;
    3615 LAPOSTENET (0,34€/mn) ; tél : 08 92 68 13 50 (0,34€/mn)



    This archive was generated by hypermail 2b30 : Mon May 23 2005 - 16:48:46 MEST