gum_validate — SPC uncertainty op

• 数据种类:table × table → table

• 调用: import fullseye as fs; fs.ledger.gum_validate(guf, mcm, ndig=2)(要直接调用实现,import spc; spc.gum_validate(guf, mcm, ndig=2);从台账取用则 opsspc.get("gum_validate"))

用法

用蒙特卡罗的结果验证传播律的结果(table)。

*guf* 是 gum_expanded 的返回(传入 estimate 求出区间的结果),*mcm* 是 gum_monte_carlo 的返回。步骤按标准 8.1.3:

1. 构造对应 u(y) 的数值容差 delta。把 z 写成 c x 10^l(c 为 *ndig* 位整数)的形式时,delta = 0.5 x 10^l。

2. 求 dlow = |y - U - y_low| 与 dhigh = |y + U - y_high| —— 比较的是包含区间的端点,而不是 U 本身。

3. 两者都不超过 delta 时,视为传播律在该实例上得到验证。

★不要混淆"一致了"与"本应一致"。本 op 返回的是以 *ndig* 位来看的一致,而不是真伪。提高 *ndig*,同样的数字也会不一致 —— 实测(加法模型,矩形输入,端点差 0.04):

ndig=1 -> delta 0.5 一致

ndig=2 -> delta 0.05 一致(勉强)

ndig=3 -> delta 0.005 不一致

也就是说 ndig 是"主张到哪一位",主张越强,传播律就越会在验证中落败。默认的 2 是标准所称典型值(1 或 2)的上侧。

★★输出对称时,用端点比较本质上比用宽度比较更严格。最短区间的宽度 W(a) = F(a+w) - F(a) 在对称分布的中央形成 W' = 0 且曲率小的 平坦的谷,所以宽度能精确确定,而 argmin(位置)却定不下来。在 4 分量加法模型(正态)上各用 12 个种子测得的实测:

n 半宽的标准差 区间中心的标准差 比

200,000 0.0054 0.0284 5.2

1,000,000 0.0035 0.0146 4.1

5,000,000 0.0011 0.0114 10.0

★这仅限于对称(或近对称)的输出。歪斜的输出中最优点唯一且强烈地确定,所以位置也正常地以 1/sqrt(n) 收敛 —— 用同样的测法测平方和(强歪斜)时位置 sd / 宽度 sd 之比为 1.0(n=200,000 和 n=1,000,000 都是)。标准的比较损失例子中蒙特卡洛顺利落在公开值上,原因就在于此。

因此 dlow / dhigh 较大时,若输出对称,那多半不是传播律的错误,而是蒙特卡洛定位的波动。即使是理论上应严格一致的正态输入,ndig=3(delta=0.005)在 n=5,000,000 时 5 次中也只有 2 次通过。

★区间估计器本身没有偏差。相对 1 分量、正态的严格解(半宽 1.959964), 实测偏差在 n=50,000 时为 −0.0060,到 n=5,000,000 时缩小到 −0.000008, 标准差也遵循 1/sqrt(n)(0.0086 → 0.0009)。

★标准建议验证用的蒙特卡洛运行到 delta/5 的精度,试验次数的参考值为 M >= 10^4 / (1 - p)(95 % 时为 2 x 10^5)。

参考(示例数据、文献)

• 示例数据目录(下载 URL / 许可证) —— 2-D 用 skimage.data(BSD/公有领域)加合成图,3-D 给出真实数据源(Stanford/PDS 等)的下载 URL。

• 算子来历与参考文献 —— 该算子族所依据的研究/方法出处。

• 算法的正典(作者、年份)与用途见上面的族使用指南。

可运行的示例(实际调用该算子并已验证的样例)

• poc_measurement_system_analysis — py -3.11 examples/poc_measurement_system_analysis.py

类型可衔接的下一个算子(可接受 table 作为输入)

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

同类别(uncertainty)

gum_standard_uncertainty · gum_propagate · gum_expanded · gum_monte_carlo


*Provenance: spc.py — SPC 算子登记表。本条目由 tools/opdocs.py md 自动生成(请勿手工编辑)。*

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