longitudinal-analysis
Une skill autonome qui exécute une analyse reproductible en plusieurs étapes sur des données longitudinales / panel. Chaque étape est activée et auditée indépendamment ; R (lme4 / lavaan) est utilisé pour les calculs statistiques lourds, tandis que le côté Python orchestre et dégrade gracieusement en l'absence de R.
WORKFLOW OBLIGATOIRE
Bootstrap des dépendances (exécuté lors de la première utilisation)
Avant la première exécution, vérifiez les dépendances d'exécution de cette skill :
- Requis (Python) :
pandas,PyYAML. - Optionnel (Python) :
statsmodels,scipy(étape de test de manipulation). - Requis (externe) :
R >= 4.0aveclme4,lavaan,emmeans,jsonlitedans le PATH — nécessaire pour les étapeslmm,mediationetsensitivity.
Comportement :
- Dépendances Python manquantes -> informer l'utilisateur des absences et demander si
python -m pip install pandas pyyaml(ajouterstatsmodels scipypour le test de manipulation). Installer uniquement après confirmation ; privilégier un environnement virtuel local au projet. - R ou packages R manquants -> ne pas tenter d'installer R. Lister les packages R exacts manquants, ignorer les étapes nécessitant R, enregistrer la raison dans le journal d'audit, et délivrer les étapes Python uniquement.
- Charger la configuration YAML (
config/examples/behavior_2x2x2.yamlcomme référence). - Vérifier que
data.inputexiste et queid_column/time_columnsont présents. python -m src.cli run --config <chemin> [--step <nom>].- Rapporter le statut de chaque étape ; les étapes ignorées sont dues à l'absence de R - lister les packages manquants et s'arrêter (ne pas tenter d'installation).
- Diriger l'utilisateur vers
results/tables/*.csvetresults/logs/analysis_log.jsonl.
Quand l'utiliser
- L'utilisateur dispose de données panel / mesures répétées (une ou plusieurs sessions par sujet, avec conditions inter-sujets) et souhaite une analyse reproductible plutôt qu'un calcul ponctuel.
- La requête nomme une technique : "LMM", "modèle mixte", "mesures répétées", "analyse longitudinale", "médiation dans le temps", "médiateur décalé" ou "analyse de sensibilité de la structure des effets aléatoires".
- Des statistiques descriptives, un test de manipulation ou une analyse de sensibilité sur les structures d'effets aléatoires / covariance doivent être produits avec une piste d'audit.
Exemples d'utilisation
# Valider une configuration et lister les étapes activées.
python -m src.cli validate --config config/examples/behavior_2x2x2.yaml
python -m src.cli list-steps --config config/examples/behavior_2x2x2.yaml
# Exécuter le pipeline complet, ou une seule étape nommée.
python -m src.cli run --config config/examples/behavior_2x2x2.yaml
python -m src.cli run --config config/examples/behavior_2x2x2.yaml --step lmm
# Exporter les tables générées (csv ou docx).
python -m src.cli export --config config/examples/behavior_2x2x2.yaml --format csv
Les résultats se trouvent dans results/tables/*.csv ; la piste d'audit par étape est results/logs/analysis_log.jsonl.
Gestion des erreurs
- Une étape signale
ignorée- R ou un package R est manquant. Lister les packages manquants et s'arrêter ; ne pas tenter d'installation et ne pas substituer un calcul fait maison. - Configuration invalide (
validatesort avec un code non nul) - corriger le champ signalé (généralementdata.input,id_columnoutime_column) et revalider. - Une étape échoue en cours de pipeline - les sorties des étapes précédentes sont conservées et auditées ; rapporter l'étape en échec textuellement et s'arrêter, ne pas réexécuter aveuglément.
- Code de sortie inattendu - rapporter le message textuellement.
Étapes du pipeline
| Type | Module | Dépendance R |
|---|---|---|
descriptive | src/steps/descriptive.py | aucun |
anova (test de manipulation) | src/steps/manipulation.py | aucun (statsmodels) |
lmm | src/steps/lmm.py | R/lmm.R (lme4 + emmeans) |
mediation (décalée) | src/steps/mediation.py | R/mediation.R (lavaan) |
sensitivity | src/steps/sensitivity.py | R/lmm.R |
Limitations
- Les packages R (
lme4,lavaan,emmeans,jsonlite) doivent être installés localement ; le pipeline ignore les étapes nécessitant R lorsqueRscriptn'est pas dans le PATH et enregistre la raison dans l'audit. - Le bootstrap de médiation est un choix de l'utilisateur (par défaut 5000) ; le temps d'exécution augmente avec la taille de l'échantillon.