uncertainty op• Data kinds: table → table
• Call: 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) (implementation को सीधे call करना हो तो 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), registry से लेना हो तो opsspc.get("gum_expanded"))
• GPU: नहीं (केवल CPU reference implementation)
Welch-Satterthwaite की effective degrees of freedom, coverage factor k, और expanded uncertainty 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))
★ gate के रूप में इस्तेमाल होने वाले 3 सटीक गुण हैं:
• केवल 1 component हो तो 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। effective degrees of freedom सबसे छोटे component से कम हो जाएँ तो गणना टूटी हुई है।
• सभी degrees of freedom अनंत हों तो k normal distribution के quantile पर converge होता है (95 % पर 1.959964)।
अनंत degrees of freedom (ज्ञात constant आदि) के लिए numpy.inf डालें।
★★ correlation होने पर degrees of freedom। Welch-Satterthwaite (GUM G.4.1) inputs के independent होने की मान्यता पर आधारित है; correlation terms वाले u_c पर इसे सीधे लगाने से degrees of freedom बढ़ा-चढ़ाकर आती हैं (दो बराबर components, हर एक nu=4, r=+1 पर nu_eff=32 -- budget की कुल degrees of freedom 8 से भी अधिक)। negative correlation में उलटे यह 1 से नीचे गिर जाती है। इसलिए जब *correlation* में कोई non-zero off-diagonal entry हो, तो non-zero correlation से जुड़े components को एक group में मिलाया जाता है, और Welch-Satterthwaite को group variance w_g' R_g w_g (w = c u) और group की degrees of freedom min_{i in g} nu_i से बनाया जाता है::
nu_eff = u_c^4 / sum_g (w_g' R_g w_g)^2 / min_{i in g} nu_i
आधार: एक ही measurements से estimate किए गए correlated components (साझा nu वाला Wishart covariance) के लिए combined variance का estimator ठीक sigma^2 chi^2_nu / nu होता है, इसलिए effective degrees of freedom r पर निर्भर किए बिना nu ही हैं (Willink, *Metrologia* 44:340, 2007 के generalised Welch-Satterthwaite से संगत, जो r=+1 वाले दो बराबर components के लिए nu देता है)। अलग degrees of freedom वाले components correlated हों तो minimum लिया जाता है -- यह इस implementation का safe side (बड़ा k) की ओर झुकने वाला नियम है, standard का formula नहीं। सभी correlations 0 हों (या matrix identity हो) तो हर group में एक component होता है और मान classical formula के बराबर होता है।
• 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 में दिए गए हैं।
• 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 को input के रूप में लेते हैं)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 operator registry. यह per-op note tools/opdocs.py md से अपने-आप generate होता है (हाथ से edit न करें)।*
© 2026 Kazufumi Furuse — Fullseye operator documentation. Licensed under Apache-2.0.