Preprint

Modeling and Interpreting Correlations, Null Distributions and Significance Levels in Neural Tracking of Natural Stimuli

A speech envelope filtered to 1–1.1 Hz carries almost no information about what was said. In our data it produces among the highest neural tracking correlations of any feature we tested, simply because it is easier to reconstruct.

  Schematic — measured null distributions further down

The problem

A correlation is not a performance metric

Neural tracking is routinely quantified by the correlation between a stimulus feature and the neural response, related through an encoding and/or decoding model. That number is then used to compare features, models, preprocessing, and conditions — as if it were calibrated.

It is not. Its magnitude depends not only on how strongly the brain tracks the stimulus, but also on the statistical properties of the two signals being correlated. Narrow the frequency band of a feature far enough and only its phase has to be reconstructed, so the correlation climbs while the information content collapses.

A correlation is only interpretable relative to its own null distribution. Once each feature is measured against the null it actually generated, the ranking changes — and in one case, reverses completely.

Eight speech features, before and after null-normalization

EEG · n = 121 · per-window · 5 s · backward model
Slopegraph comparing eight speech features by raw per-window correlation and by null-normalized tracking score. The smallband envelope falls from first place to last, while the acoustic edge rises sharply and the top three converge into a single tier.
Each column is scaled to its own range, so both the order and the spacing are readable. The smallband envelope (1–1.1 Hz) has the highest raw correlation of all eight features and the lowest NNTS — its correlation was a property of the signal, not of the brain. Meanwhile the acoustic edge climbs from a distant 4th into a tight top tier with phoneme onset and the envelope. Medians across participants and windows.

The framework

Three steps, each building on the last

Getting from a raw correlation to an interpretable number requires answering three questions in order: what null are you testing against, how do you estimate it without thousands of permutations, and what do you report instead of r.

STEP 1 · THE NULL

Surrogate methods are not interchangeable

Random shuffling, circular shifting, phase scrambling and misalignment each hold different properties of the signal fixed and therefore each encode a different null hypothesis. There is no method-independent best choice, only a choice that matches your statistic.

STEP 2 · THE MODEL

Fit the null instead of sampling its tail

Significance levels live in the far tail, which is exactly where empirical distributions are worst. Modeling the Fisher-transformed null as a normal distribution beats the empirical null below 10 000 permutations, works well at 1 000 permutations, and needs only 3–5 minutes of data.

STEP 3 · THE METRIC

Report NNTS, not r

The null-normalized tracking score (NNTS) puts every feature and model on one scale with a single shared threshold. It is one transformation away from match–mismatch accuracy, but continuous, unbounded, and more reliably estimated from few windows.

Step 1 · Choosing a null

Four procedures, four different questions

Permutation tests are often described as assumption-free. They are not. Whatever a surrogate procedure holds fixed is the null hypothesis, and those preserved properties have to match the statistic under study. Run all four on the same data and they disagree, visibly.

Four panels comparing null distributions of the speech envelope at 5-second windows. Random shuffling is narrow and peaked at zero; circular shifting is broad with a non-zero mean and a secondary bump near +0.6; phase scrambling is broad and smooth; misalignment is a clean unimodal bell centred on zero.
Null distributions for the speech envelope at 5 s windows, across all participants. Each panel highlights one method against the other three in grey. Random shuffling whitens the feature, collapsing the null and making the test liberal. Circular shifting leaves surrogates partially aligned through autocorrelation resulting in a non-zero mean, violating the one requirement every null must satisfy. Phase scrambling destroys the phase-aligned onset structure of natural speech. Misalignment yields a clean unimodal null with no such pathology.

We adopt misalignment: correlate the reconstruction against a genuine but temporally unrelated excerpt of the same feature. Its null is the one that matters for content-specific tracking — the response is no more related to this stimulus than to any other real stimulus of the same kind — and it lets the feature's statistics vary across surrogates rather than freezing one realization of the spectrum.

That choice is argued, not asserted, and it is deliberately not load-bearing: everything in Steps 2 and 3 only needs a set of valid null correlations. Substitute your own method and the rest of the framework is unchanged.

Step 2 & 3 · Building the model and metric

Run the method on your own numbers

Paste your null correlations below. The page fits the semi-parametric model, extrapolates the significance level to any window length without recomputing anything, and converts your observed correlation into NNTS and match–mismatch accuracy. Everything runs locally in your browser.

It starts loaded with 1 000 real null correlations for the speech envelope at 5 s, and reproduces the significance level we report for them: 0.3433.

Watch what happens next. The mean per-window correlation for that same feature is 0.1876 — comfortably below the per-window threshold. Judged one 5 s window at a time, this feature looks unremarkable. Pool across windows and the same data give NNTSp = 0.889 and a match–mismatch accuracy of 73.5%, far above chance. The level you test at changes the answer, which is why the paper treats window-level and aggregate testing as separate questions rather than one.

Also see what happens when you change the target window length: the null distribution scales accordingly. If you measure the same true correlation at increasingly larger window lengths, it is bound to become significant.

One per line, or comma / space separated. Pre-filled with 1 000 measured null correlations for the speech envelope at 5 s — paste your own over them.
A single window's correlation, at the target length. Pre-filled with the mean per-window value for the envelope; raise the target window and watch the threshold drop past it.
σz null (base)
Sig. level @ target
NNTSw

Across windows

NNTSp needs the Fisher-transformed correlations, not the raw ones — in MATLAB, z = atanh(r).
NNTSp
Match–mismatch acc.

The window-length extrapolation uses the exact variance of the Fisher-transformed correlation as a ratio, V(Ntarget) / V(Nbase), so the autocorrelation-blind normalization cancels and the empirically fitted spread carries through.

If you read nothing else

Five take-aways

01

The Pearson correlation between neural response and stimulus feature is not a reliable performance metric in itself. Its interpretation depends on the null distribution, which is shaped by the feature, the model and the preprocessing.

02

A null distribution of correlations must have a mean of zero. This is a necessary condition, it is not automatic, and it is worth checking explicitly — circular shifting routinely fails it.

03

Every surrogate method encodes a different null hypothesis. We adopt misalignment, which operationalizes content-specific tracking: it preserves the natural statistics of the stimulus while letting them vary across surrogates, rather than holding the spectrum fixed or destroying it.

04

Modeling the null as a normal distribution after the Fisher transform means 3–5 minutes of data (~1 000 permutations) suffice to estimate significance levels reliably and to extrapolate them across window lengths without recomputing anything.

05

Compare features and models with the null-normalized tracking score (NNTS). It maps directly onto match–mismatch accuracy, yet is continuous and unbounded, and is estimated more accurately from small samples.

Use it

Everything is open

The toolbox implements the misalignment procedure, the semi-parametric null model, significance-level estimation and extrapolation, and NNTS. A Python port is in progress.

Algorithm 1, in eight lines

% null correlations from misalignment (aim for n ≥ 1000)
z    = atanh(rNull);
assert(abs(mean(rNull)/std(rNull)) < 0.1, 'null mean must be ~0')   % take-away #2

% semi-parametric model: normal after Fisher transform
sig2 = mean(z.^2);

% exact variance of the Fisher-transformed correlation
V    = @(N) 0.5*psi(1,(N-2)/2);

% significance level at any target window length, no recomputation
sl   = tanh(norminv(1-alpha, 0, sqrt(sig2 * V(fs*wTarget)/V(fs*wBase))));

Plain MATLAB, no dependencies beyond the Statistics Toolbox for norminv. The toolbox wraps this along with the misalignment procedure and NNTS.

Cite

BibTeX

@article{geirnaert2026modeling,
  author  = {Geirnaert, Simon and Bertrand, Alexander and
             Francart, Tom and Vanthornhout, Jonas},
  title   = {Modeling and Interpreting Correlations, Null Distributions
             and Significance Levels in Neural Tracking of Natural Stimuli},
  year    = {2026},
  note    = {Preprint}
}