OpenApeiron, Department of Cosmology and Astrophysics

Evidence-Carrying Anomaly Discovery

Machine learning can now rank every source in a telescope survey by how unusual it looks. A ranking is not a discovery. ECAD is a method for deciding when an unusual object can be claimed, with a stated error rate and an evidence trail anyone can check.

Published
2 November 2026
Version
1.1
Type
Methods paper, simulation study
Department
Apeiron, DoCA
Licence
CC BY 4.0
Simulated sources
116,800

A ranking is not a discovery.

Euclid's first release alone covered about 30 million objects, and Rubin and Roman will add far more. A recent search scanned 99.6 million Hubble cutouts in two to three days and returned the ones that look strangest. What such searches cannot yet do is say how many of those are wrong, whether a flag reflects the sky or the instrument, or what another team would need to check the claim.

No error control

Searches report how many flagged objects experts later confirmed. None says in advance how many of its claims are expected to be wrong.

Artifacts are judged by eye

Cosmic rays, ghosts and satellite trails can look unusual. Nothing formally requires a candidate to appear in more than one independent exposure.

No evidence standard

A flag arrives as an image and a score. The provenance, calibration and review history another team would need to check the claim are rarely attached.

How ECAD decides.

ECAD sits on top of any anomaly score. It does not try to find stranger objects than other methods. It decides which flagged objects can be claimed, and with what evidence.

Per view

Group 1Instrument A, visit 1
Quality gate
Score
Calibrate
Group 2Instrument A, visit 2
Quality gate
Score
Calibrate
Group 3Instrument B, two filters
Quality gate
Score
Calibrate

Per source

Unusual in at least two of three groups

Partial-conjunction test

Across the survey

False discovery control
Known or unexplained
Evidence bundle and level
The pipeline for one source observed in three independent groups. Each view is gated, scored and calibrated against reference views taken in the same conditions. Groups are combined by a test that needs at least two to agree, and the false discovery rate is controlled across all sources.
  1. 01

    Gate every view the same way

    One data-quality rule, which never looks at the anomaly score, is applied identically to the reference population and to the sources being tested. A view that fails carries no evidence.

  2. 02

    Compare like with like

    Each view is scored and turned into a conformal p-value against reference views taken in the same observing conditions: same instrument, depth and image sharpness.

  3. 03

    Require replication

    A partial-conjunction test asks whether a source is unusual in at least two independent groups of observations. An artifact in one exposure cannot pass on its own.

  4. 04

    Control false discoveries

    The Benjamini-Hochberg procedure across all sources keeps the expected share of false claims below a level fixed in advance.

  5. 05

    Separate known from unexplained

    A class-conditional test checks each candidate against every known class, with a stated rate at which a known object is wrongly called new.

  6. 06

    Attach the evidence

    Every candidate carries a hashed, versioned bundle and one of five levels, from statistical flag (L0) to physically confirmed (L4).

Two conditions that bound any search like this.

To find objects that make up a fraction π of a survey, at a false discovery rate q, each reference stratum needs at least κ/(qπ) views, where κ is two for most sources. That is the resolution condition. It depends on how rare the objects are, not on how large the survey is.

The second condition is about purity. If anomalies make up a fraction ε of the reference itself, they sit in its extreme tail and hide the real ones. The search only works while ε stays below about qπ/κ. Unlike resolution, this cannot be fixed by adding data, and it rules out using a survey as its own reference.

The reference must be large enough to hold κ/(qπ) views, and clean enough to hold fewer than one contaminant among them.
From Section 3.5 of the paper

A sky where the truth is known.

Before touching real data, we built a synthetic sky of 116,800 sources: disks, bulges, clumpy galaxies, stars and crowded fields, seen by two instruments in three independent groups of observations, under changing depth and image sharpness. Every exposure has a 2% chance of a cosmic ray, satellite trail, ghost, snowball or bad column. Into it we placed ring galaxies, strong lenses, mergers and an out-of-library class standing in for something genuinely new.

Typical sources

Simulated cutout: Disk

Disk

Simulated cutout: Bulge

Bulge

Simulated cutout: Bulge and disk

Bulge and disk

Simulated cutout: Clumpy disk

Clumpy disk

Simulated cutout: Star

Star

Simulated cutout: Disk

Disk

Simulated cutout: Bulge and disk

Bulge and disk

Simulated cutout: Clumpy disk

Clumpy disk

Single-exposure artifacts

Simulated cutout: Ghost, visit 1

Ghost, visit 1

Simulated cutout: Same source, visit 2

Same source, visit 2

Simulated cutout: Snowball, visit 1

Snowball, visit 1

Simulated cutout: Same source, visit 2

Same source, visit 2

Simulated cutout: Satellite trail, visit 1

Satellite trail, visit 1

Simulated cutout: Same source, visit 2

Same source, visit 2

Simulated cutout: Cosmic ray

Cosmic ray

Simulated cutout: Bad column

Bad column

Injected anomalies

Simulated cutout: Ring galaxy

Ring galaxy

Simulated cutout: Ring galaxy

Ring galaxy

Simulated cutout: Strong lens

Strong lens

Simulated cutout: Strong lens

Strong lens

Simulated cutout: Merger, tidal tail

Merger, tidal tail

Simulated cutout: Merger, tidal tail

Merger, tidal tail

Simulated cutout: Out-of-library

Out-of-library

Simulated cutout: Out-of-library

Out-of-library

Simulated cutouts, as the pipeline sees them. Three artifacts are shown beside the same source in its second visit, where the artifact is absent. That difference is what replication uses.

Everything in this section is synthetic. It tests whether the statistics behave as claimed when their assumptions hold. It is not evidence about real astronomical objects.

What held.

1.5%
False discoveries at L2, target 10%
0 in 200 runs
Claims made with no anomalies present
0.03%
Single-exposure artifacts reaching L2
95%
Real anomalies in the top 100

False discoveries stay under control once replication is required

  • v1.0, artifact-free reference
  • v1.0, realistic reference
  • v1.1

L1, unusual in at least one group

L2, unusual in at least two groups

Observed false discovery proportion against the target, counting every rejected non-anomaly as false, over 200 runs. With evidence from one group, the version without gating far exceeds the target, because artifacts are genuinely atypical. With replicated evidence every version stays well below it.
› Show the numbers
ConfigurationLevelq = 5%q = 10%q = 20%
v1.0, artifact-free referenceL113.8%45.6%68.1%
v1.0, realistic referenceL10.4%7.1%15.8%
v1.1L12.4%7.2%16.5%
v1.0, artifact-free referenceL20.4%1.7%5.3%
v1.0, realistic referenceL20.0%0.7%1.8%
v1.1L20.5%1.5%3.0%

Artifacts confined to one exposure almost never pass

  • L1, one group
  • L2, two groups
Share of sources with an artifact in one group that reach each level, at a 10% target. Requiring two groups to agree removes almost all of them, with or without gating.
› Show the numbers
ConfigurationReach L1Reach L2
v1.0, artifact-free reference11.784%0.034%
v1.0, realistic reference0.495%0.021%
v1.10.331%0.029%

Power depends on brightness, and replication costs some of it

  • L1, one group
  • L2, two groups

Ring galaxy

Strong lens

Merger

Out-of-library

Recall at a 10% target against signal-to-noise in a deep visit. Above 250, ECAD finds about half of ring galaxies and mergers and 59% of new objects at L2. Lenses stay at 12%: at this resolution the simple encoder cannot separate their arcs.
› Show the numbers
S/N (bin centre)Ring galaxy L1Ring galaxy L2Strong lens L1Strong lens L2Merger L1Merger L2Out-of-library L1Out-of-library L2
200.000.000.000.000.000.000.000.00
330.000.000.000.000.000.000.000.00
560.000.000.000.000.010.000.040.00
940.020.000.000.000.030.000.150.03
1590.140.020.010.000.200.060.230.12
2690.410.110.060.010.410.190.540.30
4550.690.450.240.060.680.440.780.56
7690.910.780.520.250.810.660.940.77

Calibrating within observing conditions keeps p-values honest

  • Pooled reference
  • Stratified by observing conditions
  • Nominal rate
How often null p-values of deep exposures fall in the tail, relative to the nominal rate, when the reference was observed mostly in shallow conditions. A pooled reference makes small p-values almost three times too common. Stratifying by depth and sharpness keeps them at or below nominal.
› Show the numbers
TailNominalPooled referenceStratified reference
p below 0.0010.1%0.28%0.08%
p below 0.011%2.1%0.93%

The resolution condition, tested

Scroll sideways to see every reference size.

L2 recall by reference views per stratum and anomaly prevalence. Darker cells mean higher recall. Nothing is found left of the predicted floor; recall appears at about five times it and saturates by about twenty, which sets the safety factor in the design rule.
› Show the numbers
Prevalence2505001,0002,0004,0008,00016,00030,000
0.3%0.000.000.000.000.000.000.000.00
1.0%0.000.000.000.000.000.000.010.01
2.9%0.000.000.000.000.050.100.150.15
9.1%0.000.000.130.270.300.300.300.31

What the reference contains matters as much as its size

  • No gating
  • Symmetric gating
  • Contamination limit

Artifacts in the reference, L2 recall

Anomalies in the reference, L2 recall

Left: artifacts at the natural 2% rate cut recall from 0.185 to 0.063, and symmetric gating restores 0.155. Right: anomalies in the reference remove every discovery once they pass about qπ/κ, here 0.15%.
› Show the numbers
Reference populationL2 recall at q = 10%
Artifact-free reference0.185
Realistic reference, no gating0.063
Realistic reference, with gating0.155
Gating, Bonferroni within groups0.149
Anomalies at 0 of the reference0.184
Anomalies at 0.01% of the reference0.189
Anomalies at 0.03% of the reference0.154
Anomalies at 0.1% of the reference0.052
Anomalies at 0.3% of the reference0.001
Anomalies at 1% of the reference0.000

Known objects stay known, and new ones are flagged

  • Known classes
  • Built to be new
  • 5% target
Share of each class called unexplained by the class-conditional test at a 5% level. Known classes stay near the target, and 35% of objects built to be new are flagged. The rule in version 1.0 called nothing unexplained, in any class.
› Show the numbers
Classv1.0 rulev1.1 test
Ring galaxy0%5.1%
Strong lens0%3.9%
Merger0%5.3%
Out-of-library0%34.6%

What an expert would actually review

  • Single-view baselines
  • ECAD
Share of real anomalies among the 100 highest-ranked sources, averaged over 40 runs.
› Show the numbers
MethodReal anomalies in the top 100
Isolation forest, one view59.3%
Local outlier factor, one view63.4%
Same score, best single view87.7%
ECAD, L190.0%
ECAD, L294.8%

What failed, and what we kept.

The simulation exposed three failures in the first version of the framework. Version 1.1 corrects all three.

The reference set was far too small

Version 1.0 asked for 1,000 reference views per stratum. That cannot resolve the prevalences real searches face. The new rule sizes the reference to the rarity of the objects sought.

Artifacts in the reference cost most of the power

With a realistic reference population, recall fell from 0.185 to 0.063. Symmetric data-quality gating restored it to 0.155 without loosening error control.

The rule for unexplained objects never fired

The original test called nothing unexplained, not even objects built to be new. The replacement flags 35% of them while keeping known classes near the intended 5%.

The pre-registered criteria, rehearsed

We ran the pass and fail criteria for the real-data study on the simulation. Two fail. We kept both thresholds unchanged and report the failures as they are.

CriterionSimulation outcomeResult
P1 False discovery rate0.5%, 1.5%, 3.0% at targets of 5, 10, 20%Pass
P2 Artifact suppression0.03% reach L2, 91% fewer than L1Pass
P3 Power by classRings 0.51, mergers 0.50, new objects 0.59, lenses 0.12Fail for lenses
P5 Purity against ECAD-L194.8% against 90.0%, a gain of 4.8 pointsFail, needs 10
P6 CalibrationNo anti-conservative stratum in 50 runsPass, one-sided
P7 Known-class errorAt most 5.3% at a 5% targetPass

What comes next.

The paper reports no astrophysical results. It fixes, in advance, the tests that would show ECAD fails on real archives, and commits to publishing those outcomes.

  1. 01

    Register the protocol

    The evaluation plan, its thresholds and the conditions for abandoning the approach are deposited with a timestamp before any real data are opened.

  2. 02

    Build and audit the reference

    Reference populations sized by the design rule, and a random audit of their purity, since that sets the rarest object the search can claim.

  3. 03

    Run on public archives

    Hubble, JWST (COSMOS-Web, JADES, CEERS), Euclid Q1 and Rubin Data Preview 1, with Roman added once its data are public.

  4. 04

    Publish whichever way it goes

    Every criterion, pass or fail, with full tables. Candidates are called unexplained only after two independent expert reviews.

What we release, and how to get the rest.

Released

  • The full paper, openly licensed
  • All figures and the numbers behind them
  • The method, the two conditions and the protocol

Retained

  • Simulation code and generator seeds
  • The 116,800-source simulated catalogue
  • Rendered sample cutouts

Available to researchers on request, and released openly with the confirmatory study.

Request simulation accessTell us who you are and how you plan to use it. Every result in the paper regenerates exactly from the code and seeds.

Cite this work.

BibTeX
@misc{verma2026ecad,
  author    = {Verma, Shaurya},
  title     = {Evidence-Carrying Anomaly Discovery: Error-controlled,
               cross-instrument discovery of unusual objects in
               space telescope imaging},
  year      = {2026},
  version   = {1.1},
  publisher = {Zenodo},
  doi       = {10.5281/zenodo.23883469},
  url       = {https://doi.org/10.5281/zenodo.23883469}
}
Author
Shaurya Verma
Affiliation
Apeiron, Department of Cosmology and Astrophysics, SHV Groups
DOI
10.5281/zenodo.23883469
Licence
CC BY 4.0