How agriby-chaniago/temporal-attribution-audit works
This repository is a research pipeline auditing temporal attribution in Parkinsonian handwriting classifiers. Its central workflow loads UCI 395 or NewHandPD recordings, engineers model and held-out channels, trains interchangeable sequence encoders, and compares attention maps with WindowSHAP attributions and independent motor markers. Notebook-building scripts run scenario analyses and save results for visualization and later analysis. The README also documents architecture, cohort, seed, and patch-resolution perturbations. Connections involving unsampled analysis modules are included only where the README or SOURCE INDEX supports them; the index does not expose dynamic wiring.
Main entry points: preprocessing.py Signal preparation · build_nb_08.py Attention fidelity · analisis_p4_geser_tugas.py Perturbation analysis · build_nb_04.py Positive control
Components 19
Cohort preparation
- Signal preparation
src/preprocessing.py - NewHandPD loader
src/newhandpd.py - Fold normalization
src/preprocessing.py
Model pipeline
- Sequence encoders
src/model.py - Training and prediction
src/training.py
Attribution audit
- Synthetic tremor control
src/injection.py - WindowSHAP attribution
src/windowshap.py - Motor markers
src/marker.py - Localization metrics
src/metrics.py
Study scenarios
- Positive control
scripts/build_nb_04.py - Attention fidelity
scripts/build_nb_08.py - Seed ensembles
scripts/analisis_p0_ensemble_peta.py - Perturbation analysis
scripts/analisis_p4_geser_tugas.py
Results and figures
- Result artifacts
src/artefak.py - Visualization
src/viz.py - Paper figures
scripts/build_figur_paper.py
Other components
- UCI 395
- NewHandPD
- Researcher
Connections 28
- UCI 395 → Signal preparation: loads signals
README.md - NewHandPD → NewHandPD loader: loads signals
README.md - NewHandPD loader → Signal preparation: creates recordings
src/newhandpd.py - Signal preparation → Fold normalization: provides recordings
src/preprocessing.py - Fold normalization → Training and prediction: normalizes batches
src/training.py - Sequence encoders → Training and prediction: trains and predicts
- Researcher → Positive control: runs scenario
README.md - Positive control → Signal preparation: loads cohort
scripts/build_nb_04.py - Positive control → Synthetic tremor control: injects tremor
scripts/build_nb_04.py - Positive control → Training and prediction: fits classifier
scripts/build_nb_04.py - Positive control → Localization metrics: evaluates localization
- Researcher → Attention fidelity: runs scenario
README.md - Attention fidelity → Signal preparation: loads cohort
scripts/build_nb_08.py - Attention fidelity → Sequence encoders: constructs encoder
scripts/build_nb_08.py - Attention fidelity → Training and prediction: trains and predicts
scripts/build_nb_08.py - Attention fidelity → WindowSHAP attribution: computes attribution
scripts/build_nb_08.py - Attention fidelity → Motor markers: compares markers
- Attention fidelity → Result artifacts: saves results
scripts/build_nb_08.py - Seed ensembles → Motor markers: uses marker measures
scripts/analisis_p0_ensemble_peta.py - Seed ensembles → Signal preparation: uses cohort data
scripts/analisis_p0_ensemble_peta.py - Perturbation analysis → Signal preparation: loads recordings
scripts/analisis_p4_geser_tugas.py - Perturbation analysis → Sequence encoders: compares encoders
scripts/analisis_p4_geser_tugas.py - Perturbation analysis → Training and prediction: trains models
scripts/analisis_p4_geser_tugas.py - Perturbation analysis → NewHandPD loader: uses second cohort
scripts/analisis_p4_geser_tugas.py - Perturbation analysis → Result artifacts: uses saved results
scripts/analisis_p4_geser_tugas.py - Result artifacts → Visualization: supplies plots
- Signal preparation → Paper figures: supplies data
scripts/build_figur_paper.py - Visualization → Paper figures: renders figures
scripts/build_figur_paper.py