gum_propagate — SPC uncertainty op

• 데이터 종류: table → table

• 호출: import fullseye as fs; fs.ledger.gum_propagate(table, u='u', sensitivity='sensitivity', correlation=None)(구현을 직접 호출하려면 import spc; spc.gum_propagate(table, u='u', sensitivity='sensitivity', correlation=None), 원장에서 가져오려면 opsspc.get("gum_propagate"))

사용법

불확도 전파 법칙(GUM 5.2, 상관 포함) (table).

u_c^2 = sum_i (c_i u_i)^2 + 2 sum_{i<j} c_i c_j u_i u_j r_ij

*table* 은 열 *u*(표준 불확도)와 *sensitivity*(감도 계수 c_i = df/dx_i)를가진 표. *correlation* 에 (n, n) 상관 행렬을 넘기면 상관 항을 포함한다.

★게이트로 쓸 수 있는 닫힌 식: f = x y 이면 c_x = y / c_y = x 이므로 u_c/|f| = sqrt((u_x/x)^2 + (u_y/y)^2) —— 상대 불확도의 제곱합. 상관 r = +1 인 2 성분에서는 u_c = |c1 u1 + c2 u2|| 와 엄밀하게 일치하고, r = -1 에서는 |c1 u1 - c2 u2|(상쇄). 무상관이면 기여의 합계가 u_c^2 에 딱 맞게 닫힌다.

★★상관을 무시한 오류의 방향은 일정하지 않다. "독립으로 다루면 과소평가가 된다" 는 흔히 하는 말이지만 거짓이다. 규격의 worked example(전압 · 전류 · 위상차로부터저항과 리액턴스를 동시에 구하는 예, 3 양 모두에 상관이 있음)에서 상관을 빼고 측정하면:

u_c(R) 0.0702 -> 0.1945 2.8 배 과대

u_c(X) 0.2961 -> 0.2009 과소

u_c(Z) 0.2367 -> 0.2041 과소

같은 1 개의 데이터에서 양에 따라 방향이 반대로 나온다 —— 감도 계수의 부호와 상관의 부호의곱으로 정해지므로 당연하다면 당연하지만, "안전한 쪽으로 빗나간다"고 생각해 상관을생략하면 R 에서는 3 배 가까이 과대한 불확도를 보고하게 된다.

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

• 샘플 데이터 카탈로그(DL URL / 라이선스) —— 2-D 는 skimage.data(BSD/public)+ 합성, 3-D 는 실데이터 소스(Stanford/PDS 등)의 DL 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_expanded · gum_monte_carlo · gum_validate

같은 카테고리(uncertainty)

gum_standard_uncertainty · gum_expanded · 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.