Skip to content

Add experimental multiscale spectral backbone discovery - #15

Merged
Autoplectic merged 1 commit into
mainfrom
multiscale-spectral-backbone
Nov 14, 2026
Merged

Autoplectic merged 1 commit into
mainfrom
multiscale-spectral-backbone

Conversation

@Autoplectic

Copy link
Copy Markdown
Member

Summary

Add an opt-in implementation of Raiola, Nicoletti & Busiello, Resolving the backbone of multiscale interactions through mutual information rates.

  • Estimate ordinary and fully conditioned Gaussian mutual-information rates from a trial-aware Welch spectral matrix, with explicit units, timescale rescaling, rank/conditioning diagnostics, and optional regularization.
  • Add experimental fitted Gaussian spectral nulls, intersection-union adjacency tests with BY correction, and forest-backbone evidence. Preserve numerical and Monte Carlo-budget unresolved states rather than treating them as absent links.
  • Support orientation from explicitly supplied/model MIRMO labels and finite-ratio scaling diagnostics; never manufacture asymptotic direction from a single recording.
  • Add an exact stationary multiscale OU simulator, analytic tests for all 12 three-node motifs, a runnable example, and a reproducible finite-data/failure-regime study.

Discovery-to-layers integration

infer_multiplex(backbone=...) uses spectral neighbors as candidate source processes, then retains ordinary target-history/source-lag selection and TE/layer-specific tests. It does not force spectral links into significant parents or decompose spectral MIR into intrinsic/shared/synergistic flow.

All-pair TDMI/shared-only screening and forced/Faes conditionals are preserved. Spectral evidence remains attached separately, and candidate-guided checkpoint namespaces identify data, settings, splits, source candidates and actual contexts. Default discovery and automatic presets are unchanged.

Validation

  • Full non-slow suite on Python 3.14.7: 368 passed, 13 optional-dependency skips.
  • New focused tests, including bounded slow calibration: 94 passed; rerun before publication.
  • Focused compatibility run on Python 3.11.15: 93 passed, one slow test deselected.
  • ruff check ., ruff format --check ., ty check, and Sphinx -W --keep-going passed.
  • examples/multiscale_backbone.py runs end to end on independent discovery/selection/evaluation recordings and retains shared-only child links.
  • The validation report and raw JSON record 148 spectral fits plus a three-pipeline handoff comparison.

Limitations / review focus

This remains experimental and model-based. The fitted spectral-bootstrap tests do not establish universal finite-sample FDR control. Reconstruction assumptions include stationary linear-Gaussian dynamics, independent positive noises, full observation, and one directed coupling per undirected forest edge. Finite sampling can alter conditional zeros relative to continuous trajectories.

The study documents loss of recall when observations/windows undersample slow dynamics, missed XOR effects, and spurious structural edges under hidden drivers or correlated innovations. A forest-shaped output is not an assumption certificate. The small handoff example does not demonstrate a total speedup over unrestricted Gaussian inference after discovery cost is included. No independently validated per-rate confidence-interval coverage or general single-recording causal orientation is claimed.

@Autoplectic
Autoplectic marked this pull request as ready for review November 14, 2026 17:56
@Autoplectic
Autoplectic merged commit 06f3e6f into main Nov 14, 2026
10 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant