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* 에 0 이 아닌 비대각 성분이 있으면, 0 이 아닌 상관으로 이어진 성분을 하나의 군으로 묶고, 군의 분산 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 개이고 기존 식과 같은 값이 된다.

참고(샘플 데이터·문헌)

• 샘플 데이터 카탈로그(DL URL / 라이선스) —— 2-D 는 skimage.data(BSD/public)+ 합성, 3-D 는 실데이터 소스(Stanford/PDS 등)의 DL 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 연산자 레지스트리. 이 op 노트는 tools/opdocs.py md 가 자동 생성합니다(직접 편집하지 마세요).*

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