Re: Question sur une métrique

From: Daniel Chessel (chessel@biomserv.univ-lyon1.fr)
Date: Fri Sep 01 2006 - 20:07:39 MEST

  • Next message: Bryan Gallegos: "x----SPAM----x replica fresh collection"

    La question haut de gamme, par excellence, de celles qui justifient (de
    mon point de vue !) l'existence de ce forum.
    Ce qui est le plus fascinant en analyse de données, c'est la capacité
    pour les chercheurs de créer des types de données dont les statisticiens
    n'ont jamais entendu parler.
    Une question de ce type est posée par les différentiateurs sémantiques
    dans :
    http://pbil.univ-lyon1.fr/R/pps/pps002.pdf

    -L'ACM floue parait meilleure candidate ne donne rien de cohérent. Pourquoi ?

    Impossible de répondre sans savoir sur quel fichier porte cette analyse.
    Si c'est sur le fichier de départ, sans doute, ça n'a aucun sens.
    Mais on n'est pas loin.
    Le tableau de données proposées est directement lu (copier-coller du message dans un fichier "w.R").
    w<-read.table("w.R",sep=";")
    dim(w)
    [1] 121 18
    w[1,]
      V1 V2 V3 V4 V5 V6 V7 V8 V9 V10 V11 V12 V13 V14 V15 V16 V17 V18
    1 -1 2 -2 1 -2 2 -2 1 -2 1 -2 0 -3 -1 -1 2 -2 0

    La première chose à faire est d'ajouter 4 partout !
    w1 <- w+4
    w1[1,]
      V1 V2 V3 V4 V5 V6 V7 V8 V9 V10 V11 V12 V13 V14 V15 V16 V17 V18
    1 3 6 2 5 2 6 2 5 2 5 2 4 1 3 3 6 2 4

    On comprend tout de suite avec la petite fonction :
    fun1 <- function(a,b) {
            d <- rep(0,7)
            d[a:b]<-1
            return(d)
    }
    fun1(3,6)
    [1] 0 0 1 1 1 1 0
    fun1(1,4)
    [1] 1 1 1 1 0 0 0

    On voit le profil, sa moyenne et son amplitude. Le reste vient tout seul.
    fun2 <- function(x) {
            res <- NULL
            for (k in 1:9) {
                    a <- x[2*k-1]
                    b <- x[2*k]
                    res <- c(res,fun1(a,b))
            }
            return(res)
    }

    w2<-as.data.frame(t(apply(w1,1,fun2)))
    dim(w2)
    [1] 121 63
    w3 <- prep.fuzzy.var(w2, rep(7,9))

    On peut de l'AFC ou de l'ACP floue, mais on peut aussi calculer des distances sur données binaires.
    Avec l'ACP la distance entre (-1,2) et (-3,1), c'est-à-dire entre (3,6) et (1,4),
    c'est-à-dire entre (0 0 1 1 1 1 0) et (1 1 1 1 0 0 0) vaut 2 (racine de 4).
    Mais évidemment on pourra utiliser toutes les distances binaires (dist.binary) soit globalement soit par critères.
    On devra alors choisir une distance, puis on pourra avoir un K-tableaux (classe Ktab ) ou une K-distances (classe kdist)
    pour calculer des cohérence entre critères, faire du STATIS etc.

    Exemple
    w4 <- dudi.pca(w3) #L'acp simple du tableau transformé
    Select the number of axes: 3
    w5 <- ktab.data.frame(w4$tab,rep(7,9))
    # un tableau centré par critère
    plot(statis(w5))
    # on fait une acp sur les tableaux comme on aurait fait une ACP sur des variables ordinaires

    Ceci représente une réalité très sous-estimée : un tableau (techniquement) est souvent une variable (expérimentalement)
    C'est sans doute vrai ici.

    Voilà de quoi faire
    D. Chessel

    denis.bertrand@free.fr a écrit :
    > Bonjour,
    > Mon champs d'étude ne touche pas la biométrie, mais je pense que ma question
    > peut quand même trouver réponse ici (ou du moins débat).
    > Je dispose de mesures un peu inhabituelles sur huit échelles de termes opposés
    > (par exemple initiation-expert). L'échelle va de -3 à +3
    >
    >
    > /---/---/---/---/---/---/---/
    > -3 -2 -1 0 1 2 3
    > Initiation Expert
    >
    > La réponse est une plage entre ces deux valeurs.
    > exemple : (-1,+2) veut dire que ce n'est pas trop un service (ou objet) à portée
    > des débutants, qu'il couvre un niveau d'intermédiaire à bon assez large, et
    > qu'il n'est pas le mieux adapté à un pur expert. Un service pour un pur expert
    > serait plutôt (+2,+3), voire (+3,+3).
    > L'intérêt majeur de cette échelle est de "qualifier sans juger". En
    > effet, aucun des deux termes opposés n'est plus négatif que l'autre tout en
    > correspondant à une dimension d'appréciation de l'objet d'étude.
    > On enleve ainsi les jugements de valeur (en bien et mal) qui parasitent si
    > souvent les études psycho-sociales pour ne se concentrer dés le départ que sur
    > la discrimination (celle de la pensée, avant celle de la statistique).
    >
    >
    > Résulat :
    > -L'ACM floue parait meilleure candidate ne donne rien de cohérent. Pourquoi ?
    > -l'ACP sur la moyenne des deux valeurs de l'échelle est la méthode qui
    > perd le plus d'information initiale. On perd en effet la notion de "polyvalence"
    > sur une échelle : un score de (-2,+3) a la même moyenne qu'un score de (0,1).
    > Cette ACP sur la moyenne est pourtant la seule à me donner des résultats
    > pertinents.
    >
    > J'en suis donc à me poser des questions théoriques (c'était tant hurleront
    > certain !).
    > D'un point de vue géométrique les choses sont assez clair.
    > Dans un espace orthogonal à N dimensions, la représentation initiale d'un
    > individu n'est pas un point mais un volume de dimension N dont chaque arête
    > s'étend de l'indice minimale à l'indice maximale de l'échelle et est parpallèle
    > à l'axe de cette échelle, (en dimension 2, c'est un rectangle).
    > Pour mener une analyse d'inertie, il faudrait ensuite établir un indice de
    > "distance" ou/et de "ressemblance" entre mes deux individus, et là,.....
    >
    >
    > denis.bertrand@free.fr
    >
    > Mon jeu de données 9 x 2 x 202 :
    > -1;2;-2;1;-2;2;-2;1;-2;1;-2;0;-3;-1;-1;2;-2;0
    > -1;3;-2;2;-2;3;-2;2;-3;1;-2;1;-3;0;-2;1;-3;0
    > ...
    >



    This archive was generated by hypermail 2b30 : Fri Sep 01 2006 - 20:08:36 MEST