Outils pour utilisateurs

Outils du site


public:specs_afc

Ceci est une ancienne révision du document !


Analyse Factorielle des Correspondances (AFC)

Spécifications

Paramètres

rendu :

  • firstDimension ← préférence = 1
  • secondDimension ← préférence = 2
  • showIndividuals ← préférence = true
  • showVariables ← préférence = true
  • showPointShapes ← préférence = true

Construction

À partir :

  • d'une table lexicale
  • d'une partition, avec
    • une table lexicale

Calculs

calcul de DIST²

L&S propose “DISTO (Distance à l'Origine) contient les carrés des distances à l'origine des axes” (d'après mail BP 2015-05-06).

Volle propose “le calcul de l'inertie est une fonction du carré de la distance (DIST² x poids)” (d'après mail BP 2015-05-06).

Interface

  • présentation du calcul de DIST²

Actuellement les résultats DIST² gagneraient à être présentés de façon plus explicite.

  • Sélection / Filtrage des points affichés

Actuellement il n'y a pas de sélection ni filtrage après calcul de l'AFC

Sélection, filtrage des points

Dans TXM 0.7.5

En activant la perspective “Laboratoire”, 2 nouveaux paramètres d'AFC sont affichées dans la toolbar de l'éditeur donnant accès directement au contenu des paramètres “selectRow” et “selectCol” de FactoMineR.

Stylage des points

TXM 0.8.1 et l'utilitaire CAStyle

L'utilitaire stats/CAStyle permet de styler les étiquettes et les formes des points-colonnes et des point-lignes à partir de patrons d'étiquettes (d'expressions régulières), l'étiquette étant unique pour chaque point-colonne et chaque point-ligne.

Paramètres :

  • patternODSFile : chemin du fichier .ods contenant les stylages à appliquer
  • debug : affichage de différents niveaux de messages d’exécution dans la console
    • valeurs possibles :
      • ON, ALL et REALLY ALL : 3 niveaux de messages du moins au plus détaillé
      • OFF : aucun message

Format du fichier .ods de stylage :

  • le fichier doit contenir 2 feuilles nommées “cols” et “rows”
    • “cols” contient le tableau de stylage des points colonnes
    • “rows” contient le tableau de stylage des points lignes
  • chaque tableau de stylage permet de styler à la fois la forme et l'étiquette des points
  • la première ligne d'un tableau de stylage contient les noms des colonnes :
    label-pattern label-replacement label-font-family label-style label-size label-color shape-replacement shape-size shape-color hidden
  • chaque ligne suivante définit un stylage
  • un stylage combine (a) un patron d'étiquette à (b) des codes de stylage
    • a) le patron d'étiquette (expression régulière) se trouve dans la première colonne : label-pattern
      • pour chaque point dont l’étiquette correspond au patron, les codes de stylage des colonnes suivantes sont appliqués
    • b) les codes de stylage se trouvent dans les colonnes suivantes : label-replacement, label-font-family, label-style, label-size, label-color, shape-replacement, shape-size, shape-color, hidden
      • si une cellule de colonne de stylage est vide, le style correspondant n'est pas appliqué
  • les codes de stylage prennent les valeurs suivantes :
    • colonne label-replacement
      • une chaine de caractères pour remplacer l'étiquette courante
        • [SLH, 23/07], avec reprise des parenthésages de regex ? ()..() → $1 et $2
    • label-font-family
      • un nom de famille de police existant sur la machine 1)
    • label-style
      • un code du style de police
      • les codes possibles sont : 1 = gras, 2 = italique, 3 = gras + italique, et normal = ?
    • label-size
      • un nombre décimal facteur d'agrandissement par rapport à la taille par défaut de la police, exemple :
        • 2,0 → double de la taille par défaut
        • 0,5 → moitié de la taille par défaut
        • etc.
    • label-color
      • un code de la couleur de l'étiquette
      • le code couleur est de la forme “R G B” ou “R G B A”
        • codes R, G et B : entiers compris entre 0 et 255 codant la valeur de chaque canal couleur, R = rouge, G = vert et B = bleu
        • code A : entier compris entre 0 et 255 codant la transparence de l'étiquette (canal alpha)
      • exemples :
        • couleur bleue : 0 0 255
        • couleur bleue à moitié transparente : 0 0 255 128
      • voir la page https://groupes.renater.fr/wiki/txm-info/public/specs_graphics_colors#etat_de_la_plateforme pour utiliser les couleurs de la palette de TXM
    • shape-replacement
      • un code de la forme du point pour remplacer la forme courante
      • les codes possibles sont : diamond, square, disk, triangle, star ?, circle ?
    • shape-size
      • un nombre décimal facteur d'agrandissement par rapport à la taille par défaut de la forme du point, exemple :
        • 2,0 → double de la taille par défaut
        • 0,5 → moitié de la taille par défaut
        • etc.
    • shape-color
      • un code de la couleur de la forme de point
      • voir les codes couleurs de la colonne de stylage 'label-color'
    • hidden :
      • la chaine t ou T (pour 'true') pour cacher l'étiquette (le rendre invisible)
      • toute autre valeur, y compris aucune, maintient l'étiquette visible

Exemple de tableau de stylage du premier plan de l'AFC de la partition VOEUX/text@loc/@word : CAStyle-sample-parameters.ods (téléchargement depuis le Sharedocs d'Huma-Num)

Description :

  • les styles sont construits à partir d'une copie des tableaux de données des point-colonnes et des point-lignes
  • ils s'appliquent aux étiquettes et aux formes de points des point-colonnes et des point-lignes
  • les point-colonnes et les point-lignes sont stylés de la façon suivante :
    • la taille des étiquettes est proportionnelle à la contribution à l'axe 1 (cont1), les tailles vont de 1 à 10 (1 est la taille de base)
    • la transparence des étiquettes est proportionnelle à la qualité de représentation sur le plan 1-2 (q12), les transparences vont de 80 (peu visible) à 255 (opaque)
    • la taille des formes de points est proportionnelle à la masse (masse), les tailles vont de 1 à 10
    • les étiquettes de 'mitterrand' et de 'hollande' sont de couleur 'rose', les autres sont en 'bleu'
    • les point-lignes dont l'étiquette ne fait qu'un seul caractère (ponctuation) sont cachés
    • les tailles et transparences sont calculés à l'aide de formules utilisant deux macros Calc LinearMin et IntLinearMin inclues dans le document .ods
      • elles prennent en entrée quatre arguments :
        • x : la valeur à projeter
        • max_output : la valeur maximale de x
        • min_output : la valeur la plus petite de la projection
        • max_output : la valeur la plus grande de la projection
      • elles font le même calcul sauf que la seconde transforme le résultat en entier
      • voici leur code :
        Function LinearMin(x, max_input, min_output, max_output)
         
        	y = x*(max_output-min_output)/max_input+min_output
         
            If y < 1 Then
                 LinearMin = min_output
            Else
                 LinearMin = y
            End If
        End Function
         
        Function IntLinearMin(x, max_input, min_output, max_output)
         
        	y = x*(max_output-min_output)/max_input+min_output
         
            If y < 1 Then
                 IntLinearMin = INT(min_output)
            Else
                 IntLinearMin = INT(y)
            End If
        End Function

TXM 0.8.0 et la macro AFCWithStyles

DOWNLOAD MACRO

Chemin :

 davs://sharedocs.huma-num.fr/dav.php/@Shares/(948)%20Cactus%20Data/(3789)%20Cactus/Projets/Textométrie/TXM/scripts-et-macros/AFCWithStylesMacro.groovy 

La macro modifie les styles d'affichage du chart JFreeChart de l'AFC.

La macro se lance avec le raccourcis F12 lorsque l'éditeur de l'AFC est ouvert. (le raccourcis F12 ne fonctionne pas si le focus est sur le graphique, il faut alors sélectionner une ligne du tableau de données)

Paramètres :

  • patternODSFile : chemin du fichier ODS contenant les stylages à appliquer
  • debug : affiche plus de détails d’exécution dans la console

Format du fichier ODS de stylage :

  • le fichier doit contenir 2 feuilles nommées “cols” et “rows”
    • “cols” contient le tableau de stylage des points colonnes
    • “rows” contient le tableau de stylage des points lignes
  • les tableaux commencent dans la 1ere cellule des feuilles
  • les colonnes des tableaux sont :
    • pattern : expression régulière de sélection des points à styler
      • les patterns sont testés dans l'ordre des lignes du tableau
      • un point peut être stylisé plusieurs fois
    • label : nouveau label du point à appliquer
      • pas de remplacement si la cellule est vide
    • hidden : active le masquage du point si contient “t” ou “T”
    • font-familly : police différente
    • font-size : taille de la police

exemple de fichier ODS :

pattern	label	hidden	font-familly	font-size
h.+		t		
p.+	REPLACED		Arial	20

État de l'art

Il y a beaucoup de littérature, il y a beaucoup d'implémentations : Fortran, C/C++, Java, R, Javascript…

Aspects généraux de l'interaction graphique dont on peut s'inspirer

Interaction visualisation graphique FactoMineR

Sélection, filtrage des points

L'équipe de FactoMineR propose plusieurs voies :

  • Une interface WEB (local) à FactoMineR : “FactoShiny” (basé sur le package R shiny)qui brasse ce qu'on peut faire en options d'affichage et calcul : https://www.youtube.com/watch?v=4T9tDX4aVS4
  • Depuis FactoMineR, une sélection au lieu d'un filtrage avec le paramètre “select” de leur fonction d'affichage “plot.ca”. Par exemple :

select=“cos2 0.6” pour sélectionner les cos2 > 0.6 pour les lignes et colonnes pour différencier le comportements ont peut utiliser les paramètres “selectCol” et “selectRow”. Petite vidéo qui en parle au temps “12:13” : https://www.youtube.com/watch?v=8Iv77jnprGg

État de la plateforme

0.7.9

Actuellement l'essentiel de la fonctionnalité est délégué aux méthodes du package FactomineR qui est une implémentation open-source de référence dans la lignée des travaux d'une doctorante de J-P Benzécri.

Certains résultats sont calculés en référence à Volle et L&S.

  • c'est le cas du calcul de DIST²

Calcul de DIST²

Le calcul actuel est celui de L&S. [SJ: pour être plus précis, le calcul ne se fait que sur les 5 premiers facteurs. ex. c1^2 + c2^2 + … + c5^2]

Affichage de DIST²

Du coup son affichage doit être 'DIST²'.

1)
la macro ListFonts liste des différentes polices installées sur la machine
public/specs_afc.1627309320.txt.gz · Dernière modification: 2021/07/26 16:22 par slh@ens-lyon.fr