Classical method

TS+LR and MDM: results on public EEG datasets

Riemannian classification works on the spatial covariance matrix of each EEG window, a point on the manifold of symmetric positive-definite matrices. Two decoders from Barachant, Bonnet, Congedo and Jutten (IEEE Transactions on Biomedical Engineering, 2012) are run here: the minimum distance to mean (MDM) classifier, which assigns a window to the class whose mean covariance is nearest in Riemannian distance, and tangent-space logistic regression (TS+LR), which maps covariances into the tangent space at a reference point and fits a logistic regression there. BCI Report runs both through pyRiemann with fixed settings and OAS covariance estimates, under the same participant-held-out protocols as the other methods; the settings follow the MOABB reference pipelines (TSLR.yml with max_iter raised, MDM.yml unchanged).

Measured on: ds003810; EEGMAT; ds005342 · Protocols: Motor imagery & rest; Arithmetic & rest; Idle & command

Also known as TS+LR · tangent space + logistic regression · tangent-space logistic regression · MDM · minimum distance to mean · Barachant et al. 2012

Reference Barachant A, Bonnet S, Congedo M, Jutten C. Multiclass brain–computer interface classification by Riemannian geometry. IEEE Transactions on Biomedical Engineering 59(4):920–928, 2012. ↗

Official code ↗ · Description sources doi.org · github.com · github.com

Published results

Compare figures within a group only: task, cohort, chance level and electrode layout can differ between groups. One row is above another only where their 95% intervals do not overlap.

ds003810 · Core matrix · motor imagery & rest

Source page: Core-matrix protocol: Motor imagery & rest · Chance level 50.0% · core-matrix-20261106-mi-rest.csv

TS+LR · OAS · 4–40 Hz
58.9% (54.9%–63.9%)
MDM · OAS · 4–40 Hz
53.8% (50.8%–57.9%)
Balanced accuracy, 2 configurations. Dot: the estimate; line: 95% interval; dashed line, where drawn: chance level.
MethodConditionMetricValuePeople
TS+LR · OAS · 4–40 HzRest versus right-hand imageryBalanced accuracy58.9%54.9%–63.9%Primary row · one fixed configuration (MOABB-reference settings)10
MDM · OAS · 4–40 HzRest versus right-hand imageryBalanced accuracy53.8%50.8%–57.9%Secondary row · one fixed configuration (MOABB-reference settings)10

EEGMAT · Core matrix · arithmetic & rest

Source page: Core-matrix protocol: Arithmetic & rest · Chance level 50.0% · core-matrix-20261106-arithmetic-rest.csv

TS+LR · OAS · 4–40 Hz
65.5% (59.6%–71.8%)
MDM · OAS · 4–40 Hz
71.5% (65.5%–77.8%)
Balanced accuracy, 2 configurations. Dot: the estimate; line: 95% interval; dashed line, where drawn: chance level.
MethodConditionMetricValuePeople
TS+LR · OAS · 4–40 HzSerial subtraction versus resting EEGBalanced accuracy65.5%59.6%–71.8%Primary row · one fixed configuration (MOABB-reference settings)36
MDM · OAS · 4–40 HzSerial subtraction versus resting EEGBalanced accuracy71.5%65.5%–77.8%Secondary row · one fixed configuration (MOABB-reference settings)36

ds005342 · Core matrix · idle & command

Source page: Core-matrix protocol: Idle & command · core-matrix-20261106-idle.csv

MethodConditionMetricValuePeople
TS+LR · OASSeated motor imagery · cue-gated replayCommand detection ≤3 s35.0%Summed test trials. Fixed calibration rule; 60 training trials and 30 calibration trials per participant. Four-person case study; cohort aggregates only, no subgroup or population claim.4
TS+LR · OASSeated motor imagery · cue-gated replayIdle false activation6.7%Summed test trials. Fixed calibration rule; 60 training trials and 30 calibration trials per participant. Four-person case study; cohort aggregates only, no subgroup or population claim.4
MDM · OASSeated motor imagery · cue-gated replayCommand detection ≤3 s35.0%Summed test trials. Fixed calibration rule; 60 training trials and 30 calibration trials per participant. Four-person case study; cohort aggregates only, no subgroup or population claim.4
MDM · OASSeated motor imagery · cue-gated replayIdle false activation1.7%Summed test trials. Fixed calibration rule; 60 training trials and 30 calibration trials per participant. Four-person case study; cohort aggregates only, no subgroup or population claim.4

All methods → · All datasets →

Core matrix

Core-matrix rows: recipe and paired differences

Release: core-matrix-update-20261106

How these rows were run

MethodRecipeMOABB reference pipelineImplementationCode licence
TS+LRSupervised fitOAS · 4–40 Hz; OAS · idle-native windowsMOABB TSLR.yml, with max_iter raised to 5000pyRiemann 0.12 (wheel SHA-256 74a90b2ef0938c94fe9bf90b6506991fc19da55850aae5fdf992026b3845d43a) and scikit-learnBSD-3-Clause
MDMSupervised fitOAS · 4–40 Hz; OAS · idle-native windowsMOABB MDM.yml, unchangedpyRiemann 0.12 (wheel SHA-256 74a90b2ef0938c94fe9bf90b6506991fc19da55850aae5fdf992026b3845d43a) and scikit-learnBSD-3-Clause

One fixed configuration per method: library or MOABB-reference settings with the stated deviations. The 4–40 Hz band-pass (or demeaning plus 50 Hz decimation on the ERP protocols) is part of the recipe and is applied to each window on its own.

The EEGMAT signals were ICA-cleaned and may be rank-deficient; OAS shrinkage then dominates the low-variance directions of the covariances that TS+LR and MDM read.

Sensitivity lines

The same methods with other input filtering, labelled; they are not matrix rows.

Paired differences

Each difference is the mean over people of each person’s difference in balanced accuracy, in percentage points (pp), on the same windows and people.

Paired participant bootstrap (10,000 draws). The four contrasts against the Spectral ridge cells carry 98.75 % intervals (Bonferroni over four); the other contrasts carry nominal 95 % intervals with no familywise claim. 'Higher' or 'lower' means the interval lies wholly above or below zero; 'unresolved' means it includes zero.

Ten people: a percentile bootstrap over ten people tends to give intervals narrower than their nominal level.

Primary contrasts: against the Spectral ridge cell

DifferenceMean (pp)98.75% interval, Bonferroni-adjusted for four contrasts95% interval, unadjustedReading
TS+LR − Spectral ridgeMotor imagery & restTS+LR · OAS · 4–40 Hz+4.0 pp−1.1 to 11.5−0.3 to 9.7unresolved
TS+LR − Spectral ridgeArithmetic & restTS+LR · OAS · 4–40 Hz+8.8 pp1.6 to 16.13.0 to 14.6higher

Against EEGNet

against the matrix's one-seed EEGNet cell; training variance not included
DifferenceMean (pp)nominal 95% intervalReading
TS+LR − EEGNetMotor imagery & restTS+LR · OAS · 4–40 Hz−12.1 pp−18.1 to −5.4lower
MDM − EEGNetMotor imagery & restMDM · OAS · 4–40 Hz−17.2 pp−23.7 to −10.6lower
TS+LR − EEGNetArithmetic & restTS+LR · OAS · 4–40 Hz−2.1 pp−8.0 to 3.8unresolved
MDM − EEGNetArithmetic & restMDM · OAS · 4–40 Hz+3.8 pp−1.3 to 9.3unresolved

Secondary rows against the Spectral ridge cell

DifferenceMean (pp)nominal 95% intervalReading
MDM − Spectral ridgeMotor imagery & restMDM · OAS · 4–40 Hz−1.1 pp−4.7 to 3.8unresolved
MDM − Spectral ridgeArithmetic & restMDM · OAS · 4–40 Hz+14.7 pp8.9 to 20.5higher

Against the CSP+LDA row

Show the table
DifferenceMean (pp)nominal 95% intervalReading
TS+LR − CSP+LDAMotor imagery & restTS+LR · OAS · 4–40 Hz+11.8 pp7.9 to 16.8higher
TS+LR − CSP+LDAMotor imagery & restTS+LR · OAS · raw+7.3 pp3.8 to 11.6higher
TS+LR − CSP+LDAMotor imagery & restTS+LR · OAS · 8–32 Hz+13.0 pp7.8 to 18.6higher
MDM − CSP+LDAMotor imagery & restMDM · OAS · 4–40 Hz+6.8 pp3.3 to 10.8higher
MDM − CSP+LDAMotor imagery & restMDM · OAS · raw+4.9 pp1.3 to 9.2higher
MDM − CSP+LDAMotor imagery & restMDM · OAS · 8–32 Hz+8.9 pp4.6 to 13.7higher

The CSP+LDA row reads the windows with no band-pass; the raw-arm lines read the same input.

Against the frozen encoders LaBraM and CBraMod

DifferenceMean (pp)nominal 95% intervalReading
TS+LR − LaBraMMotor imagery & restTS+LR · OAS · 4–40 Hz+5.4 pp0.3 to 11.3higher
TS+LR − CBraModMotor imagery & restTS+LR · OAS · 4–40 Hz−4.0 pp−8.4 to 0.9unresolved
TS+LR − LaBraMArithmetic & restTS+LR · OAS · 4–40 Hz+0.9 pp−4.6 to 6.6unresolved
TS+LR − CBraModArithmetic & restTS+LR · OAS · 4–40 Hz+3.2 pp−1.5 to 8.0unresolved

These pairs use the matrix's LaBraM and CBraMod rows (frozen encoder + ridge head) only.

Recipe arms: the same method with other input filtering

Show the table
DifferenceMean (pp)nominal 95% intervalReading
TS+LR · OAS · 4–40 Hz − TS+LR · OAS · rawMotor imagery & rest+4.5 pp0.6 to 7.9higher
MDM · OAS · 4–40 Hz − MDM · OAS · rawMotor imagery & rest+1.8 pp−1.5 to 6.3unresolved
TS+LR · OAS · 4–40 Hz − TS+LR · OAS · 8–32 HzMotor imagery & rest−1.2 pp−6.0 to 2.6unresolved
MDM · OAS · 4–40 Hz − MDM · OAS · 8–32 HzMotor imagery & rest−2.2 pp−3.8 to −0.8lower
TS+LR · OAS · 4–40 Hz − TS+LR · OAS · rawArithmetic & rest+2.4 pp−3.0 to 8.1unresolved
MDM · OAS · 4–40 Hz − MDM · OAS · rawArithmetic & rest+0.7 pp−5.3 to 7.2unresolved

Within the family: primary row against secondary row

DifferenceMean (pp)nominal 95% intervalReading
TS+LR − MDMMotor imagery & restTS+LR · OAS · 4–40 Hz+5.1 pp2.3 to 7.8higher
TS+LR − MDMArithmetic & restTS+LR · OAS · 4–40 Hz−6.0 pp−11.6 to −0.5lower

Credits

TS+LR and MDM: Barachant, Bonnet, Congedo and Jutten, IEEE TBME 2012 and Neurocomputing 2013; xDAWN: Rivet, Souloumiac, Attina and Gibert, IEEE TBME 2009; XDAWNCov: Barachant and Congedo 2014; OAS: Chen, Wiesel, Eldar and Hero, IEEE TSP 2010; Ledoit and Wolf 2004; MOABB reference pipelines (BSD-3-Clause), Jayaram and Barachant, J. Neural Eng. 2018, read for citation and not executed; pyRiemann 0.12 (BSD-3-Clause).

Cite this page

BCI Report (2026). TS+LR and MDM: results on public EEG datasets. https://bci.report/methods/riemannian/

Figures from releases core-matrix-update-20261106 (2026-11-06), research-preview-20260920 (2026-09-20). Cite the upstream datasets as well: each dataset’s page gives its credit.

Every release is archived on Zenodo: doi:10.5281/zenodo.23123296. BibTeX for the site and its releases → · CITATION.cff ↗