Spaces:
Sleeping
Sleeping
| [//]: # (Rôle du fichier: helpafc.md documente une partie de l'application Rainette.) | |
| [//]: # (Ce document sert de référence fonctionnelle/technique pour l'équipe.) | |
| [//]: # (Il décrit le comportement attendu afin de sécuriser maintenance et diagnostics.) | |
| ## Aide AFC : calcul, affichage des termes, rôle de `top_termes`, calcul du `residu de Pearson` | |
| ### 1) Comment l’AFC est calculée dans le script | |
| L’AFC classes × termes est calculée en 3 étapes : | |
| 1. Construction de la table de contingence **Classes × Termes** depuis le DFM. | |
| 2. Exécution de l’AFC avec `FactoMineR::CA(tab, graph = FALSE)`. | |
| 3. Récupération des coordonnées des classes (`rowcoord`) et des termes (`colcoord`) pour le tracé. | |
| ### 2) Qu’est-ce que `top_termes` ? | |
| `top_termes` est **une limite d’affichage graphique** des mots sur le plan AFC. Par défaut : `top_termes = 120` | |
| ### 3) Sur quoi `top_termes` filtre ? | |
| Le filtrage est fait dans la fonction de tracé des termes : | |
| 1. on part de `termes_stats`, | |
| 2. on enlève les termes vides, | |
| 3. on trie par `frequency` décroissante, | |
| 4. on garde les `top_termes` premiers. | |
| Pourquoi top_termes est en fréquence et pas en p-value ? | |
| Parce que top_termes est une contrainte de lisibilité graphique. | |
| Le rôle de top_termes est de limiter le nombre de labels affichés dans `tracer_afc_classes_termes`, sinon le plot devient illisible (chevauchements). | |
| Le code trie les termes par `frequency` qui détermine ensuite le `top_termes`. | |
| En amont, dans le pipeline serveur, on construit termes_signif avec `p <= input$max_p`, puis on passe ces termes à `executer_afc_classes`, `termes_cibles` = termes_significatifs). **Donc la p-value réduit le périmètre des termes de l'AFC**. | |
| ### 4) Le CSV contient-il seulement `top_termes` ? | |
| Le CSV `stats_termes.csv` exporte la table `rv$afc_obj$termes_stats` (jeu complet de stats AFC disponible), sans appliquer la réduction `top_termes`. | |
| ### 5) Note sur l'afc chi2/résidu de Pearson | |
| - Les **positions AFC** viennent de `FactoMineR::CA`. | |
| - Les **résidus/chi2** sont des statistiques d’association utilisés pour l’interprétation. | |
| ### 6) Comment le résidu de Pearson est calculé | |
| Pour chaque mot et chaque classe : | |
| - On regarde combien de fois le mot apparaît réellement dans cette classe. | |
| - On calcule ensuite combien on aurait “normalement” attendu pour ce mot dans cette classe, si la répartition était neutre. | |
| - On compare les deux : réel vs attendu, et transforme cet écart en une valeur (le résidu). | |
| Le résidu ne sert pas à recalculer l’AFC. | |
| - Le code extrait, pour chaque mot, la classe où la surreprésentation est la plus forte et sa valeur (`resid_max`). | |
| - `Classe_max` = la classe où le mot apparaît le plus en quantité brute (le plus d’occurrences observées). | |
| - `resid_max` = la valeur qui mesure à quel point ce mot est plus (ou moins) présent que prévu dans la classe (sur/sous-représentation) | |
| ### 7) Résidu positif / résidu négatif | |
| - Résidu positif => le mot est plus présent que prévu dans cette classe (**surreprésenté**). | |
| - Résidu négatif => le mot est moins présent que prévu dans cette classe (**sous-représenté**). | |
| - Résidu proche de 0 => présence “normale”, pas d’écart fort. | |