uncertainty op• Datenarten: table → table
• Aufruf: import fullseye as fs; fs.ledger.gum_monte_carlo(table, u='u', sensitivity='sensitivity', n=200000, seed=0, level=0.95, correlation=None, distribution=None, value=None, power=None) (die Implementierung direkt: import spc; spc.gum_monte_carlo(table, u='u', sensitivity='sensitivity', n=200000, seed=0, level=0.95, correlation=None, distribution=None, value=None, power=None); aus dem Register: opsspc.get("gum_monte_carlo"))
Monte-Carlo-Fortpflanzung von Verteilungen (GUM Supplement 1, JCGM 101) (table).
Zieht jede Eingangsgröße aus ihrer Verteilung, bildet y = sum_i c_i x_i und liefert aus der Stichprobe die Standardunsicherheit und das kürzeste Überdeckungsintervall. Standard ist die Normalverteilung; übergibt man *distribution* einen Spaltennamen, lassen sich Namen in derselben Form wie bei gum_standard_uncertainty (rectangular / triangular / ...) je Komponente angeben (es wird eine Verteilung mit der Standardunsicherheit gebaut, nicht mit der Halbbreite).
Übergibt man *value* und *power* Spaltennamen, läuft ein Potenzmodell:
y = sum_i c_i (x_i + e_i)^{p_i}
(e_i ist die aus der Verteilung gezogene Schwankung. Standard ist x_i = 0 / p_i = 1 = linear.) Die Beschränkung auf Potenzen kommt daher, dass ein op im Register deklarativ sein muss und keine beliebige Funktion annehmen kann -- trotzdem lässt sich das nichtlineare Beispiel der Norm (Summe von Quadraten) damit ausdrücken, und die Fälle, in denen das Fortpflanzungsgesetz versagt, lassen sich reproduzieren.
★ Dies ist eine unabhängige Gegenprobe zu gum_propagate. Das Fortpflanzungsgesetz ist Algebra aus partiellen Ableitungen und Varianzen, dies hier sind Zufallsstichproben -- Herleitung und Implementierung sind getrennt, daher sollte sich bei einem linearen Modell u_mc -> u_c annähern (mit der Rate 1/sqrt(n)); tut es das nicht, ist eines von beiden kaputt. Korrelation wird über eine Cholesky-Zerlegung eingebracht und nimmt so einen anderen Pfad als die Korrelationsterme des Fortpflanzungsgesetzes.
★★ Bei nichtlinearen Modellen ist es richtig, dass beide auseinanderliegen. Das Beispiel der Norm (Vergleichsverlust dY = X1^2 + X2^2, jeweils u = 0.005) bei x1 = x2 = 0 gerechnet:
Fortpflanzungsgesetz die Sensitivitäten c_i = 2 x_i sind beide 0, also u_c = 0, Intervall [0, 0]
Monte Carlo dy = 50e-6, u = 50e-6, Intervall [0, 150e-6]
Das Fortpflanzungsgesetz antwortet "Unsicherheit null" -- das ist kein Implementierungsfehler, sondern eine Grenze der Methode selbst: die Näherung 1. Ordnung verliert am Extremum Information. Weil es solche Fälle gibt, braucht man die Monte-Carlo-Methode aus Supplement 1. Bei x1 = 0.010 enthält das Intervall des Fortpflanzungsgesetzes [-96, +296]e-6 einen negativen Verlust (physikalisch unmöglich), und weiter weg bei x1 = 0.050 nähern sie sich an: [1520, 3480] gegen [1590, 3543].
★★ Bei nicht normalverteilten Eingängen stimmt das Überdeckungsintervall nicht mit k u_c überein. Summiert man Rechteckverteilungen, nähert sich das nach dem zentralen Grenzwertsatz der Normalverteilung, aber bei nur 1 Komponente ist die Halbbreite des kürzesten 95 %-Intervalls 0.95 a (nicht der Rand des Trägers a -- es wird nur die Breite für 95 % gebraucht), also schmaler als k u = 1.96 a/sqrt(3) = 1.1316 a. Das Verhältnis ist die geschlossene Form 1.959964/(sqrt(3) x 0.95) = 1.1911, gemessen 1.1914. Das ist kein Defekt, sondern Ausdruck davon, dass das Fortpflanzungsgesetz die Form der Verteilung verwirft; daher werden beide zurückgegeben und dem Leser gezeigt (anfangs wurde diese 0.95 für a gehalten, was das Gate falsch machte).
• Katalog der Beispieldaten (Download-URLs / Lizenzen) — 2-D nutzt skimage.data (BSD/Public Domain) plus synthetische Bilder, 3-D nennt Download-URLs echter Datenquellen (Stanford, PDS, …).
• Herkunft und Literatur der Operatoren — die Quellen der Forschung/Verfahren, auf denen diese Operatorfamilie beruht.
• Der kanonische Algorithmus (Autor, Jahr) und seine Anwendungen stehen im Familienleitfaden oben.
• poc_measurement_system_analysis — py -3.11 examples/poc_measurement_system_analysis.py
table als Eingabe)msa_anova_table · msa_gauge_rr · msa_bias_linearity · msa_attribute_agreement · gum_standard_uncertainty · gum_propagate · gum_expanded · gum_validate
uncertainty)gum_standard_uncertainty · gum_propagate · gum_expanded · gum_validate
*Provenance: spc.py — SPC Operator-Registry. Diese Notiz wird von tools/opdocs.py md erzeugt (nicht von Hand bearbeiten).*
© 2026 Kazufumi Furuse — Fullseye operator documentation. Licensed under Apache-2.0.