OmniScientist
Cardiology · audio 2,000 phonocardiograms 6 cohorts verdict: supported

The metadata predicted the patient, until the site changed

A model that never hears the heartbeat sorts normal from abnormal about as well as the literature reports. Move it to an unseen cohort and it does worse than guessing.

0.596Pooled 5-fold CV
0.347Leave-one-cohort-out
Both numbers come from the same metadata-only model: clip duration, RMS level, spectral centroid, dominant frequency, zero-crossing rate. No murmur information at all. 0.347 is not merely useless, it is below chance: the ranking has inverted.

1What it was given, and what it decided to ask

The system received 2,000 single-channel heart-sound recordings at roughly 2 kHz, each labelled normal or abnormal and drawn from one of six cohorts collected at different sites and under different conditions. Nothing else. It chose its own question: how much of the reported normal-versus-abnormal separability in this corpus is carried by non-physiological recording bookkeeping rather than by murmur-band energy, and does whichever signal drives it survive when you hold out an entire cohort?

2The metadata alone works, then collapses

Under ordinary pooled 5-fold cross-validation the metadata-only model reaches AUC 0.596. Under strict leave-one-cohort-out validation it falls to 0.347, a drop of 0.248 (bootstrap 95% CI 0.176 to 0.297, p < 0.0001, surviving Bonferroni correction across 11 tests at α = 0.00455). The murmur-band model does not behave this way: it goes from 0.701 to 0.656, a drop of 0.045 that is not distinguishable from zero.

Pooled 5-fold CV against leave-one-cohort-out. The metadata bars cross the chance line; the murmur bars barely move.

3Why: the metadata is a name tag for the hospital

The same five metadata features identify which of the six cohorts a recording came from with 87.2% accuracy, against a 16.7% chance baseline. And simply scoring every recording by the abnormal-prevalence of its predicted cohort reproduces AUC 0.642, which already exceeds the metadata model's own pooled 0.596. An oracle that knows each cohort's true base rate reaches 0.766. So the metadata model was never reading the patient. It was reading the recording protocol, inferring the site, and quoting that site's base rate.

Which cohort a recording came from, recovered from the five protocol numbers alone. Rows are the true cohort, columns the predicted one; 87.2% land on the diagonal.
The chain metadata → cohort → base rate reproduces, and an oracle exceeds, the metadata model's own pooled score.

4The table that explains the whole thing

These are the six cohorts' own averages, computed by the run. Read across a row and each site has a recording signature: cohort b keeps clips down to 8 seconds and records five times louder than cohort d; cohort c runs 51 seconds; cohort f's microphone is five times brighter than cohort b's, with twelve times the zero-crossing rate. Five numbers are more than enough to tell them apart.

Now read the second column. Abnormal prevalence runs from 9.8% in cohort e to 88.9% in cohort c, a ninefold spread. Identify the site and you have already made most of a diagnosis, without touching the heart.

CohortnAbnormalDuration (s) RMS levelCentroid (Hz)Dom. freq ZCRHeld-out AUC
training-a24869.4%32.60.04612429.70.0500.485
training-b29623.0%8.00.221530.210.0110.519
training-c1888.9%50.90.0538234.90.0420.844
training-d3452.9%15.00.0338424.50.0400.608
training-e13339.8%23.20.09911618.10.0710.272
training-f7123.9%33.40.08726359.20.1380.315

The last column is where the sub-chance number comes from. Cohort e alone is 1,333 of the 2,000 recordings and is the least abnormal cohort at 9.8%. A model trained on the other five has learned that this recording profile belongs to sicker populations, so on cohort e it ranks the wrong way round and scores 0.272. Because cohort e dominates the weighted average, the whole leave-one-cohort-out figure lands at 0.347, below chance. The inversion is not a bug in the evaluation; it is the confound being read backwards.

5The split runs through the features themselves

An analysis of variance over each feature shows that the protocol statistics carry a far larger fraction of between-cohort variance than the murmur-band feature does. All seven tests land at p < 10−30. Held out cohort by cohort the metadata model is wildly unstable, from 0.272 on the largest cohort to 0.844 on a cohort of only 18 recordings; the gap between the two models is nonetheless stable across 10 independent cross-validation seeds and after dropping the two smallest cohorts.

Share of each feature's variance that lies between cohorts rather than within them. The protocol statistics are site markers; the murmur features are not.
Held-out AUC cohort by cohort, with each cohort's size and abnormal prevalence.

6Every number on this page

QuantityPooledHeld outDrop
Metadata-only model — no murmur information0.5960.3470.248
Murmur-band model (fill ratio, cycle length)0.7010.6560.045
Scoring by predicted-cohort prevalence0.642
Oracle cohort-prevalence predictor0.766
Cohort identity from metadata (chance 16.7%)87.2%

What this does not show

Eleven statistical tests were run, with Bonferroni correction at α = 0.00455. Two did not clear that bar. The murmur model's own drop is not distinguishable from zero (p = 0.287), which is consistent with the claim but is not independent evidence for it. More importantly, the direct paired comparison between the metadata drop and the murmur drop gives p = 0.113. So "the murmur signal transfers better than the metadata signal" should be read as directional rather than as a confirmed head-to-head difference. What is firmly established is the metadata collapse itself, and the mechanism behind it.

Dataset
2,000 single-channel phonocardiograms, ~2 kHz, six cohorts (a–f) collected at different sites
Run
engine/examples/heartsound
Paper title
Recording-Protocol Metadata as a Confound in Phonocardiogram Abnormality Classification
Figures
Produced by the run itself, reproduced here unmodified