gum_expanded — SPC uncertainty op

• 数据种类:table → table

• 调用: import fullseye as fs; fs.ledger.gum_expanded(table, u='u', sensitivity='sensitivity', dof='dof', level=0.95, correlation=None, estimate=None, lower_bound=None, upper_bound=None)(要直接调用实现,import spc; spc.gum_expanded(table, u='u', sensitivity='sensitivity', dof='dof', level=0.95, correlation=None, estimate=None, lower_bound=None, upper_bound=None);从台账取用则 opsspc.get("gum_expanded"))

• GPU:无(仅 CPU 参考实现)

用法

Welch-Satterthwaite 有效自由度、包含因子 k 与扩展不确定度 U(table)。

nu_eff = u_c^4 / sum_i (c_i u_i)^4 / nu_i U = k u_c, k = t_{p}(floor(nu_eff))

★可作为门禁的严格性质有 3 个:

• 只有 1 个分量时 nu_eff == nu(严格)。

• nu_eff >= min_i nu_i 始终成立。证明为 sum u_i^4/nu_i <= (1/nu_min) sum u_i^4 <= (1/nu_min)(sum u_i^2)^2。有效自由度若小于最小分量的自由度,说明计算坏了。

• 所有自由度均为无穷大时,k 收敛到正态分布的分位点(95 % 时为 1.959964)。

无穷自由度(已知常数等)填入 numpy.inf。

★★ 存在相关时的自由度。Welch-Satterthwaite(GUM G.4.1)以输入相互独立为前提;直接用于含相关项的 u_c 会虚增自由度(两个相等分量、各 nu=4、r=+1 时 nu_eff=32 —— 超过预算自由度总和 8)。负相关时则反而跌到 1 以下。因此当 *correlation* 含非零的非对角元时,把由非零相关连在一起的分量并成一组,用组方差 w_g' R_g w_g(w = c u)与组自由度 min_{i in g} nu_i 构造 Welch-Satterthwaite::

nu_eff = u_c^4 / sum_g (w_g' R_g w_g)^2 / min_{i in g} nu_i

依据:由同一组测量估计的相关分量(协方差为 Wishart、自由度 nu 相同)时,合成方差的估计量严格为 sigma^2 chi^2_nu / nu,有效自由度与 r 无关,就是 nu(与 Willink, *Metrologia* 44:340, 2007 的广义 Welch-Satterthwaite 在 r=+1 的两个相等分量下得到 nu 一致)。自由度不同的分量相关时取最小值 —— 这是本实现偏向安全侧(k 更大)的规则,不是标准中的公式。所有相关均为 0(或单位矩阵)时每组只有 1 个分量,结果与传统公式相同。

参考(示例数据、文献)

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

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

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

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

• poc_light_section_step_weld_floor — py -3.11 examples/poc_light_section_step_weld_floor.py

• 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_monte_carlo · gum_validate

同类别(uncertainty)

gum_standard_uncertainty · gum_propagate · gum_monte_carlo · gum_validate


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

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