Per-patient cardiac rhythm classification from remembered episodes — study record
Scope of this record. All findings below concern within-patient cardiac rhythm classification from inter-beat intervals, measured on public patient data. The underlying method — a distance between processes and a memory-based classifier built on it — is developed and evaluated separately, on non-clinical signals, in the method record. Results in that record concern the method in general and are not clinical claims. Results here concern this application and do not extend to the method's behaviour in other domains.
Counts and the table below are generated from manifest.json, so they
cannot disagree with the record. Newest finding: 2026-08-05.
| Finding | Status | Rung | Date | |
|---|---|---|---|---|
| 1 | Single-beat morphology: classification does not reach the pre-registered threshold | negative | 3 | 2026-08-05 |
| 2 | Rhythm-level classification: per-patient AF detection reaches 0.935 at 16 stored windows per state | active | 3 | 2026-08-05 |
| 3 | Comparison to published detectors, and to a population reference store, at equal store size | negative | 3 | 2026-08-05 |
| 4 | Accuracy is limited by store size, not by hyperparameters: 0.983 at 64 stored windows per state | active | 3 | 2026-08-05 |
| 5 | Continuous recording with no exclusions: 0.966 accuracy; AF onset detected in the first window of every episode | active | 3 | 2026-08-05 |
| 6 | Replication on an independent database: holds for 11 of 12 patients, fails below chance for one | retracted | 4 | 2026-08-05 |
| 7 | Replication, restated with balanced query sets: 0.820 mean balanced accuracy, below the first database | negative | 4 | 2026-08-05 |
| 8 | Diagnosis of the worst-performing patient: the representation does not separate that patient's two rhythms | active | 3 | 2026-08-05 |
| 9 | The failures are physiological, not algorithmic: in those patients the non-AF rhythm is itself irregular | corrected | 3 | 2026-08-05 |
| 10 | The representation's fixed bins are not the cause: per-patient adaptive binning does not rescue the failing patientscardiac rhythm | negative | 3 | 2026-08-05 |
| 11 | The information is present and the method discards it: a single-number detector separates the patient the method classifies at chancecardiac rhythm | active | 3 | 2026-08-05 |
| 12 | Adding an interval channel to the representation raises accuracy on both databases, but not on the patient it was built forcardiac rhythm | active | 4 | 2026-08-05 |
Claim
The representation was extended so that each frame carries two panels of equal mass: the existing distribution over successive interval DIFFERENCES, and a new distribution over the absolute intervals themselves, which the previous representation could not observe. On the second database mean balanced accuracy rises from 0.820 to 0.875; on the first it rises from 0.966 to 0.987. The two patients finding 9 identified as having states that do not differ gain the most: patient 10 rises 0.560 to 0.780 and patient 11 rises 0.440 to 0.590. Patient 103 does not recover: 0.510 to 0.540, with non-AF recall moving only from 0.040 to 0.100 while AF recall stays at 0.980.
Evidence
Both encoders were run in the same execution over the same patients, the same stores of 64 windows per state, the same class-balanced query sets and the same decision rule; the unmodified encoder reproduced the published per-patient figures of finding 7 exactly, including the 0.820 mean, so the two columns are comparable. The panel weighting was fixed at one half each before the run and was not adjusted afterwards. Four pre-registered criteria were declared before execution: recovery of patient 103 by at least 0.20 (FAILED at 0.030), overall gain of at least 0.03 (passed at 0.055), no patient at or above 0.90 losing more than 0.05 (passed, worst change -0.017), and no regression on the first database (passed at +0.021).
Scope / limits
Two databases, within-patient, single seed, one panel weighting. The first-database control figure here is 0.966, which coincides numerically with the published figure of finding 5 but is produced under this experiment's protocol rather than that one; the agreement is a coincidence and the two numbers are not the same measurement. No claim is made about which physiological quantity the interval panel captures beyond it being the absolute interval, and the change has not been adopted in the software.
Controls that could have killed it
Claim
On patient 103, which finding 7 classified at 0.510 balanced accuracy and finding 9 attributed to an absence of separable signal, single-number detectors computed from beat timing alone separate the two rhythm states almost completely. Threshold-free AUC over that patient's pure-label windows: mean interval 0.026, RMSSD 0.070, median absolute successive difference 0.089 — all far from chance in the inverted direction, corresponding to separability of approximately 0.97, 0.93 and 0.91. The method, given the same windows and 64 stored examples of each of that patient's own states, assigns 96 percent of its non-AF windows to AF. Patients 10 and 11 also carry above-chance per-window information, with best absolute deviations from chance of 0.256 and 0.170, so the claim of absent signal does not hold for them either, though the margin is much smaller.
Evidence
Two further explanations were tested and eliminated before this one. Per-patient adaptive binning does not change patient 103's result (finding 10). Retrieval geometry is measurably skewed — AF stored windows occupy 86.8 percent of the nearest-neighbour slots returned to that patient's non-AF queries, against 50 percent for its balanced 64-plus-64 store — but correcting it does not help: hubness-corrected local scaling gives 0.520 and a per-class nearest-mean rule 0.510, against 0.510 for the current distance-weighted vote. One property of the representation is established by construction rather than by measurement: it is computed from successive differences only, so absolute rate is not among its inputs, and rate is the single most discriminative feature for this patient. Why the variability information, which the representation does encode, is also unused is not yet established.
Scope / limits
One patient for the strong result, three for the weaker one, one database, within-patient. The AUC figures are threshold-free but computed on the same windows they describe, so they are optimistically biased as performance figures and are not a competing method: they are used only to refute an impossibility claim, never to support a performance claim. No fix is proposed or tested here.
Controls that could have killed it
Claim
The hypothesis that the failures of finding 7 are caused by the encoder — which clips successive interval differences at plus or minus 0.4 seconds and bins them with edges fixed across all patients, so that a highly variable patient could saturate the outermost bins and have both states encode alike — is refuted. Across 12 patients, balanced accuracy is 0.820 with the fixed encoder, 0.825 with equal-width bins set to the patient's own 99th percentile, and 0.830 with equal-mass bins at the patient's own quantiles. Patient 103, the patient the hypothesis was constructed to explain, is unchanged: 0.510 fixed, 0.510 scaled, 0.530 quantile.
Evidence
Bin edges were fitted on each patient's store windows only, never on query windows. The fixed-bin condition was re-run inside the same script rather than compared against previously reported numbers, and reproduced the published per-patient figures of finding 7 exactly, including the 0.820 mean. Separately, the degree of saturation does not predict performance: across the same patients, balanced accuracy against worst-class clipping fraction gives r = -0.364 and against outermost-bin weight r = -0.040. What does correlate is whether the two classes differ in the encoder's output at all, at r = +0.631. Three pre-registered criteria were declared before running and all passed, but they are reported here as weak rather than as support: the rescue criterion's +0.057 is carried almost entirely by one patient, 01, at +0.140, and the criterion that the non-saturating failures should not move passed on a group mean of -0.050 whose two members moved in opposite directions, -0.170 and +0.070.
Scope / limits
Twelve patients, one database, single seed, within-patient. Two adaptive schemes tested; others exist. A per-patient encoder remains defensible on other grounds — it helped patient 01 substantially — but it does not explain or repair the failures this record has reported.
Controls that could have killed it
Claim
The patients on which classification fails are those whose two rhythm states do not differ in beat-to-beat variability. Median RMSSD for the non-AF and AF states, and their ratio, across the three lowest- and three highest-scoring patients of finding 7: patient 103, 282 ms non-AF against 109 ms AF (ratio 0.39, score 0.510); patient 11, 240 against 213 (0.89, 0.440); patient 10, 132 against 165 (1.25, 0.560); patient 110, 64 against 186 (2.89, 0.990); patient 00, 15 against 95 (6.50, 1.000); patient 102, 13 against 166 (12.42, 1.000). Every patient with a ratio above 2.8 scored at or above 0.990, and every patient below 1.3 scored at or below 0.560, with no overlap between the groups.
Evidence
RMSSD computed on pure-label windows of 64 intervals, reported as the median across windows of each class per patient. Normal sinus rhythm typically presents RMSSD in the range of tens of milliseconds; values of 240 and 282 ms in the non-AF state indicate a markedly irregular non-AF rhythm, consistent with frequent ectopy or an atypical supraventricular rhythm. Patient 103's AF at 109 ms is comparatively regular, consistent with a controlled ventricular response.
Scope / limits
Six patients from one database, selected as the three lowest and three highest scorers, so the separation of the two groups is not an independent test of the threshold. The clinical interpretations of the underlying rhythms are inferences from interval statistics, not annotated diagnoses. Whether the ratio predicts performance on unselected patients is untested.
Controls that could have killed it
Corrected — the part that did not hold
The measurement below stands; the conclusion drawn from it in the note does not, and the note has been rewritten. The claim that no detector operating on beat timing alone could separate these patients was never tested against a detector. It has now been tested against the simplest one that exists — a single number per window, thresholded — and it fails for every patient it was asserted about. For patient 103 the mean interval separates the two states at AUC 0.026 and RMSSD at 0.070, both far from chance in the inverted direction, meaning approximately 0.97 and 0.93 separability, while the method scores 0.510 on the same windows and assigns 96 percent of that patient's own non-AF rhythm to AF. Patients 10 and 11 also carry per-window information above chance (best absolute deviation from chance 0.256 and 0.170). The information these patients' recordings contain is therefore not absent; on patient 103 it is abundant, and the failure is the method's. The original wording is retained in finding 11, which reports the measurements that produced this correction. What survives here is the RMSSD table itself and the observation that per-class variability ratio tracks performance across these six patients.
Claim
For the patient scoring lowest in finding 7, the representation does not distinguish the two rhythm states at all. Mean distance between windows of opposite class is SMALLER than between windows of the same class (22.64 against 23.34, separation −0.70). A classifier retrieving by that distance is therefore reading noise for this patient, and its output is not merely unreliable but uninformative. Two candidate explanations are excluded: the store and query sets were class-balanced by construction, and accuracy differs little between queries near and far in time from their nearest stored window (0.380 against 0.320), so neither class imbalance nor within-recording drift accounts for it.
Evidence
Within-class mean distance computed over 12 stored windows per class, between-class over all cross-class pairs. Label structure of the recording was also examined and does not explain the result: the recording is 65.7% AF with only 3 rhythm changes and no AF run shorter than one analysis window, so the labels are neither sparse nor fragmented.
Scope / limits
One patient. Whether negative separation occurs in the other low-scoring patients, and whether it can be predicted from the recording before classification is attempted, is not yet measured.
Controls that could have killed it
Claim
Repeating the replication with class-balanced query sets, correcting the defect that retracted finding 6: mean balanced accuracy across the same 12 patients is 0.820, against a pre-registered replication threshold of 0.90 and against 0.966 on the first database. The criterion fails, and the corrected figure is lower than the flawed one it replaces. Per-patient balanced accuracy: 1.000, 1.000, 0.990, 0.980, 0.950, 0.920, 0.890, 0.880, 0.720, 0.560, 0.510, 0.440. Onset latency replicates without qualification: median 0 windows over 14 episodes.
Evidence
Queries drawn equally from both classes, in recording order within each class, up to 100 per patient; balanced accuracy is the mean of the two class recalls and does not move with the query mix. Stores of 64 pure windows per state; representation, window length, store size and decision rule unchanged from the first database. Two distinct failure modes are visible in the per-class recalls: patient 103 classifies almost everything as AF (non-AF recall 0.040, AF recall 0.980), while patient 11 is close to inverted in both directions (0.560 and 0.320).
Scope / limits
Twelve patients from one additional database of 84 records; within-patient only; single seed. Balanced accuracy is reported because the class mix varies by patient and raw accuracy is not comparable across them.
Controls that could have killed it
Claim
ORIGINAL WORDING, RETAINED AND RETRACTED — this is the claim as first published, kept visible so the correction can be read against it; it is superseded by finding 7 and must not be cited as a result. The finding 5 protocol was repeated without modification on the Long Term AF Database — different patients, different recordings, longer durations, 128 Hz rather than 250 Hz. Mean accuracy across 12 patients was 0.893, below the pre-registered replication threshold of 0.90, and the criterion is recorded as failed. The mean is not representative of the distribution: 11 of the 12 patients scored between 0.660 and 1.000 with a mean of 0.942, and a single patient scored 0.350 — below the 0.500 chance level for a two-class problem, indicating a systematic rather than random failure for that recording. Onset latency replicated without qualification: median 0 windows across the episodes measured.
Evidence
Per-patient accuracy: 1.000, 1.000, 1.000, 1.000, 0.990, 0.990, 0.970, 0.900, 0.850, 0.660, 0.350 and 1.000. Up to 100 windows per patient in recording order with no exclusions, stores of 64 pure windows per state, and the representation, window length, store size and decision rule fixed on the first database with no adjustment for this one. Transition windows were classified at 0.931 against 0.893 for pure windows, the reverse of the ordering observed on the first database.
Scope / limits
Twelve patients from one additional database; the database contains 84 records, so this is a subset and not the full set. Within-patient only. The below-chance patient has not yet been diagnosed, so whether it reflects a data property, a labelling property, or a failure mode of the method is unknown.
Controls that could have killed it
Why this was wrong
The per-patient figures in this finding are not accuracy. The query sets were taken in recording order, and this database contains long uninterrupted rhythm blocks, so for most patients every queried window carried the same label. A subsequent audit of both databases under the published protocol found single-class query sets for 42 of 56 evaluable patients here — and, separately, for 0 of 9 patients in the first database, so finding 5 is unaffected. Where a query set holds one class, the reported figure is that class's recall alone and carries no information about the other class. Restated with class-balanced query sets in finding 7, where the replication figure falls from 0.893 to 0.820. The original wording is retained below.
Claim
Findings 2 and 4 excluded windows spanning a rhythm transition, which are the windows containing episode onset and offset. Scoring every window with no exclusions, mixed windows assigned by majority class, accuracy was 0.966 across nine patients. Transition windows were classified less accurately than pure windows (0.902 against 0.969) without moving the overall figure outside the published range. In 14 AF episodes of at least three windows, the first AF classification occurred in the first window of the episode in every case (median lag 0 windows, 90th percentile 0).
Evidence
Within-patient stores of 64 pure windows per state; queries comprise the remainder of that patient's recording in recording order with no filtering, to 150 windows per patient. Per-patient accuracy ranged from 0.873 to 1.000; the lowest-scoring patient contained the largest proportion of transition windows (28 of 150).
Scope / limits
Within-patient only; cross-patient generalisation not tested. Single database, single seed, single window length, majority-label assignment for mixed windows. Published detectors differ in episode-level scoring convention, so this is a comparison under a comparable rather than identical protocol and supports a claim of comparable performance only. Fourteen episodes is a small sample for the onset result.
Controls that could have killed it
Claim
Two experiments locate the source of the deficit reported in finding 3. A hyperparameter sweep over window length, sub-window length and bin count, tuned on five patients and evaluated on five patients excluded from the sweep, produced no change in held-out accuracy (0.940 for both the sweep-selected and default configurations, while development-set accuracy rose from 0.925 to 0.945). Increasing store size produced 0.935, 0.967 and 0.983 accuracy at 16, 32 and 64 windows per state respectively, still increasing, with the Euclidean control lower at every level.
Evidence
Coverage extension across nine patients, 40 queries each, within-patient stores. Eleven configurations were evaluated on the development set; the verdict was measured only on patients excluded from tuning. Sixty-four windows per state corresponds to approximately one hour of that patient's labelled rhythm.
Scope / limits
This measurement excludes windows spanning a rhythm transition; finding 5 removes that exclusion and reports the figure appropriate for comparison. Within-patient only, single database, single seed.
Controls that could have killed it
Claim
Neither pre-registered comparison was met. Published interval-based AF detectors report 95–98% accuracy on this database; the untuned method reached 93.5%. With store size held equal, a store composed of the patient's own windows exceeded a store composed of other patients' windows by 2.7 points accuracy and 3.7 points specificity across ten patients, against 10-point thresholds.
Evidence
Sixteen windows per class in both arms, with identical queries and splits per patient, isolating store composition from store size. Mean differences: accuracy +0.027, specificity +0.037, sensitivity −0.003. Four of ten patients showed no difference, the population store having reached 1.000 on them; three showed small negative differences. Published figures are taken from the literature on the same database and were not re-measured.
Scope / limits
Single database, single window length, single representation, single seed. The accuracy comparison is superseded by finding 4; the store-composition comparison stands.
Controls that could have killed it
Claim
Classification of atrial fibrillation from inter-beat interval dynamics, against the same patient's own non-AF rhythm, reached 0.935 accuracy at 16 stored windows per state (chance 0.500). Reconstruction accuracy was 0.89–0.92 at every coverage level tested, in contrast to finding 1 where it did not increase.
Evidence
Ten patients from the MIT-BIH Atrial Fibrillation Database, each recording containing both AF and non-AF periods for that patient, permitting a within-patient store. Windows of 64 intervals; store, reference and query sets window-disjoint; 60 queries per patient. The information-geometric distance exceeded a Euclidean control on identical windows at all four coverage levels (+3.0, +5.5, +4.3, +3.7 points).
Scope / limits
Within-patient classification only. Cross-patient generalisation was not tested. Windows spanning a rhythm transition were excluded at this stage; finding 5 removes that exclusion. Two classes, chance 0.500, single seed.
Controls that could have killed it
Claim
Classification of individual heartbeats by waveform morphology (five rhythm classes, single patient, ECG5000) did not meet its pre-registered criteria. Recognition accuracy increased with the number of stored examples (0.370, 0.428, 0.517, 0.517 for stores of 1, 2, 4 and 8 examples per class; chance 0.200) but plateaued at approximately half the 0.85 threshold. Reconstruction accuracy did not increase across the same range (0.407, 0.450, 0.417, 0.467).
Evidence
Three seeds per coverage level. Store, query and reference sets were beat-disjoint. Classification used a nearest-neighbour reference set with no averaged prototypes. Protocol and thresholds were identical to those used for the non-clinical validation of the same method. Both decision rules (weighted vote and class prototype) tracked within 0.03 at every level.
Scope / limits
Single public database, single patient, single representation. Applies to beat morphology only; rhythm-level classification is addressed in finding 2.
Controls that could have killed it
No new mathematics is introduced by this record. The distance, the alignment and the geodesic operators are defined in the companion papers. The representation below is the only component specific to the cardiac application.
A window of heartbeats is expressed as a sequence of inter-beat intervals. Consecutive differences are binned into a magnitude-weighted distribution per sub-window, producing a curve of distributions over the window.
APPLICATION-SPECIFIC — representation choice, not new mathematics
window → Δ(interval) → magnitude-weighted histogram per sub-window → curve of distributions
Plain: Beat-to-beat change in interval length is summarised as a distribution over short spans; the sequence of those distributions represents the rhythm.
Provenance: The comparison operating on this representation is defined in the companion papers and cited there. Specific to this record is the physiological quantity supplied to it: beat-to-beat change rather than waveform morphology, on the grounds that irregularity over time distinguishes the rhythms under classification. Findings 1 and 2 are the measured consequences of the two alternatives.
This record contributes no mathematics. It reports which physiological question the existing method is asked, the consequence of asking the alternative, and the behaviour of the resulting classifier under protocols relevant to clinical evaluation.
Every finding states its criteria before execution. Where a criterion subsequently failed, the failure is reported and the criterion is not amended: findings 2, 3 and 4 each carry criteria that failed as written. Amending a threshold after seeing the result would make the threshold uninformative.
Store, reference and query sets are disjoint at the level of the recording segment. Within a patient, no window used to classify is also available to be retrieved. Where a comparison concerns store composition rather than store size, both arms hold the same number of windows, without which the two are confounded.
Each finding names the controls that could have refuted it. A Euclidean control is computed on identical windows and splits wherever a claim is made about the distance, so that an effect attributable to the representation or the retrieval procedure cannot be credited to the distance. Hyperparameter selection, where performed, is evaluated only on patients excluded from selection.
Classification is scored against held-out individual windows rather than against averaged class prototypes. An averaged reference constructed from multiple patients does not lie on any single patient's distribution, and scoring against one depresses measured accuracy in a manner unrelated to the classifier under test.
Findings 2 and 4 excluded windows spanning a rhythm transition. Because those windows contain episode onset and offset, their exclusion limits comparability with detectors evaluated on continuous recordings. Finding 5 repeats the measurement with no exclusions and reports the resulting figure separately for transition and non-transition windows.
Published figures quoted in finding 3 are taken from the literature on the same database and were not re-measured here. Episode-level scoring conventions differ between published detectors, so the comparison in finding 5 is conducted under a comparable rather than an identical protocol and supports a statement of comparable performance only.
A classifier for cardiac rhythm can be constructed without a training procedure, by storing labelled episodes from the individual patient and classifying by resemblance to them. On the database examined, within-patient accuracy increases monotonically with the number of stored episodes and reaches the range reported for published detectors, with no parameter fitting at any stage.
The distance underlying the classifier compares processes by their evolution over time. Atrial fibrillation is defined by irregularity of rhythm rather than by the morphology of any individual complex, which places it within the class of questions the method addresses. Finding 1 reports the corresponding null for beat morphology and delimits the applicable question type.
Each classification is produced by a set of stored episodes from the same patient, and those episodes are reported with the classification, together with their distances. No component of the decision is distributed across parameters that cannot be inspected individually.
Generalisation to a patient absent from the store is untested. All results are within-patient, on a single public database, at a single window length. No prospective evaluation has been conducted, and no comparison against a deployed clinical device has been performed. Onset latency is reported over fourteen episodes, which is a small sample. The store-composition comparison in finding 3 did not meet its threshold, and the pattern noted alongside it is post-hoc and untested.
Not cleared or approved by any regulator. No clinical claim is made and this is not intended for diagnosis or for any clinical decision. No clinical claim is made anywhere in this record.