SCDM: Scalable Causal Discovery in Nonlinear Temporal Systems with Meta-Learning
Organizations: University of Tennessee at Chattanooga
Abstract
Causal discovery from nonlinear multivariate time series is challenging in high-dimensional systems, where the number of candidate directed relations grows quadratically with the number of variables. Existing methods are often limited by target-wise model fitting, repeated conditional testing, or expensive graph-search procedures. We propose SCDM, a shared-parameter meta-learning framework for scalable temporal causal discovery. SCDM treats each target variable as a task while learning a shared temporal predictor and a shared causal-strength matrix across tasks. Each meta-episode updates only a subset of target-variable tasks, allowing the model to accumulate structural evidence across the full system without exhaustive target-wise optimization. After training, a post-training graph readout converts the learned predictor into continuous directed causal scores for threshold-independent evaluation. We also provide a finite-error recovery principle showing that, under fully observed delayed-system assumptions and a positive risk-gap condition, thresholding SCDM scores recovers the graph when statistical, meta-optimization, and readout errors are below the population margin. Experiments on controlled synthetic, neuroimaging-inspired, high-dimensional, and real-world temporal benchmarks demonstrate competitive causal recovery and improved scalability in large temporal systems.
Figures & tables
| Method | NC8 | Simulated EEG | Simulated fMRI | |||
| AUROC | AUPRC | AUROC | AUPRC | AUROC | AUPRC | |
| UnCLe | 0.947 0.014 | 0.756 0.080 | 0.571 0.008 | 0.155 0.008 | 0.661 0.012 | 0.268 0.006 |
| PCMCI | 0.909 0.003 | 0.594 0.022 | 0.743 0.012 | 0.390 0.018 | 0.569 0.012 | 0.160 0.010 |
| TCDF | 0.740 0.019 | 0.415 0.020 | 0.685 0.005 | 0.224 0.007 | 0.585 0.019 | 0.178 0.020 |
| GVAR | 0.750 0.013 | 0.413 0.041 | 0.750 0.004 | 0.344 0.019 | 0.619 0.017 | 0.219 0.019 |
| CUTS+ | 0.795 0.025 | 0.354 0.035 | 0.589 0.013 | 0.160 0.007 | 0.532 0.009 | 0.141 0.009 |
| Method | 200 s | 400 s | 600 s | 800 s |
| UnCLe (lag 1) | 0.573 / 2.05 | 0.556 / 1.85 | 0.556 / 1.85 | 0.541 / 1.53 |
| CUTS+ ( ) | 0.571 / 1.31 | 0.563 / 1.27 | 0.577 / 1.33 | 0.586 / 1.36 |
| SCDM | 0.566 / 1.96 | 0.566 / 1.96 | 0.605 / 2.47 | 0.645 / 4.01 |
| Method | Outcome | Time to outcome (s) | Peak GPU (GB) |
| SCDM | Completed | 6.9 | |
| UnCLe | Out of memory | 15.6 | |
| CUTS+ | Time limit | 72.7 | |
| JRNGC | Time limit | 14.3 | |
| cMLP | Time limit | 38.1 |
| Task batch | AUROC | AUPRC | F1 | SHD | Train (s) | Speedup |
| 10 | ||||||
| 32 | ||||||
| 64 | ||||||
| 100 |
Appendix figures & tables32 assets
Supplementary material from the paper’s appendix.
Appendix
| Symbol | Definition |
| Number of time points | |
| Number of observed variables, which is also the number of target tasks | |
| Observed-history order: the input at time is | |
| Lag index, | |
| Pointwise prediction loss (squared error in all experiments) | |
| Shared temporal predictor parameters |
| Method | Temporal setting | NC8 | Sim. EEG | Sim. fMRI | How chosen |
| SCDM | observed-history order | 16 | 5 | 3 | True maximum lag |
| UnCLe | latent AR lag / kernel | 1 / 8 | 3 / 5 | 3 / 5 | NC8: UnCLe benchmark configuration; others: cover the true lag |
| cMLP | observed lag order | 16 | 3 | 3 | NC8: UnCLe benchmark configuration; others: lag 3 |
| GVAR | observed lag order | 16 | 3 | 3 | As for cMLP |
| TCDF | kernel / dilation / max delay | 16 / – / – | 4 / 4 / 5 | 4 / 4 / 5 | Receptive field covers the true lag |
| PCMCI | maximum lag | 16 | 5 | 3 | True maximum lag |
| Dataset | Split | |||||||
| NC8 | 8 | 16 | 8 | 64 | 64 | 0.05 | 1,000 | 70/15/15 |
| Simulated fMRI | 100 | 3 | 32 | 64 | 64 | 0.05 | 5,000 | 70/15/15 |
| Simulated EEG | 100 | 5 | 32 | 64 | 64 | 0.05 | 3,000 | 70/15/15 |
| Voxel-level fMRI | 1,000 | 3 | 32 | 32 | 32 | 0.03 | 500 | 70/15/15 |
| LargeST-GLA-1500 | 1,500 | 3 | 64 | 64 | 64 | 200 | 60/20/20 | |
| LargeST-GLA-3000 | 3,000 | 3 | 64 | 64 | 64 | 1,000 | 60/20/20 |
| Dataset | GT graph | Primary role | ||
| NC8 | 8 | 0 | Yes | Controlled causal recovery |
| Masked NC8 | 6 | 2 | Yes | Controlled latent diagnostic |
| Simulated fMRI | 100 | 0 | Yes | Neuroimaging causal recovery |
| Latent-view simulated fMRI | 96 | 4 | Yes | Latent-view observed-block recovery |
| Simulated EEG | 100 | 0 | Yes | Source-space causal recovery |
| Latent-view simulated EEG | 96 | 4 | Yes | Latent-view observed-block recovery |
| Dataset group | Split protocol |
| NC8 and masked NC8 | Training, validation, and test sequences or replicas are separated before model selection and final reporting. |
| Simulated fMRI / EEG and latent-view variants | 200/50/50 train/validation/test samples are used for controlled recovery experiments. |
| Voxel-level fMRI | Train, validation, and test intervals are separated; ground-truth graph evaluation is performed on held-out test scores. |
| LargeST-GLA | Chronological train/validation/test intervals are used to avoid future-to-past leakage. |
| Dataset group | Causal recovery metrics | Auxiliary use |
| NC8, simulated fMRI, simulated EEG | AUROC, AUPRC, F1, SHD against known directed graphs | Runtime and controlled ablations |
| Masked NC8 and latent-view neuroimaging benchmarks | Block-level recovery diagnostics under controlled masking | Latent-extension analysis |
| Voxel-level fMRI | AUROC/AUPRC against known high-dimensional synthetic graph | Runtime–performance tradeoff and scalability analysis |
| LargeST-GLA | No causal AUROC/AUPRC because complete directed ground truth is unavailable | Real-world scalability, forecasting, and qualitative graph visualization |
| Graph prior | MAE | RMSE | MAE vs. Self-only |
| Self-only AR | 20.60 | 32.35 | — |
| Random | 19.77 0.06 | 31.11 0.16 | +0.83 |
| Distance-kNN | 20.37 | 31.98 | +0.23 |
| Road-network | 20.68 | 32.91 | 0.08 |
| UnCLe | 19.90 | 31.38 | +0.70 |
| Permuted SCDM | 19.92 0.33 | 31.44 0.77 | +0.68 |
| Dataset | Readout | AUROC | AUPRC |
| Simulated fMRI | Learned score | ||
| Simulated fMRI | Source-isolated perturbation readout | ||
| Simulated EEG | Learned score | ||
| Simulated EEG | Source-isolated perturbation readout |
| Driver | Mean | Condition number | AUPRC | Reversals |
| 0.0 | 0.037 | 8.45 | 0.741 | 0/5 |
| 0.2 | 0.252 | 9.91 | 0.960 | 0/5 |
| 0.4 | 0.572 | 12.76 | 0.955 | 1/5 |
| 0.6 | 0.750 | 17.09 | 0.947 | 1/5 |
| 0.8 | 0.841 | 21.81 | 0.965 | 1/5 |
| 1.0 | 0.892 | 26.69 | 0.915 | 2/5 |
| Variant | Task subsample | Shared | AUROC | AUPRC | F1 | SHD |
| Full SCDM | ✓ | ✓ | ||||
| w/o task subsampling | – | ✓ | ||||
| w/o shared (MLP-only) | ✓ | – |
| Training variant | Inner steps in training | Post-adaptation query MSE |
| Joint MTL (sampled targets) | – | 4.305 |
| Episodic, no inner adaptation | 5.487 | |
| Full SCDM | 3.782 |
| Aggregate and latent-to-observed recovery using structural scores | ||||
| Evaluation target | AUROC | AUPRC | F1 | SHD |
| Full augmented graph | ||||
| Latent observed (ZX) | ||||
| Observed-block score diagnostic | ||||
| Evaluation target | Score readout | AUROC | ||
| Observed observed (XX) | Structural score | |||
| Method | Simulated EEG | Simulated fMRI | ||
| XX AUROC | XX AUPRC | XX AUROC | XX AUPRC | |
| UnCLe | 0.566 0.005 | 0.146 0.002 | 0.626 0.033 | 0.228 0.033 |
| PCMCI | 0.745 0.011 | 0.388 0.019 | 0.566 0.015 | 0.156 0.012 |
| TCDF | 0.681 0.006 | 0.213 0.012 | 0.590 0.009 | 0.179 0.011 |
| GVAR | 0.747 0.003 | 0.339 0.016 | 0.619 0.014 | 0.214 0.014 |
| CUTS+ | 0.589 0.001 | 0.154 0.000 | 0.527 0.012 | 0.137 0.006 |
| Statistic | NC8 | Masked NC8 |
| Total variables in full system | 8 | 8 |
| Observed variables provided to learner | 8 | 6 |
| Withheld / latent variables | 0 | 2 |
| Time points | 2000 | 2000 |
| Ground-truth graph available | Yes | Yes |
| Maximum lag | 16 | 16 |
| Component | Setting |
| Parcellation | Schaefer-100 cortical atlas |
| Number of ROIs | 100 |
| Coordinate space | MNI152 |
| Functional labels | Yeo-7 canonical networks |
| Hemisphere labels | Left/right hemisphere labels retained |
| ROI metadata | ROI name, hemisphere, Yeo network, and MNI centroid |
| Component | Implementation |
| Node definition | Cortical ROIs from the Schaefer-100 atlas |
| Topology type | Sparse directed lagged effective-connectivity graph |
| Structural prior | Distance-, hemisphere-, and network-informed edge sampling |
| Spatial constraint | Nearby ROIs have higher prior probability while long-range edges are retained |
| Network constraint | Within-network and selected cross-network interactions are allowed |
| Hemisphere constraint | Both intra-hemispheric and inter-hemispheric edges are retained |
| Parameter | Value |
| Dynamics type | Stable nonlinear lagged ROI dynamics |
| Self autoregression | 0.50 |
| Coupling scale | 0.25 before stability rescaling |
| Spectral-radius target | 0.87 |
| Process noise standard deviation | 0.045 |
| Slow drive standard deviation | 0.015 |
| Parameter | Value |
| Observation type | BOLD-like ROI time series |
| TR | 2.0 s |
| HRF type | Double-gamma |
| HRF peak delay | Uniform(4.5, 6.5) s |
| HRF undershoot delay | Uniform(12.0, 18.0) s |
| HRF undershoot scale | Uniform(0.15, 0.30) |
| Statistic | Full-view | Latent-view |
| Total variables in full system | 100 | 100 |
| Observed variables provided to learner | 100 | 96 |
| Withheld / latent variables | 0 | 4 |
| Time points per sample | 1000 | 1000 |
| TR | 2.0 s | 2.0 s |
| Ground-truth graph available | Yes | Yes |
| Method | AUROC / AUPRC | Interpretation |
| Random baseline | 0.500 / 0.123 | Expected from graph density |
| Lagged correlation max-lag | 0.673 / 0.285 | Simple temporal baseline has signal but remains limited |
| Ridge-VAR | 0.526 / 0.133 | Linear VAR remains near random |
| Ours, 5000 steps | 0.823 / 0.669 | Strong improvement over simple baselines |
| Component | Setting |
| Parcellation | Schaefer-100 cortical atlas |
| Number of source ROIs | 100 |
| Functional labels | Yeo-7 canonical networks |
| Hemisphere labels | Left/right hemisphere labels retained |
| ROI metadata | ROI name, hemisphere, Yeo network, and atlas coordinate information |
| Use in simulation | Network-aware source graph construction |
| Component | Implementation |
| Node definition | Cortical source ROIs from the Schaefer-100 atlas |
| Topology type | Sparse directed lagged source effective-connectivity graph |
| Structural prior | Yeo-network-modular edge sampling |
| Within-network structure | Denser directed interactions within the same functional network |
| Cross-network structure | Sparser directed interactions across functional networks |
| Lag structure | Directed effects occur over lags 1–5 |
| Parameter | Value |
| Dynamics type | Stable lagged source dynamics with oscillatory components |
| Lag order | 1–5 |
| Time points per sample | 2000 |
| Frequency structure | Theta, alpha, and beta-band source activity |
| Broadband component | -like background activity |
| Nonstationarity | Slow amplitude modulation and ROI-level variability |
| Component | Setting |
| Number of synthetic sensors | 64 |
| Sensor layout | Synthetic 10–10-like layout |
| Leadfield / mixing matrix | leadfield_synthetic.npy , shape |
| Sensor positions | sensor_positions.npy , shape |
| Full sensor signal | EEG.npy , generated from all 100 source ROIs |
| Observed-only sensor signal | EEG_obs96.npy , generated from 96 observed source ROIs |
| Statistic | Full-view | Latent-view |
| Total source ROIs in full system | 100 | 100 |
| Observed variables provided to learner | 100 | 96 |
| Withheld / latent variables | 0 | 4 |
| Time points per sample | 2000 | 2000 |
| Ground-truth graph available | Yes | Yes |
| Graph type | Directed lagged source EC | Directed lagged source EC |
| Index | ROI name |
| 5 | 7Networks_LH_Vis_6 |
| 58 | 7Networks_RH_SomMot_1 |
| 86 | 7Networks_RH_Cont_Cing_1 |
| 41 | 7Networks_LH_Default_PFC_1 |
| Block | Description |
| A_xx.npy | Directed edges among observed source ROIs, |
| A_xz.npy | Directed edges from observed source ROIs to hidden source ROIs, |
| A_zx.npy | Directed edges from hidden source ROIs to observed source ROIs, |
| A_zz.npy | Directed edges among hidden source ROIs, |
| Method | AUROC / AUPRC | Interpretation |
| Random baseline | 0.500 / 0.1149 | Expected from graph density |
| Lagged correlation | 0.6292 / 0.1826 | Simple temporal association has partial signal |
| Ridge-VAR | 0.6983 / 0.2668 | Linear VAR recovers part of the lagged structure |
| Ours, 3000 steps | 0.6933 / 0.4598 | Stronger sparse-edge ranking in AUPRC |
| Statistic | Value |
| Dataset version | voxel1000_v2 |
| Dataset type | Controlled high-dimensional BOLD-like temporal simulation |
| Observed variables | |
| Latent drivers | |
| Time points | |
| Spatial layout | voxel grid |
Time-Series Causal Discovery
Time-series causal discovery seeks to infer which variables influence others over time and when those effects occur.
See all 65 papers