uncertainty op• Data kinds: table × table → table
• Call: import fullseye as fs; fs.ledger.gum_validate(guf, mcm, ndig=2) (implementation को सीधे call करना हो तो import spc; spc.gum_validate(guf, mcm, ndig=2), registry से लेना हो तो opsspc.get("gum_validate"))
Monte Carlo के परिणाम से propagation law के परिणाम को validate करता है (table)।
*guf* gum_expanded का return है (estimate देकर interval निकाला गया), *mcm* gum_monte_carlo का return है। प्रक्रिया standard के 8.1.3 के अनुसार है:
1. u(y) के अनुरूप numerical tolerance delta बनाएँ। z को c x 10^l (c *ndig* अंकों का integer) के रूप में लिखने पर delta = 0.5 x 10^l।
2. dlow = |y - U - y_low| और dhigh = |y + U - y_high| निकालें -- तुलना coverage interval के endpoint की होती है, U की नहीं।
3. दोनों delta से कम या बराबर हों तो उस instance में propagation law को validated माना जाता है।
★ "मेल खाया" और "मेल खाना चाहिए था" को आपस में न मिलाएँ। यह op जो लौटाता है वह *ndig* अंकों पर देखा गया मेल है, सच-झूठ नहीं। *ndig* बढ़ाने पर वही अंक मेल नहीं खाते -- measured (additive model, rectangular input, endpoint अंतर 0.04):
ndig=1 -> delta 0.5 मेल
ndig=2 -> delta 0.05 मेल (बाल-बाल)
ndig=3 -> delta 0.005 मेल नहीं
यानी ndig "कितने अंकों तक दावा करते हैं" है, और दावा मज़बूत करने पर propagation law validation में फ़ेल होता है। default 2 उन मानों (1 या 2) का ऊपरी पक्ष है जिन्हें standard typical बताता है।
★★ output symmetric होने पर endpoint से तुलना करना width से तुलना करने से मूल रूप से कड़ा है। सबसे छोटे interval की width W(a) = F(a+w) - F(a) symmetric distribution के बीच में W' = 0 और छोटी curvature वाली सपाट valley बन जाती है, इसलिए width सटीक तय होती है पर argmin (स्थान) तय नहीं होता। 4 component वाले additive model (normal) पर 12-12 seed से measured:
n half-width का sd interval केंद्र का sd अनुपात
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
★ यह केवल symmetric (या लगभग symmetric) output की बात है। skewed output में optimum अद्वितीय और मज़बूती से तय होता है, इसलिए स्थान भी सामान्य रूप से 1/sqrt(n) से converge होता है -- उसी तरीक़े से squares के योग (तेज़ skew) को मापने पर स्थान sd / width sd का अनुपात 1.0 है (n=200,000 पर भी और n=1,000,000 पर भी)। standard के comparison loss example में Monte Carlo published value पर सीधे बैठता है, इसका कारण यही है।
इसलिए dlow / dhigh बड़े हों और output symmetric हो, तो अक्सर यह propagation law की ग़लती नहीं बल्कि Monte Carlo के स्थान-निर्धारण का उतार-चढ़ाव होता है। सिद्धांत रूप से बिल्कुल मेल खाने वाले normal input में भी ndig=3 (delta=0.005) n=5,000,000 पर 5 में से केवल 2 बार पास होता है।
★ interval estimator में स्वयं कोई bias नहीं है। 1 component, normal के सटीक हल (half-width 1.959964) के मुक़ाबले measured bias n=50,000 पर −0.0060 से n=5,000,000 पर −0.000008 तक घटता है, और standard deviation भी 1/sqrt(n) का पालन करता है (0.0086 → 0.0009)।
★ standard की सिफ़ारिश है कि validation वाला Monte Carlo delta/5 की precision तक चलाया जाए, और trial की संख्या का अनुमान M >= 10^4 / (1 - p) है (95 % के लिए 2 x 10^5)।
• 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_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_expanded · gum_monte_carlo
uncertainty)gum_standard_uncertainty · gum_propagate · gum_expanded · gum_monte_carlo
*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.