# How often does an EEG decoder fire when nobody is giving a command?

Abstention · reliable decisions · Jev-style research plan

On this site’s idle protocol, EEGNet made no false activation in 60 idle trials but detected 1 of 60 commands. On EEGMAT and BETA, route 1 of a Jev-style research plan measures when a decoder should decline to decide.

- [Reviewed aggregate JSON ↓](https://bci.report/data/experiments.json)
- 

Measured on: [ds003810](https://bci.report/datasets/ds003810/); [EEGMAT](https://bci.report/datasets/eegmat/); [BETA](https://bci.report/datasets/beta/); [ds005342](https://bci.report/datasets/ds005342/); [YSU asynchronous SSVEP-BCI dataset](https://bci.report/datasets/ysu-async-ssvep/) · Methods: [EEGNet](https://bci.report/methods/eegnet/); [LaBraM](https://bci.report/methods/labram/); [CBraMod](https://bci.report/methods/cbramod/); [ShallowFBCSPNet](https://bci.report/methods/shallowfbcspnet/); [Deep4Net](https://bci.report/methods/deep4net/); [CSP+LDA](https://bci.report/methods/csp-lda/); [CCA](https://bci.report/methods/cca/)

## Short answer

It depends on how often the decoder acts at all: one that never acts never fires by mistake, so its false activations mean something only beside the commands it caught. In a cue-gated idle test with **4** people, the quietest decoder, EEGNet, made **0 / 60** false activations in idle trials but detected **1 / 60** commands, and for **2** of those people its threshold rejected every command. In a separate test with **20** other people, a CCA decoder with a threshold fixed on an earlier pilot accepted **748 / 960** windows when a command was intended, and **49 / 240**, **93 / 240** and **107 / 480** in three states where none was. A threshold fitted instead on **96** of each person’s own windows accepted fewer non-control windows overall, and fewer in each state, but did not raise the share of commands both accepted and correct; the contrast cannot separate fitting the threshold to the person from simply having those labels.

**0 / 60** EEGNet: idle false activations, 4 people

### No false activation, and 1 command in 60

Each threshold is chosen on calibration data only; for 2 of 4 people it rejected every command.

Both numbers, every method

## Command detection against idle false activation

4 people; 60 idle and 60 command test trials in total; a command counts if it is detected within 3 seconds of its cue. Sorted by command detection.

Counts over the whole test set, with the percentage beneath. “Always abstained” counts people whose calibrated threshold rejected every command.

| Method | Training | Commands detected ≤3 s | Idle false activations | Always abstained |
| --- | --- | --- | --- | --- |
| ShallowFBCSPNet | Scratch · 20 epochs | 26 / 60 (43.3%) | 1 / 60 (1.7%) | 1 (of 4 people) |
| CSP+LDA | Supervised fit | 14 / 60 (23.3%) | 0 / 60 (0.0%) | 1 (of 4 people) |
| LaBraM | Frozen encoder + linear head | 11 / 60 (18.3%) | 2 / 60 (3.3%) | 0 (of 4 people) |
| CBraMod | Frozen encoder + linear head | 11 / 60 (18.3%) | 1 / 60 (1.7%) | 1 (of 4 people) |
| Deep4Net | Scratch · 20 epochs | 2 / 60 (3.3%) | 1 / 60 (1.7%) | 1 (of 4 people) |
| EEGNet | Scratch · 20 epochs | 1 / 60 (1.7%) | 0 / 60 (0.0%) | 2 (of 4 people) |

Explicit non-control · 20 people · rules fixed before scoring; global threshold from a 4-person pilot

## Does it accept a window when nobody intends a command?

A second data set records the states between commands: looking at a central image with the flicker off, resting with the eyes on a white wall, and looking at the centre while the surrounding targets flicker. A fixed CCA decoder accepts or rejects each 1.5-second window as a command, under two rules fixed before any of these 20 people was scored: a global threshold fitted only on the calibration windows of the 4 pilot people below, and a personal threshold fitted on 96 labelled windows from each new person. Both rules score the same 96 held-out windows of each person.

**+3.0 pp** Detection balanced accuracy, personal minus global threshold, same 20 people

### A personal threshold detected intent a little better — and produced no more correct commands

Paired interval +0.5 to +5.7 pp. 10 of 20 people improved, 8 got worse and 2 were unchanged. The gain came from fewer false acceptances: coverage of intended commands barely moved, and the share of command windows both accepted and correct went from 68.1% to 67.6%.

When a command was intended: 960 windows under each rule, 48 from each person.

| Measure | Global threshold · fixed on the pilot | Personal threshold · own windows |
| --- | --- | --- |
| Detection balanced accuracy, command against no command | 76.0% (95% interval 71.6%–80.2%) | 79.0% (95% interval 74.2%–83.8%) |
| Command windows accepted (coverage) | 748 / 960 (77.9%) | 746 / 960 (77.7%) |
| Accepted and correct (end to end) | 654 / 960 (68.1%) | 649 / 960 (67.6%) |
| Correct among accepted | 85.8% (mean of each person’s rate) | 85.1% (mean of each person’s rate) |

Before any rejection the frequency was recognised in 769 / 960 command windows under both rules: the decoder is the same, and only the rejection rule differs. Detection went up; correct commands did not.

When no command was intended: windows accepted by mistake in each state, under each rule.

| State | Global threshold · fixed on the pilot | Personal threshold · own windows |
| --- | --- | --- |
| Central image, flicker off — NS1 | 49 / 240 (20.4%) | 32 / 240 (13.3%) |
| Looking at a white wall, resting — NS2 | 93 / 240 (38.8%) | 79 / 240 (32.9%) |
| Central image while the surrounding targets flicker — NS3 | 107 / 480 (22.3%) | 79 / 480 (16.5%) |
| All three states, pooled — every non-control window | 249 / 960 (25.9%) | 190 / 960 (19.8%) |

The detection score pools the three states as they were collected, 12, 12 and 24 windows a person, so the flickering-centre state counts twice; the last row is that pool.

### Limits of the non-control test

### Same dataset

The 20 people come from the same release, lab and protocol as the pilot; this is not evidence from an independent cohort.

### 96 labels per person

The personal rule uses 96 labelled windows from each person, half with a command and half without. The comparison cannot separate fitting the threshold to the person from simply having those labels. The source does not say when those windows were recorded relative to the test windows, so calibrating earlier and using later is untested here.

### Window rates

Separately collected 1.5-second windows in a fixed mix of states. They give window rates, not false activations per hour of continuous use, latency, or how often people actually issue commands.

### No amplitude unit

The source states no physical unit for its EEG values. The decoder uses correlations, which are unit-free.

### Bootstrap intervals

Whole-person bootstrap over the 20, conditional on the 4 pilot people and on each realised calibration split.

### Development set: the 4-person pilot

Scored with per-person thresholds fitted on each person’s own calibration trials. Its 4 people supplied the global threshold above and are not among the 20. Pooled window counts.

When a command was intended · Rejecting hard windows raises accuracy among accepted windows while refusing commands the person meant.

| State | Windows |
| --- | --- |
| Frequency recognised, before rejection | 152 / 192 (79.2%) |
| Accepted (coverage) | 130 / 192 (67.7%) |
| Accepted and correct (end to end) | 121 / 192 (63.0%) |
| Correct among accepted | 121 / 130 (93.1%) |

When no command was intended

| State | Accepted by mistake |
| --- | --- |
| Central image, flicker off | 9 / 48 (18.8%) |
| Looking at a white wall, resting | 20 / 48 (41.7%) |
| Central image while the surrounding targets flicker | 11 / 96 (11.5%) |

Offline, window by window.

[Why four people limit what can be published (English)](https://bci.report/data-use/#small-cohorts)

### YSU asynchronous SSVEP-BCI dataset

Jing Zhao, Qian Zhang, Xinrui Wang, Xueshuo Liu, Jiaxin Li, Fengjie Fan, Zhenhu Liang and Xiaoli Li · An EEG dataset for studying asynchronous steady-state visual evoked potential (SSVEP) based brain computer interfaces, Brain-Apparatus Communication 3(1) (2024), doi:10.1080/27706710.2024.2418650; data at doi:10.6084/m9.figshare.24906300.v3.

Before the experiment, every participant signed written informed consent; the study was reviewed and approved by the ethics committee of Qinhuangdao First Hospital. This site uses all twenty-four people of the release, four as the development pilot and twenty as the extension, and publishes only cohort means, pooled window counts and how many people were helped or harmed.

[Data paper ↗](https://doi.org/10.1080/27706710.2024.2418650) · [figshare release ↗](https://doi.org/10.6084/m9.figshare.24906300.v3) · [CC-BY-4.0](https://creativecommons.org/licenses/by/4.0/)

Data source: [extension-update.json](https://bci.report/data/extension-update.json) · schema bci-report-extension-update-v1.

Data source: [reviewed aggregate JSON](https://bci.report/data/context-update.json) · schema bci-report-context-update-v1.

Methods & limits

## Limits of the idle test

### 4 people

At this size an average stays close to its parts: a published rate can be turned back into a count, and a count narrowed to one of two people.

### Three minutes of idle

The test holds 180 seconds of idle, too little to estimate false activations per hour of unprompted rest.

### Cue-gated

Detection restarts at every cue, so the decoder always knows a decision window has opened. A system that must notice intent on its own faces a harder problem than this protocol measures.

### No probability quality on this protocol

These are thresholded decisions. Probability calibration is measured on EEGMAT and BETA, in the reliable-decisions results below.

[The four-person arithmetic, in full (English)](https://bci.report/data-use/#small-cohorts)

### ds005342 · Seated motor imagery · cue-gated replay

OpenNeuro ds005342 contributors · version 1.0.3, doi:10.18112/openneuro.ds005342.v1.0.3; associated study doi:10.3389/fninf.2022.961089. Original author credits are retained at the linked source.

The source README reports voluntary signed consent and approval by the ethics committee of Universidad Antonio Nariño. Only cohort aggregates appear here.

[OpenNeuro dataset ↗](https://doi.org/10.18112/openneuro.ds005342.v1.0.3) · [Associated study ↗](https://doi.org/10.3389/fninf.2022.961089) · [CC0-1.0](https://creativecommons.org/publicdomain/zero/1.0/)

Data source: [reviewed aggregate JSON](https://bci.report/data/experiments.json) · [this protocol as CSV](https://bci.report/data/idle-results.csv) · research-preview-20260920.

Reliable decisions · route 1 of the plan below · EEGMAT and BETA

## When should a decoder decline to decide?

Route 1 took the saved test scores of models this site already publishes — on EEGMAT, 36 people, mental arithmetic against rest, and on BETA, 70 people, a 40-target SSVEP speller — and asked which trials each decoder should have declined, under four rules fixed in advance. Full-coverage accuracies are the published ones: for the two LaBraM arms, the adaptation release’s seed-20260922 mean.

### Four rules, fixed before scoring

- **Fixed threshold (F)**: accept a trial when its calibrated top-class probability is at least 0.8. Temperature scaling, fitted on calibration scores, keeps every predicted label.
- **Coverage target (S-cov)**: accept the most confident trials, with the cut-off set from calibration quantiles so that 80% should be accepted.
- **Certified risk (S-risk)**: selection with guaranteed risk (SGR, δ = 0.05) certifies a cut-off whose error should stay at or below a target r*, here half the calibration error. A fold where nothing can be certified accepts nothing.
- **Learned reject option (L)**: a logistic selector on the classifier’s top two scores and their margin, plus a spectral description of the signal that does not depend on the model, trained to predict which trials the classifier gets wrong.

Calibration scores never include a test person: in each outer fold the training people form four groups, and each group is scored by a model trained on the other three. Intervals are paired person-bootstrap 95% intervals over 2,000 resamples, with no multiplicity correction. A contrast is called a difference only when its interval excludes zero; differences of rates are in percentage points (pp).

### A fixed threshold is a different policy for each method

The same cut-off — accept when the calibrated top-class probability is at least 0.8 — accepts very different shares of trials from different decoders, and from different people.

BETA · 70 people · 11,200 trials, uniform over 40 targets. Methods in the core matrix’s order.

| Method | Balanced accuracy, everything accepted | Accepted at confidence ≥ 0.8 | Error among accepted | People with nothing accepted | Coverage when the cut-off targets 80% |
| --- | --- | --- | --- | --- | --- |
| Standard CCA | 63.1% (the published value) | 3,176 / 11,200 (coverage 28.4% · 95% interval 22.9%–34.2%) | 4.3% (95% interval 2.7%–6.8%) | 0 (of 70 people) | 79.7% (95% interval 75.0%–84.0%) |
| CBraMod | 33.7% (the published value) | 165 / 11,200 (coverage 1.5% · 95% interval 0.8%–2.3%) | 22.4% (95% interval 5.9%–45.1%) | 38 (of 70 people) | 76.4% (95% interval 72.8%–80.0%) |
| EEGNet | 55.8% (the published value) | 1,863 / 11,200 (coverage 16.6% · 95% interval 12.5%–21.0%) | 5.5% (95% interval 2.8%–9.1%) | 10 (of 70 people) | 80.5% (95% interval 75.6%–85.1%) |

BETA: paired differences in coverage under the fixed threshold, first method minus second

| Pair | Difference | Reading |
| --- | --- | --- |
| Standard CCA − CBraMod | +26.9 pp (95% interval +21.7 to +32.4 pp) | difference resolved |
| Standard CCA − EEGNet | +11.7 pp (95% interval +7.8 to +16.2 pp) | difference resolved |
| CBraMod − EEGNet | −15.2 pp (95% interval −19.2 to −11.5 pp) | difference resolved |

EEGMAT · 36 people · 2,160 windows, half rest and half arithmetic. Methods in the core matrix’s order.

| Method | Balanced accuracy, everything accepted | Accepted at confidence ≥ 0.8 | Error among accepted | People with nothing accepted | Coverage when the cut-off targets 80% |
| --- | --- | --- | --- | --- | --- |
| Spectral ridge | 56.8% (the published value) | 3 / 2,160 (coverage 0.1% · 95% interval 0.0%–0.3%) | 0 / 3 (wrong, of those accepted) Unstable: fewer than 10 accepted, so no rate is read from it | 33 (of 36 people) | 80.6% (95% interval 78.9%–82.3%) |
| EEGNet | 67.6% (the published value) | 126 / 2,160 (coverage 5.8% · 95% interval 2.3%–10.6%) | 42.1% (95% interval 13.0%–61.4%) | 19 (of 36 people) | 79.1% (95% interval 74.9%–83.2%) |
| LaBraM · head only, encoder frozen | 56.9% (the published seed-20260922 mean, adaptation release) | 1 / 2,160 (coverage 0.05% · 95% interval 0.0%–0.1%) | 0 / 1 (wrong, of those accepted) Unstable: fewer than 10 accepted, so no rate is read from it | 35 (of 36 people) | 79.4% (95% interval 77.7%–81.1%) |
| LaBraM · LoRA rank 4 + head | 64.4% (the published seed-20260922 mean, adaptation release) | 44 / 2,160 (coverage 2.0% · 95% interval 0.9%–3.5%) | 22.7% (95% interval 6.3%–45.5%) | 24 (of 36 people) | 81.5% (95% interval 79.1%–83.9%) |

EEGMAT: paired differences in coverage under the fixed threshold, first method minus second

| Pair | Difference | Reading |
| --- | --- | --- |
| Spectral ridge − EEGNet | −5.7 pp (95% interval −10.5 to −2.1 pp) | difference resolved |
| Spectral ridge − LaBraM (head only) | +0.1 pp (95% interval 0.00 to +0.2 pp) | no difference resolved |
| Spectral ridge − LaBraM (LoRA) | −1.9 pp (95% interval −3.3 to −0.8 pp) | difference resolved |
| EEGNet − LaBraM (head only) | +5.8 pp (95% interval +2.2 to +10.6 pp) | difference resolved |
| EEGNet − LaBraM (LoRA) | +3.8 pp (95% interval +0.4 to +8.2 pp) | difference resolved |
| LaBraM (head only) − LaBraM (LoRA) | −2.0 pp (95% interval −3.4 to −0.9 pp) | difference resolved |

#### Error at matched coverage

On BETA the smallest coverage the fixed threshold reached was 165 of 11,200 trials (1.5%, CBraMod’s). Each method then accepts its own 165 most confident trials, so the threshold drops out of the comparison:

BETA: error among each method’s 165 most confident trials, with paired differences.

| Method | Error among its most confident | Reading |
| --- | --- | --- |
| Standard CCA | 0.6% (95% interval 0.0%–2.3%) | a descriptive level, no verdict |
| CBraMod | 22.4% (95% interval 5.9%–45.1%) | a descriptive level, no verdict |
| EEGNet | 8.5% (95% interval 0.0%–28.5%) | a descriptive level, no verdict |
| Standard CCA − CBraMod | −21.8 pp (95% interval −44.6 to −5.1 pp) | difference resolved |
| Standard CCA − EEGNet | −7.9 pp (95% interval −28.2 to +1.7 pp) | no difference resolved |
| CBraMod − EEGNet | +13.9 pp (95% interval +5.3 to +22.2 pp) | difference resolved |

On EEGMAT that common coverage is 1 window of 2,160: fewer than 10 accepted, so no verdict.

### A learned reject option did not beat the model’s own calibrated confidence

Holding the classifier fixed, the learned reject option L — which also sees a spectral description of the signal — was set against the calibrated confidence S of the same classifier, on the same test trials. Two measures: the area under the risk–coverage curve (AURC; lower means the errors sit among the trials ranked least certain), and the error among the 80% of trials each ranks as most certain. L had a lower error than S at 80% for no method; where a difference was resolved, L erred more. By AURC, L ranked better only for CBraMod on BETA and worse for LaBraM (head only) on EEGMAT; every other contrast: no difference resolved.

EEGMAT · 36 people.

| Method | AURC · confidence S | AURC · learned L | L − S, AURC | Error at 80% · S | Error at 80% · L | L − S, error at 80% |
| --- | --- | --- | --- | --- | --- | --- |
| Spectral ridge | 0.386 (95% interval 0.348–0.428) | 0.399 (95% interval 0.359–0.440) | +0.013 (95% interval −0.006 to +0.029) no difference resolved | 41.4% (95% interval 38.9%–43.9%) | 41.9% (95% interval 39.2%–44.4%) | +0.5 pp (95% interval −1.2 to +1.7 pp) no difference resolved |
| EEGNet | 0.293 (95% interval 0.211–0.368) | 0.309 (95% interval 0.238–0.379) | +0.016 (95% interval −0.014 to +0.050) no difference resolved | 29.5% (95% interval 23.9%–35.0%) | 31.8% (95% interval 27.0%–36.9%) | +2.3 pp (95% interval +0.6 to +4.1 pp) difference resolved |
| LaBraM · head only, encoder frozen | 0.396 (95% interval 0.351–0.441) | 0.422 (95% interval 0.378–0.466) | +0.026 (95% interval +0.005 to +0.046) difference resolved | 42.9% (95% interval 39.0%–45.8%) | 43.6% (95% interval 40.2%–46.6%) | +0.6 pp (95% interval −0.5 to +2.7 pp) no difference resolved |
| LaBraM · LoRA rank 4 + head | 0.308 (95% interval 0.245–0.373) | 0.323 (95% interval 0.267–0.379) | +0.015 (95% interval −0.011 to +0.041) no difference resolved | 33.2% (95% interval 28.6%–37.4%) | 35.1% (95% interval 30.7%–39.8%) | +1.9 pp (95% interval +0.6 to +3.5 pp) difference resolved |

BETA · 70 people.

| Method | AURC · confidence S | AURC · learned L | L − S, AURC | Error at 80% · S | Error at 80% · L | L − S, error at 80% |
| --- | --- | --- | --- | --- | --- | --- |
| Standard CCA | 0.145 (95% interval 0.105–0.194) | 0.146 (95% interval 0.107–0.196) | +0.002 (95% interval −0.004 to +0.008) no difference resolved | 27.2% (95% interval 20.8%–33.9%) | 27.4% (95% interval 21.1%–34.5%) | +0.3 pp (95% interval −0.3 to +1.0 pp) no difference resolved |
| CBraMod | 0.497 (95% interval 0.430–0.566) | 0.473 (95% interval 0.413–0.538) | −0.024 (95% interval −0.039 to −0.007) difference resolved | 61.7% (95% interval 56.8%–66.5%) | 61.6% (95% interval 57.1%–66.4%) | −0.03 pp (95% interval −0.8 to +0.6 pp) no difference resolved |
| EEGNet | 0.208 (95% interval 0.161–0.264) | 0.201 (95% interval 0.154–0.257) | −0.007 (95% interval −0.014 to +0.001) no difference resolved | 34.8% (95% interval 28.7%–41.4%) | 35.6% (95% interval 29.2%–42.4%) | +0.8 pp (95% interval +0.02 to +1.6 pp) difference resolved |

#### What declining buys, under the calibrated confidence

How much declining buys is read per protocol; the two are not compared: forty targets against two classes. On BETA, standard CCA’s error falls from 36.9% with everything accepted to 12.4% among its most certain half; on EEGMAT, EEGNet’s falls from 32.4% to 27.1%.

Error among the trials accepted, by the share of test trials the calibrated confidence accepts. Point estimates.

| Method | Everything accepted | Most certain 80% | Most certain 50% |
| --- | --- | --- | --- |
| EEGMAT |  |  |  |
| Spectral ridge | 43.2% | 41.4% | 39.5% |
| EEGNet | 32.4% | 29.5% | 27.1% |
| LaBraM · head only, encoder frozen | 43.1% | 42.9% | 40.7% |
| LaBraM · LoRA rank 4 + head | 35.6% | 33.2% | 29.5% |
| BETA |  |  |  |
| Standard CCA | 36.9% | 27.2% | 12.4% |
| CBraMod | 66.3% | 61.7% | 53.2% |
| EEGNet | 44.2% | 34.8% | 18.8% |

### A certified error level did not reliably hold on new people

S-risk’s guarantee assumes calibration and test trials are exchangeable; across people they are not. On EEGMAT it certified no outer fold for any method, so nothing was accepted. On BETA it certified folds for every method, and in some certified folds the error on the new people exceeded that fold’s own target. The pooled error minus the target was not resolved from zero for any method.

S-risk at the relative target. Folds over their own target count certified outer folds whose realised error exceeded that fold’s r*.

| Method | Folds certified | Accepted | Error among accepted | Target r*, weighted over folds | Certified folds over their own target | Error minus target |
| --- | --- | --- | --- | --- | --- | --- |
| BETA · 7 outer folds · 70 people |  |  |  |  |  |  |
| Standard CCA | 7 / 7 | 6,751 / 11,200 (coverage 60.3%) | 17.0% (95% interval 13.3%–21.6%) | 18.5% | 4 / 7 | −1.5 pp (95% interval −5.3 to +3.2 pp) no difference resolved |
| CBraMod | 4 / 7 | 522 / 11,200 (coverage 4.7%) | 33.1% (95% interval 18.7%–48.5%) | 34.9% | 2 / 4 | −1.8 pp (95% interval −16.2 to +13.6 pp) no difference resolved |
| EEGNet | 7 / 7 | 5,605 / 11,200 (coverage 50.0%) | 18.9% (95% interval 14.9%–23.7%) | 23.3% | 2 / 7 | −4.4 pp (95% interval −8.5 to +0.5 pp) no difference resolved |
| EEGMAT · 5 outer folds · 36 people |  |  |  |  |  |  |
| Spectral ridge | 0 / 5 | 0 / 2,160 (nothing accepted) | — (not defined: nothing accepted) | — (no fold certified) | — (no fold certified) | — (not defined: nothing accepted) |
| EEGNet | 0 / 5 | 0 / 2,160 (nothing accepted) | — (not defined: nothing accepted) | — (no fold certified) | — (no fold certified) | — (not defined: nothing accepted) |
| LaBraM · head only, encoder frozen | 0 / 5 | 0 / 2,160 (nothing accepted) | — (not defined: nothing accepted) | — (no fold certified) | — (no fold certified) | — (not defined: nothing accepted) |
| LaBraM · LoRA rank 4 + head | 0 / 5 | 0 / 2,160 (nothing accepted) | — (not defined: nothing accepted) | — (no fold certified) | — (no fold certified) | — (not defined: nothing accepted) |

Each fold holds about ten people, so a fold’s error also carries sampling noise; the count of folds over target is descriptive.

### A personal recalibration costs each new person labels

R0 uses the population temperature and no label from the new person; R1 fits a personal temperature on a labelled prefix of that person’s own trials. With 40 labels per new person on BETA, NLL and AURC fell for every method. With 10 per person on EEGMAT, NLL rose, with the interval excluding zero, for three of the four methods: many personal temperatures were degenerate, and they were kept, as the protocol requires. Re-setting only the coverage cut-off from that prefix, without its labels, moved EEGMAT coverage further from the 80% target with the 10-label prefix, resolved for three of the four methods.

R1 minus R0 on the same remaining trials; negative is better.

| Method | Labelled prefix | Labels per new person | Change in NLL, R1 − R0 | Change in ECE | Change in AURC | People with a degenerate personal temperature | Label-free cut-off: change in distance from the 80% target |
| --- | --- | --- | --- | --- | --- | --- | --- |
| BETA |  |  |  |  |  |  |  |
| Standard CCA | block 1, one trial per target | 40 | −0.065 (95% interval −0.103 to −0.032) difference resolved | −0.019 (95% interval −0.048 to +0.009) no difference resolved | −0.012 (95% interval −0.022 to −0.005) difference resolved | 1 / 70 | +1.0 pp (95% interval −4.0 to +2.2 pp) no difference resolved |
| CBraMod | block 1, one trial per target | 40 | −0.113 (95% interval −0.171 to −0.048) difference resolved | −0.083 (95% interval −0.120 to −0.042) difference resolved | −0.052 (95% interval −0.070 to −0.031) difference resolved | 0 / 70 | −0.3 pp (95% interval −4.4 to +3.8 pp) no difference resolved |
| EEGNet | block 1, one trial per target | 40 | −0.080 (95% interval −0.135 to −0.020) difference resolved | −0.089 (95% interval −0.125 to −0.048) difference resolved | −0.016 (95% interval −0.027 to −0.004) difference resolved | 0 / 70 | +2.6 pp (95% interval −2.9 to +4.0 pp) no difference resolved |
| EEGMAT |  |  |  |  |  |  |  |
| Spectral ridge | first 5 windows of each recording, then a one-window gap | 10 | +0.054 (95% interval +0.017 to +0.103) difference resolved | +0.059 (95% interval +0.006 to +0.084) difference resolved | +0.006 (95% interval −0.027 to +0.039) no difference resolved | 9 / 36 | +10.6 pp (95% interval +4.6 to +15.8 pp) difference resolved |
| Spectral ridge | first 10 windows of each recording, then a one-window gap | 20 | +0.023 (95% interval +0.003 to +0.047) difference resolved | +0.031 (95% interval −0.006 to +0.061) no difference resolved | +0.013 (95% interval −0.022 to +0.048) no difference resolved | 9 / 36 | +1.7 pp (95% interval −2.0 to +5.7 pp) no difference resolved |
| EEGNet | first 5 windows of each recording, then a one-window gap | 10 | +0.333 (95% interval −0.051 to +0.881) no difference resolved | −0.040 (95% interval −0.091 to +0.024) no difference resolved | −0.086 (95% interval −0.154 to −0.014) difference resolved | 8 / 36 | +5.8 pp (95% interval −1.1 to +10.3 pp) no difference resolved |
| EEGNet | first 10 windows of each recording, then a one-window gap | 20 | +0.027 (95% interval −0.088 to +0.185) no difference resolved | −0.051 (95% interval −0.095 to +0.025) no difference resolved | −0.104 (95% interval −0.171 to −0.030) difference resolved | 5 / 36 | +1.7 pp (95% interval −3.2 to +6.0 pp) no difference resolved |
| LaBraM · head only, encoder frozen | first 5 windows of each recording, then a one-window gap | 10 | +0.047 (95% interval +0.016 to +0.082) difference resolved | +0.057 (95% interval +0.012 to +0.082) difference resolved | −0.017 (95% interval −0.052 to +0.018) no difference resolved | 10 / 36 | +7.2 pp (95% interval +2.1 to +11.1 pp) difference resolved |
| LaBraM · head only, encoder frozen | first 10 windows of each recording, then a one-window gap | 20 | −0.003 (95% interval −0.020 to +0.019) no difference resolved | +0.004 (95% interval −0.033 to +0.032) no difference resolved | −0.029 (95% interval −0.064 to +0.008) no difference resolved | 10 / 36 | +2.7 pp (95% interval −0.7 to +6.0 pp) no difference resolved |
| LaBraM · LoRA rank 4 + head | first 5 windows of each recording, then a one-window gap | 10 | +0.937 (95% interval +0.184 to +1.924) difference resolved | +0.036 (95% interval −0.008 to +0.078) no difference resolved | −0.019 (95% interval −0.075 to +0.035) no difference resolved | 9 / 36 | +6.9 pp (95% interval +2.8 to +10.5 pp) difference resolved |
| LaBraM · LoRA rank 4 + head | first 10 windows of each recording, then a one-window gap | 20 | −0.022 (95% interval −0.053 to +0.019) no difference resolved | −0.020 (95% interval −0.047 to +0.022) no difference resolved | −0.072 (95% interval −0.118 to −0.022) difference resolved | 4 / 36 | +1.8 pp (95% interval −2.7 to +5.4 pp) no difference resolved |

### LoRA and probability quality, on EEGMAT

On EEGMAT, LaBraM adapted with rank-4 LoRA had a lower NLL than the head-only arm of the same recipe: calibrated −0.035 (95% interval −0.054 to −0.013). For ECE, no difference resolved (+0.015; −0.017 to +0.045). The LoRA arm is also more accurate, 64.4% against 56.9% balanced accuracy (seed 20260922, as the adaptation release publishes it; the three-seed means are on the model-adaptation page), so the NLL gap alone is not evidence of more honest probabilities. The adaptation itself is on [the model-adaptation page](https://bci.report/topics/model-adaptation/).

### Probability quality, with everything accepted

Negative log-likelihood (NLL), expected calibration error (ECE, 15 equal-mass bins) and the Brier score after temperature scaling, and NLL and ECE before it where the model outputs a probability. Lower is better throughout. NLL and the Brier score depend on the number of classes, so EEGMAT (2) and BETA (40) are not compared. Binned ECE is biased upward under person resampling, so a small ECE can sit at the lower end of its interval. In one outer fold of the LaBraM head-only arm the population temperature reached its search bound; it was flagged and kept.

Full coverage, 95% person-bootstrap intervals.

| Method | NLL, calibrated | ECE, calibrated | Brier score, calibrated | NLL, raw | ECE, raw |
| --- | --- | --- | --- | --- | --- |
| EEGMAT |  |  |  |  |  |
| Spectral ridge | 0.679 (95% interval 0.668–0.691) | 0.037 (95% interval 0.033–0.070) | 0.486 (95% interval 0.475–0.498) | — (not applicable: no raw probability, not zero) | — (not applicable: no raw probability, not zero) |
| EEGNet | 0.648 (95% interval 0.613–0.693) | 0.099 (95% interval 0.059–0.151) | 0.450 (95% interval 0.422–0.485) | 0.874 (95% interval 0.684–1.102) | 0.135 (95% interval 0.088–0.200) |
| LaBraM · head only, encoder frozen | 0.683 (95% interval 0.674–0.691) | 0.036 (95% interval 0.034–0.072) | 0.490 (95% interval 0.481–0.498) | 0.683 (95% interval 0.662–0.703) | 0.061 (95% interval 0.046–0.090) |
| LaBraM · LoRA rank 4 + head | 0.648 (95% interval 0.624–0.675) | 0.051 (95% interval 0.040–0.094) | 0.456 (95% interval 0.433–0.481) | 0.647 (95% interval 0.607–0.692) | 0.043 (95% interval 0.038–0.088) |
| BETA |  |  |  |  |  |
| Standard CCA | 1.476 (95% interval 1.247–1.716) | 0.050 (95% interval 0.028–0.079) | 0.504 (95% interval 0.437–0.572) | — (not applicable: no raw probability, not zero) | — (not applicable: no raw probability, not zero) |
| CBraMod | 2.809 (95% interval 2.638–3.001) | 0.119 (95% interval 0.084–0.154) | 0.843 (95% interval 0.815–0.871) | — (not applicable: no raw probability, not zero) | — (not applicable: no raw probability, not zero) |
| EEGNet | 1.912 (95% interval 1.670–2.177) | 0.136 (95% interval 0.103–0.168) | 0.607 (95% interval 0.554–0.663) | 1.907 (95% interval 1.665–2.171) | 0.136 (95% interval 0.103–0.168) |

Robustness and exploratory arms, each read on its own

#### ds003810, motor imagery and rest: crude

10 people, two per test fold. Its contrasts below are secondary. The certified risk accepted nothing here for any method.

| Method | Balanced accuracy, everything accepted | Accepted at confidence ≥ 0.8 | People with nothing accepted | L − S, AURC | L − S, error at 80% | Folds certified (S-risk) |
| --- | --- | --- | --- | --- | --- | --- |
| Spectral ridge | 54.9% (the published value) | 0 / 1,200 (coverage 0.0%) | 10 (of 10 people) | +0.003 (95% interval −0.031 to +0.032) no difference resolved | +0.5 pp (95% interval −1.1 to +2.3 pp) no difference resolved | 0 / 5 (nothing accepted) |
| CBraMod | 62.9% (the published value) | 7 / 1,200 (coverage 0.6%) | 6 (of 10 people) | +0.013 (95% interval −0.014 to +0.030) no difference resolved | +0.7 pp (95% interval −0.8 to +2.4 pp) no difference resolved | 0 / 5 (nothing accepted) |
| EEGNet | 71.0% (the published value) | 250 / 1,200 (coverage 20.8%) | 0 (of 10 people) | +0.038 (95% interval +0.009 to +0.061) difference resolved | +0.9 pp (95% interval −0.4 to +2.4 pp) no difference resolved | 0 / 5 (nothing accepted) |

#### Secondary seeds

Every other saved seed of the trained methods, each with its own calibration, cut-offs and selector, scored on that seed’s saved test predictions.

| Method | Dataset | Seed | L − S, AURC | L − S, error at 80% |
| --- | --- | --- | --- | --- |
| EEGNet | EEGMAT | 20260920 | +0.007 (95% interval −0.029 to +0.041) no difference resolved | +1.4 pp (95% interval −0.6 to +3.2 pp) no difference resolved |
| EEGNet | EEGMAT | 20260921 | −0.001 (95% interval −0.045 to +0.038) no difference resolved | +2.3 pp (95% interval 0.00 to +4.6 pp) no difference resolved |
| LaBraM · head only, encoder frozen | EEGMAT | 20260923 | +0.044 (95% interval +0.013 to +0.074) difference resolved | +1.9 pp (95% interval +0.3 to +3.7 pp) difference resolved |
| LaBraM · head only, encoder frozen | EEGMAT | 20260924 | +0.024 (95% interval −0.001 to +0.050) no difference resolved | +1.4 pp (95% interval +0.1 to +2.8 pp) difference resolved |
| LaBraM · LoRA rank 4 + head | EEGMAT | 20260923 | +0.021 (95% interval −0.001 to +0.043) no difference resolved | +2.0 pp (95% interval +0.7 to +3.2 pp) difference resolved |
| LaBraM · LoRA rank 4 + head | EEGMAT | 20260924 | +0.024 (95% interval −0.004 to +0.050) no difference resolved | +1.7 pp (95% interval +0.6 to +3.2 pp) difference resolved |
| EEGNet | BETA | 20260919 | −0.002 (95% interval −0.011 to +0.007) no difference resolved | +0.9 pp (95% interval −0.1 to +1.8 pp) no difference resolved |
| EEGNet | BETA | 20260920 | −0.006 (95% interval −0.013 to +0.002) no difference resolved | +0.3 pp (95% interval −0.5 to +1.0 pp) no difference resolved |
| EEGNet | BETA | 20260921 | −0.010 (95% interval −0.019 to −0.001) difference resolved | +0.1 pp (95% interval −0.8 to +0.8 pp) no difference resolved |

#### Two sensitivity arms: certified folds only

The matched-model holdout trains the model on three quarters of the training people and calibrates it on the remaining quarter, so calibration and test scores come from one model. Platt scaling on two classes and vector scaling on BETA replace temperature scaling and can change predicted labels.

| Method | Dataset | Arm | Folds certified | Certified folds over their own target |
| --- | --- | --- | --- | --- |
| Spectral ridge | EEGMAT | matched-model holdout | 0 / 5 | — (no fold certified) |
| EEGNet | EEGMAT | matched-model holdout | 1 / 5 | 0 / 1 |
| LaBraM · head only, encoder frozen | EEGMAT | matched-model holdout | 0 / 5 | — (no fold certified) |
| LaBraM · LoRA rank 4 + head | EEGMAT | matched-model holdout | 0 / 5 | — (no fold certified) |
| Standard CCA | BETA | matched-model holdout | 7 / 7 | 3 / 7 |
| CBraMod | BETA | matched-model holdout | 6 / 7 | 3 / 6 |
| EEGNet | BETA | matched-model holdout | 7 / 7 | 1 / 7 |
| Spectral ridge | EEGMAT | Platt scaling | 0 / 5 | — (no fold certified) |
| EEGNet | EEGMAT | Platt scaling | 0 / 5 | — (no fold certified) |
| LaBraM · head only, encoder frozen | EEGMAT | Platt scaling | 0 / 5 | — (no fold certified) |
| LaBraM · LoRA rank 4 + head | EEGMAT | Platt scaling | 0 / 5 | — (no fold certified) |
| Standard CCA | BETA | vector scaling | 7 / 7 | 5 / 7 |
| CBraMod | BETA | vector scaling | 4 / 7 | 2 / 4 |
| EEGNet | BETA | vector scaling | 7 / 7 | 2 / 7 |

#### A reject head trained with its classifier (exploratory)

A SelectiveNet-style EEGNet, trained with its own selection head g (alpha 0.5, lambda 32, target coverage 0.8). Within the same model, g is set against the calibrated confidence of its own classifier head; a positive difference means g is worse.

| Dataset | g − confidence, AURC | g − confidence, error at 80% |
| --- | --- | --- |
| EEGMAT | +0.011 (95% interval −0.012 to +0.035) no difference resolved | +2.4 pp (95% interval +0.8 to +4.2 pp) difference resolved |
| BETA | +0.080 (95% interval +0.061 to +0.099) difference resolved | +1.9 pp (95% interval +1.0 to +2.6 pp) difference resolved |

A cross-day label-budget arm on BNCI2015-001 stays unpublished while its source is held (see [the holds register](https://bci.report/releases/#hold-bnci2015-001-crossday)).

### Limits of route 1

### Method comparisons

Every protocol here is balanced or uniform by design: EEGMAT is half rest and half arithmetic, BETA uniform over its 40 targets, ds003810 balanced. The figures compare methods; none is a deployment error rate. On EEGMAT each class is its own recording, so recording-level differences are part of what any model or selector can use. BETA is cue-paced spelling with no idle state, so it gives no false-activation figure of any kind.

### Nothing accepted, no error rate

A risk–coverage curve exists only where something is accepted. At zero coverage there is no error rate, not a zero one, and fewer than 10 accepted trials are flagged unstable.

### A nominal guarantee

A certified selective risk assumes that calibration and test data are exchangeable. Across people they are not, so the guarantee is nominal: how often it fails is measured here, not assumed.

### Out-of-distribution input

Rejecting likely errors on known classes is not detecting unfamiliar input: an uncertainty threshold may not flag an unseen class. Route 1 makes no out-of-distribution claim.

[Mulder et al. (2026), motor imagery: arXiv:2603.13324 ↗](https://arxiv.org/abs/2603.13324)

### Calibration on fewer people

Calibration scores come from inner models that see about three quarters of the training people, so they may be less confident than the full model whose scores are tested. This approximation is part of every calibrated figure.

### Published accuracies

Temperature scaling keeps each predicted label, so every full-coverage accuracy equals the site’s published value. The matched-model, map-sensitivity and jointly trained arms use other models or maps; their accuracies are not published and are never mixed with the site’s.

### The difference rule

A contrast is called a difference only when its paired 95% person-bootstrap interval excludes zero, with no multiplicity correction; otherwise “no difference resolved”. One row is above another only where their 95% intervals do not overlap; descriptive levels carry no verdict.

### Idle left out

On the idle protocol, route 1 gives per-window proportions at each decision time, never a false-activation rate per hour, in a different unit from this page’s idle figures, so they are left out.

### ds003810 is crude

Ten people, two per test fold: bootstrap intervals are crude, and no person-level spread is published.

### The recordings and the methods

### EEGMAT

Igor Zyma, Ivan Seleznov, Anton Popov, Mariia Chernykh, Oleksii Shpenkov · EEG During Mental Arithmetic Tasks 1.0.0, PhysioNet, doi:10.13026/C2JQ1P. Study: Zyma et al. (2019), doi:10.3390/data4010014. PhysioNet platform: Pollard et al. (2026), doi:10.1038/s44360-026-00096-z.

[Dataset record ↗](https://physionet.org/content/eegmat/1.0.0/) · [Open Data Commons Attribution License 1.0](https://opendatacommons.org/licenses/by/1-0/)

### BETA

Bingchuan Liu et al. · BETA: A Large Benchmark Database Toward SSVEP-BCI Application (2020), doi:10.3389/fnins.2020.00627. Figshare 12264401 v3; mirror Bingchuan/BETA.

[Dataset record ↗](https://figshare.com/articles/dataset/The_BETA_database/12264401) · [CC BY 4.0](https://creativecommons.org/licenses/by/4.0/)

### ds003810

Peterson et al. · OpenNeuro ds003810, version 2.0.2. Study: https://pmc.ncbi.nlm.nih.gov/articles/PMC9114495/

[Dataset record ↗](https://doi.org/10.18112/openneuro.ds003810.v2.0.2) · [CC0-1.0](https://creativecommons.org/publicdomain/zero/1.0/)

#### Methods these results rest on, checked against their records on 4 October 2026

- [Guo, Pleiss, Sun & Weinberger, ICML 2017 · On calibration of modern neural networks ↗](https://arxiv.org/abs/1706.04599)
- [Geifman & El-Yaniv, 2017 · Selective classification for deep neural networks ↗](https://arxiv.org/abs/1705.08500)
- [Geifman & El-Yaniv, ICML 2019 · SelectiveNet: a deep neural network with an integrated reject option ↗](https://proceedings.mlr.press/v97/geifman19a.html)
- [Geifman, Uziel & El-Yaniv, ICLR 2019 · Bias-reduced uncertainty estimation for deep neural classifiers (AURC) ↗](https://arxiv.org/abs/1805.08206)
- [Nixon et al., 2019 · Measuring calibration in deep learning ↗](https://arxiv.org/abs/1904.01685)
- [Mulder, Valdenegro-Toro, Sburlea & de Jong, 2026 · The challenge of out-of-distribution detection in motor imagery BCIs ↗](https://arxiv.org/abs/2603.13324)

Checks behind these figures: both stage-0 audits passed. The independent primary audit passed 11 of its 12 checks; the one it failed found a documentation error, not a computation error — the run log said a degenerate personal temperature falls back to the population one, while the code keeps it, as the protocol requires, and every number was computed and reproduced that way. The independent secondary audit passed all 15. Both re-implement the definitions without the study code; they stay in the private run root and are pinned by hash.

Data source: [reliable-decisions-update.json](https://bci.report/data/reliable-decisions-update.json) · schema bci-report-reliable-decisions-update-v1.

A longer write-up of the BETA results is on Hugging Face: [When should an EEG decoder abstain? ↗](https://huggingface.co/blog/Twu31/when-should-an-eeg-decoder-abstain)

Research plan · three routes run

## Jev-style decision models for EEG

A decoder has more choices than a class label: it can act, wait for more evidence, or ask for calibration.

Status: all three routes have been run. The first route’s results are in the section above; the second’s and the third’s are on their own pages.

“Jev-style” here means the interface of a decision model like TypeSafe’s Jev, applied to EEG: encode the recording once, then answer several explicit, typed questions about it, each with a probability. The first route needs no new model: it rescores saved outputs of models this site already publishes. The second trained models that share one encoder (small EEGNets from scratch, and CBraMod frozen or adapted by LoRA) and are given each question by an identifier, never in language. The third asks the questions in words, through a frozen text encoder and a small head over frozen EEG features.

- First · Run · results above Reliable decisions Compare a fixed threshold, a simple statistical policy and a learned reject option on the same data. Report error at matched coverage, acceptance per class, and probability quality — Brier score, log loss and reliability — with calibration data kept apart from test data. Recalibration is a separate experiment, with its label cost counted. Published in the section above: error at matched coverage, log loss, the Brier score and calibration error. Not published: acceptance per class and reliability-diagram bins. [Reliable decisions: the results ↑](https://bci.report/topics/when-not-to-act/#reliable-decisions)
- Then · Run · results on their own page One representation, several questions On the motor-imagery and sleep protocols separately, compare independent task models, a shared encoder with fixed heads, and the same encoder with a question-conditioned head, at matched data and compute. Run on motor imagery (OpenBMI) and sleep (BOAS, with EESM19 as a crude replication). One secondary arm, CBraMod adapted by LoRA on sleep, ran after the other results were known; its design was fixed beforehand. [One model, several questions: the results →](https://bci.report/topics/shared-encoder/)
- Later · Run · results on their own page Questions in language Compare task identifiers, label templates and natural-language descriptions. Paraphrases and unseen concepts are tested separately and never merged into one zero-shot number. Run on SSVEP (BETA) and sleep (BOAS), with EESM19, OpenBMI motor imagery and Wearable-102 as secondary data. The pre-run permutation check failed twice and the owner revised it each time, the second time overriding its own “no further revision”; both failures are disclosed with the results. Questions about negation, location or waveform shape need signal-level ground truth. [Questions in language: the results →](https://bci.report/topics/questions-in-language/)

All three routes, with one answer each: [Jev-style questions on EEG: the evidence →](https://bci.report/jev-style/)

### Limits of the existing data

The sleep and P300 protocols on this site use balanced subsets. A probability estimated on them reflects that balance, so they serve to compare methods; a deployment error rate needs data in which each class occurs as often as in real use.

The first input with explicit non-control states is the asynchronous SSVEP data set above: a small pilot kept as the development set, then the rest of the same release, scored under rules fixed in advance.

### Published work

External evidence as its authors report it, checked against the original records on 27 September 2026.

#### [Geifman & El-Yaniv, 2017 · Selective classification for deep neural networks ↗](https://arxiv.org/abs/1705.08500)

**Shows** A trained classifier can be given a reject option with a target risk set by the user, trading coverage for error.

**Limits** Evidence from image benchmarks. Its guarantee assumes test data that resemble the calibration data, which EEG across people and sessions often does not.

#### [Geifman & El-Yaniv, ICML 2019 · SelectiveNet ↗](https://proceedings.mlr.press/v97/geifman19a.html)

**Shows** Classification and rejection can be trained together, with risk at a chosen coverage as the explicit objective.

**Limits** Not EEG evidence. Its guarantees do not carry over to a new participant or device by default.

#### [Chatterjee et al., 2026 · Making conformal predictors robust in healthcare settings ↗](https://arxiv.org/abs/2602.19483)

**Shows** On EEG seizure classification, patient shift left standard conformal prediction short of its nominal coverage, and personalised calibration raised coverage substantially.

**Limits** One clinical task. It shows that coverage must be measured under the split that will actually be used.

#### [Dai et al., 2026 · MTEEG: unified multi-task EEG analysis with low-rank adaptation ↗](https://arxiv.org/abs/2604.25131)

**Shows** One pretrained EEG model can be adapted to several tasks at once with task-specific LoRA modules.

**Limits** A separate adapter per task is not the same as several questions sharing one computation over the same window.

#### [Jiang et al., 2024 · NeuroLM: a universal multi-task foundation model for EEG ↗](https://arxiv.org/abs/2409.00101)

**Shows** EEG tokens fed to a language model, with instruction tuning, support several EEG tasks in one model.

**Limits** Instruction-style EEG models already exist. A multi-task result is not evidence that arbitrary questions generalise.

#### [Lu et al., 2025 · UniMind: LLMs for unified multi-task brain decoding ↗](https://arxiv.org/abs/2506.18962)

**Shows** A language-model-based EEG model can select task-aware queries to decode several tasks.

**Limits** Its queries are internal tokens, not criteria a user writes.

#### [Gijsen & Ritter, 2024 · EEG-language pretraining for label-efficient clinical phenotyping ↗](https://arxiv.org/abs/2409.07480)

**Shows** EEG aligned with clinical reports enables zero-shot classification and retrieval in the authors’ clinical evaluations.

**Limits** Hospital EEG and clinical phenotypes. Nothing yet about wearable devices, few channels or arbitrary concepts.

#### [Yu & Yao, 2026 · Visual Jev: Accurate and Efficient Decisions from Shared Visual Context ↗](https://arxiv.org/abs/2609.25845)

**Shows** In vision, one encoding of an image and its context can serve several independent forced-choice questions run as a batch: the same encode-once, answer-many idea, applied to images. This plan started from it.

**Limits** Its own typed-head control gave no consistent accuracy advantage, and its training gains were concentrated on the task families represented in training. Its speed-ups were measured on images.

### Where this connects

[How much calibration?](https://bci.report/topics/calibration-budget/) · [Does pretraining help?](https://bci.report/topics/does-pretraining-help/) · [Fewer electrodes](https://bci.report/topics/fewer-electrodes/)

Keep exploring

Transfer

- [— Sensor transfer **Dry vs. wet electrodes**](https://bci.report/topics/dry-vs-wet/)
- [— Context transfer **Screen to VR**](https://bci.report/topics/screen-to-vr/)
- [— Montage **Fewer electrodes**](https://bci.report/topics/fewer-electrodes/)
- [— Motion robustness **On the move**](https://bci.report/topics/on-the-move/)
- [— Session transfer · same person **Later sessions**](https://bci.report/topics/later-sessions/)

Adapting models

- [— Calibration budget **How much calibration?**](https://bci.report/topics/calibration-budget/)
- [— Model adaptation **Which part to update?**](https://bci.report/topics/model-adaptation/)
- [— Representation controls **Does pretraining help?**](https://bci.report/topics/does-pretraining-help/)
- [— Shared encoder · route 2 **One model, several questions**](https://bci.report/topics/shared-encoder/)
- [— Questions in language · route 3 **Questions in language**](https://bci.report/topics/questions-in-language/)
- [— Route 3 follow-ups **New SSVEP frequencies**](https://bci.report/topics/new-ssvep-frequencies/)

Reliability & clinical

- [— Abstention · decision research **When not to act**](https://bci.report/topics/when-not-to-act/)
- [— Sleep staging · simple baselines **Sleep-stage balance**](https://bci.report/topics/sleep-staging/)
- [— Clinical research **Clinical groups**](https://bci.report/topics/clinical-groups/)
- [— Data quality and reproducibility **Checked end to end**](https://bci.report/topics/data-quality/)

Other signals & pilots

- [— Other signals · human and macaque **Beyond scalp EEG**](https://bci.report/topics/beyond-scalp-eeg/)
- [— Pilot studies · small cohorts **Pilot studies**](https://bci.report/topics/pilot-studies/)

[All questions and the transfer-coverage map →](https://bci.report/topics/)

## Cite this page

BCI Report (2026). *How often does an EEG decoder fire when nobody is giving a command?* https://bci.report/topics/when-not-to-act/

Figures from releases [`reliable-decisions-update-20261004`](https://bci.report/releases/#reliable-decisions-update-20261004) (2026-10-04), [`extension-update-20261002`](https://bci.report/releases/#extension-update-20261002) (2026-10-02), [`context-update-20260927`](https://bci.report/releases/#context-update-20260927) (2026-09-27), [`research-preview-20260920`](https://bci.report/releases/#research-preview-20260920) (2026-09-20). Cite the upstream datasets as well: their credits are on this page.

Every release is archived on Zenodo: [doi:10.5281/zenodo.23123296](https://doi.org/10.5281/zenodo.23123296). [BibTeX for the site and its releases →](https://bci.report/api/#cite-heading) · [CITATION.cff ↗](https://raw.githubusercontent.com/twu3202/bci-report/main/CITATION.cff)

---
Markdown copy of https://bci.report/topics/when-not-to-act/, generated from the published page. Figures are aggregate results; terms of use: https://bci.report/data-use/
