spc_ewma — SPC change op

• Data kinds: signal → table

• Call: import fullseye as fs; fs.ledger.spc_ewma(signal, target, lam=0.2, L=3.0, sigma=None) (implementation को सीधे call करना हो तो import spc; spc.spc_ewma(signal, target, lam=0.2, L=3.0, sigma=None), registry से लेना हो तो opsspc.get("spc_ewma"))

उपयोग

individual measurements के लिए EWMA control chart (Roberts 1959)।

> नीचे का विस्तृत विवरण मूल text में है — सारांश और headings का अनुवाद हो चुका है।

signal is a 1-D series of individual measurements. With a reference value target (the in-control mean), a smoothing constant lam in (0, 1] and a control-limit width L (in sigmas), the exponentially weighted moving average and its time-varying limits are::

z_i = lam * x_i + (1 - lam) * z_{i-1}, z_0 = target

var_i = sigma^2 * (lam / (2 - lam)) * (1 - (1 - lam) ** (2 (i + 1)))

UCL_i / LCL_i = target +/- L * sqrt(var_i)

sigma is the process standard deviation; if None it is estimated from the series as the sample std (ddof=1). The limits widen from the first sample to the asymptote target +/- L * sigma * sqrt(lam / (2 - lam)). EWMA, like CUSUM, catches small sustained shifts that a single-point Shewhart chart misses; lam trades memory (small = long memory, sensitive to small shifts) against speed.

Returns a dict with the z / ucl / lcl arrays, the integer alarms indices (z_i outside its limits), the first alarm index (or -1), the asymptotic ucl_inf / lcl_inf, and the echoed target / lam / L / sigma / in_control.

Ground truth (pinned in the tests): a series constant at target keeps z == target with no alarm; z is exactly the recursion above; ucl increases monotonically toward ucl_inf; with lam = 1 the chart reduces to a Shewhart individuals chart (z == x, limits constant at target +/- L sigma).

Raises ValueError: a non-1-D / empty *signal*, a non-finite *target* / *lam* / *L*, lam outside (0, 1], a non-positive *L*, a non-finite or non-positive *sigma*, or (when estimating) a constant series whose sample std is zero.

संदर्भ (sample data, साहित्य)

• Sample data catalog (DL URL / license) — 2-D के लिए skimage.data (BSD/public) + synthetic, 3-D के लिए real data sources (Stanford/PDS आदि) के DL URL।

• Operators का स्रोत और संदर्भ — इस op family के मूल research/methods के स्रोत।

• Algorithm का मानक स्रोत (लेखक, वर्ष) और उपयोग ऊपर की family usage guide में दिए गए हैं।

चलाए जा सकने वाले उदाहरण (verified samples जो सच में यह op call करते हैं)

• poc_spc — py -3.11 examples/poc_spc.py

वे अगले ops जिनसे type जुड़ता है (table को input के रूप में लेते हैं)

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

इसी category के (change)

spc_cusum


*Provenance: spc.py — SPC operator registry. यह per-op note tools/opdocs.py md से अपने-आप generate होता है (हाथ से edit न करें)।*

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