spc_mt_sn_ratio — SPC mt op

• Data kinds: signal → table

• Call: import fullseye as fs; fs.ledger.spc_mt_sn_ratio(md) (to call the implementation directly, import spc; spc.spc_mt_sn_ratio(md); from the registry, opsspc.get("spc_mt_sn_ratio"))

Usage

Larger-the-better SN ratio of abnormal-sample distances, in decibels.

MT-method item selection asks which features earn their place: run the unit space with a subset of features, score the *abnormal* samples, and keep the subset whose distances are largest. The figure of merit is the larger-the-better signal-to-noise ratio

eta = -10 log10( (1/n) sum_i 1 / MD_i^2 )

an inverse-square average, so one abnormal sample that the subset fails to separate drags the whole score down — which is the behaviour wanted when the cost of a miss dominates. The caller drives the subsets (classically by an orthogonal array); this operator is the closed-form score for one subset.

md is a 1-D array of distances for the abnormal samples. Returns a dict with sn_ratio_db, the harmonic_mean_md_sq it came from, and n.

For a constant MD == d the sum collapses and eta == 20 log10(d) exactly — pinned in the tests, and the reason a subset that puts every abnormal sample at distance 10 scores exactly 20 dB.

Raises ValueError: an empty or non-1-D *md*, a non-positive entry (a zero distance would divide by zero: an abnormal sample sitting exactly on the unit-space centre means the subset separates nothing), or non-finite input.

References (sample data, literature)

• Sample-data catalog (download URLs / licences) — 2-D uses skimage.data (BSD/public domain) plus synthetic images; 3-D lists download URLs for real data sources (Stanford, PDS, …).

• Operator provenance and references — the sources of the research/methods this op family came from.

• The canonical algorithm (author, year) and its uses are named in the family usage guide above.

Runnable examples (verified samples that actually call this op)

• poc_spc — py -3.11 examples/poc_spc.py

Ops the type connects to (they accept table as input)

msa_anova_table · msa_gauge_rr · msa_bias_linearity · msa_attribute_agreement · gum_standard_uncertainty · gum_propagate · gum_expanded · gum_monte_carlo

Same category (mt)

spc_mt_unit_space · spc_mt_distance


*Provenance: spc.py — SPC operator registry. This per-op note is generated by tools/opdocs.py md (do not hand-edit).*

© 2026 Kazufumi Furuse — Fullseye operator documentation. Licensed under Apache-2.0.