longitudinal-analysis
Ein eigenständiger Skill, der eine reproduzierbare mehrschrittige Analyse von Längsschnitt- / Paneldaten durchführt. Jeder Schritt ist unabhängig aktivierbar und geprüft; R (lme4 / lavaan) wird für die statistischen Berechnungen verwendet, während die Python-Seite orchestriert und bei Abwesenheit von R degradiert.
VERPFLICHTENDER WORKFLOW
Abhängigkeits-Bootstrap (wird bei erster Verwendung ausgeführt)
Vor der ersten Ausführung die Laufzeitabhängigkeiten für diesen Skill prüfen:
- Erforderlich (Python):
pandas,PyYAML. - Optional (Python):
statsmodels,scipy(für den Manipulations-Check-Schritt). - Erforderlich (extern):
R >= 4.0mitlme4,lavaan,emmeans,jsonliteim PATH – benötigt für die Schrittelmm,mediationundsensitivity.
Verhalten:
- Fehlende Python-Abhängigkeiten -> dem Benutzer mitteilen, welche fehlen, und fragen,
ob
python -m pip install pandas pyyamlausgeführt werden soll (für den Manipulations-Checkstatsmodels scipyhinzufügen). Nur nach Bestätigung installieren; ein projektlokales venv bevorzugen. - Fehlende R- oder R-Pakete -> nicht versuchen, R zu installieren. Die genau fehlenden R-Pakete auflisten, die R-gestützten Schritte überspringen, den Grund im Audit-Log vermerken und die Schritte liefern, die mit Python allein ausgeführt werden.
- Die YAML-Konfiguration laden (
config/examples/behavior_2x2x2.yamlals Referenz). - Sicherstellen, dass
data.inputexistiert und die Spaltenid_column/time_columnvorhanden sind. python -m src.cli run --config <path> [--step <name>]ausführen.- Den Status pro Schritt melden; übersprungene R-Schritte bedeuten, dass R nicht installiert ist – die fehlenden Pakete auflisten und anhalten (keine Installation versuchen).
- Den Benutzer auf
results/tables/*.csvundresults/logs/analysis_log.jsonlhinweisen.
Wann verwenden
- Der Benutzer hat Panel- / Wiederholungsmessdaten (eine oder mehrere Sitzungen pro Proband, mit Bedingungen zwischen den Probanden) und möchte eine reproduzierbare Analyse, keine einmalige Berechnung.
- Die Anfrage nennt eine Technik: "LMM", "gemischtes Modell", "Wiederholungsmessungen", "Längsschnittanalyse", "Mediation über Zeit", "zeitverzögerter Mediator" oder "Sensitivitätsanalyse der RE-Struktur".
- Deskriptive Statistiken, ein Manipulations-Check oder eine Sensitivitätsanalyse über Zufallseffekte / Kovarianzstrukturen müssen mit einem Prüfpfad erstellt werden.
Verwendungsbeispiele
# Eine Konfiguration validieren und die aktivierten Schritte auflisten.
python -m src.cli validate --config config/examples/behavior_2x2x2.yaml
python -m src.cli list-steps --config config/examples/behavior_2x2x2.yaml
# Die gesamte Pipeline oder einen einzelnen benannten Schritt ausführen.
python -m src.cli run --config config/examples/behavior_2x2x2.yaml
python -m src.cli run --config config/examples/behavior_2x2x2.yaml --step lmm
# Die generierten Tabellen exportieren (csv oder docx).
python -m src.cli export --config config/examples/behavior_2x2x2.yaml --format csv
Die Ergebnisse landen in results/tables/*.csv; der Prüfpfad pro Schritt ist
results/logs/analysis_log.jsonl.
Fehlerbehandlung
- Ein Schritt meldet
skipped– R oder ein R-Paket fehlt. Die fehlenden Pakete auflisten und anhalten; keine Installation versuchen und keine eigene Berechnung einsetzen. - Konfiguration ungültig (
validateendet mit Fehler) – das gemeldete Feld korrigieren (normalerweisedata.input,id_columnodertime_column) und erneut validieren. - Ein Schritt verursacht in der Pipeline einen Fehler – die Ausgaben vorheriger Schritte werden beibehalten und geprüft; den fehlerhaften Schritt wörtlich melden und anhalten, nicht blind erneut ausführen.
- Unerwarteter Exit-Code – die Meldung wörtlich melden.
Pipeline-Schritte
| Typ | Modul | R-Abhängigkeit |
|---|---|---|
descriptive | src/steps/descriptive.py | keine |
anova (Manipulations-Check) | src/steps/manipulation.py | keine (statsmodels) |
lmm | src/steps/lmm.py | R/lmm.R (lme4 + emmeans) |
mediation (zeitverzögert) | src/steps/mediation.py | R/mediation.R (lavaan) |
sensitivity | src/steps/sensitivity.py | R/lmm.R |
Einschränkungen
- R-Pakete (
lme4,lavaan,emmeans,jsonlite) müssen lokal installiert sein; die Pipeline überspringt R-gestützte Schritte, wennRscriptnicht im PATH ist, und protokolliert den Grund im Audit. - Der Mediations-Bootstrap ist eine Benutzerwahl (Standard 5000); die Rechenzeit skaliert mit der Stichprobengröße.