How adibuzz/multi_var_imputation works
This repository is a MIMIC clinical-time-series research pipeline: it prepares patient measurements, trains a GRU-ODE model with Bayesian observation updates, and supports evaluation and visualization. The principal workflow runs from MIMIC tables through preprocessing and dataset batching into model training and logged metrics. The graph also preserves documented model capabilities and fold generation. Some subsystem links come from the README because their implementation was not sampled; those links are identified by README evidence.
Main entry points: train_mimic.py Training loop · data_utils.py Time-series dataset · create_patient_parquets.py Patient preprocessing · plot_MIMIC.py Evaluation plotting
Components 16
Data preparation
- Patient preprocessing
create_patient_parquets.py - Patient Parquet
- Fold generation
generate_folds.py - Time-series dataset
data_utils.py - Batch collation
data_utils.py
Model and training
- Covariate encoder
models.py - GRU-ODE dynamics
models.py - Bayesian updates
models.py - Classification head
models.py - Training loop
train_mimic.py - Metric logging
logger.py
Evaluation and visualization
- Model evaluation
test_mimic.py - Evaluation plotting
plot_MIMIC.py - Patient plotting
plot_patient_ehr.py - MIMIC plotting
plot_MIMIC.py
Other components
- MIMIC tables
Connections 19
- MIMIC tables → Patient preprocessing: provides tables
README.md - Patient preprocessing → Patient Parquet: writes partitions
create_patient_parquets.py - Patient preprocessing → Time-series dataset: prepares training data
README.md - Time-series dataset → Fold generation: provides patient IDs
README.md - Fold generation → Training loop: supplies splits
README.md - Training loop → Time-series dataset: loads batches
train_mimic.py - Time-series dataset → Batch collation: collates samples
train_mimic.py - Training loop → Batch collation: uses collator
train_mimic.py - Training loop → Covariate encoder: initializes state
README.md - Covariate encoder → GRU-ODE dynamics: seeds dynamics
README.md - GRU-ODE dynamics → Bayesian updates: propagates between observations
README.md - Bayesian updates → Classification head: updates latent state
README.md - Training loop → Classification head: computes classification loss
train_mimic.py - Training loop → Metric logging: writes metrics
train_mimic.py - Training loop → Model evaluation: computes validation metrics
README.md - Evaluation plotting → Model evaluation: calls evaluation
plot_MIMIC.py - Evaluation plotting → Time-series dataset: loads test data
plot_MIMIC.py - Patient plotting → Patient Parquet: reads patient data
plot_patient_ehr.py - MIMIC plotting → Time-series dataset: uses data utilities
plot_MIMIC.py