analysis op• Data kinds: design × signal → table
• Call: import fullseye as fs; fs.ledger.doe_main_effects(design=None, y=None, goal='larger') -> 'dict' (to call the implementation directly, import multivar; multivar.doe_main_effects(design=None, y=None, goal='larger') -> 'dict'; from the registry, opsmultivar.get("doe_main_effects"))
Level means per factor — the response table of a designed experiment — with dispersion and SN.
y is (n,) or (n, r) with r repeated measurements (or noise-array conditions) per run. For each factor and level: the mean of y (location), the mean of log s over the runs at that level (dispersion, needs r >= 2), the main-effect range (max - min of the level means) and its share of the total sum of squares.
SN ratios are computed per run (Taguchi): larger-the-better -10 log10(mean(1/y^2)) (the same formula as spc.spc_mt_sn_ratio, reused), smaller-the-better -10 log10(mean(y^2)), nominal-the-best 10 log10(ybar^2/s^2), and their level means are reported in sn. They are not the basis of the recommended levels: an SN ratio mixes location and dispersion in one number, and a level can raise it by lowering the mean (Box 1988; Nair 1992). best_levels chooses from the location table by goal ("larger", "smaller", or "nominal" — which picks the levels of smallest dispersion and leaves the mean to an adjustment factor), and sn_agrees says where the SN table would have chosen differently.
• design_of_experiments family guide
• 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.
• multivar_inspection_tour — py -3.11 examples/multivar_inspection_tour.py
table as input)—
analysis)*Provenance: multivar.py — MULTIVAR 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.