Żaden pomiar nie jest dokładny
Każdy pomiar fizyczny – od długości mierzony liną, napięcie mierzone amperometrem, aż po masę ważoną wagą – wiąże się z pewną niepewnością, zwykle podawana jako odchylenie standardowe sigma wokół wartości zmierzonej. Gdy wynik z jest obliczany na podstawie kilku takich pomiarów za pomocą wzoru z = f(x, y, …), naturalne pytanie brzmi: jak duża jest niepewność wyniku z? Po prostu wstawianie centralnych wartości x i y do f i ignorowanie ich rozrzutu nie daje odpowiedzi – odrzuca dokładnie tę informację, której potrzebujesz.
Pierwsza-rzędowa formuła propagacji
Rozwiń f w szereg Taylora wokół zmierzonych (x, y) i zachowaj jedynie wyraz liniowy – jest to dobra aproksymacja, gdy niepewności są małe w porównaniu z tym, jak szybko f zmienia się w pobliżu tego punktu. Wówczas wariancja z obserwowanej wartości zależy bezpośrednio od transformacji wariancji pod działaniem mapy liniowej:
z = f(x, y) (x, y niezależne) sig_z^2 = (df/dx)^2 * sig_x^2 + (df/dy)^2 * sig_y^2 jeśli x i y są skorelowane, dodaj: + 2 * (df/dx) * (df/dy) * cov(x, y) Dwa przypadki szczególne z podręczników wynikają bezpośrednio z tej reguły. W przypadku sumy lub różnicy, z = x ± y, oba pochodne cząstkowe wynoszą 1, więc niepewności bezwzględne dodawane są w kwadraturze: sig_z = sqrt(sig_x² + sig_y²). W przypadku iloczynu lub ilorazu, z = xy lub z = x/y, niepewności względne dodawane są w kwadraturze zamiast tego: (sig_z/z)² = (sig_x/x)² + (sig_y/y)². W każdym przypadku niepewności z niezależnych źródeł nigdy nie sumują się po prostu – dodawane są w kwadraturze, dlatego zazwyczaj jeden dominujący czynnik błędu przeważa nad kilkoma mniejszymi, zamiast długiej listy porównywalnych przyczyn, które kumulują się liniowo.
z = f(x, y) (x, y independent) sigma_z^2 = (df/dx)^2 * sigma_x^2 + (df/dy)^2 * sigma_y^2 if x, y correlated, add: + 2 * (df/dx) * (df/dy) * cov(x, y)
Sprawdzenie za pomocą Monte Carlo
Wzór analityczny zakłada liniowość, ale możesz całkowicie z niej zrezygnować: wygeneruj tysiące próbek x z rozkładu normalnego o średniej wartości x̄ i odchyleniu standardowym sigma_x, oraz analogowo dla y, oblicz z = f(x, y) dla każdej sparowanej próbki, a następnie przeanalizuj empiryczne odchylenie standardowe uzyskanych wartości z. Dla łagodnie nieliniowej funkcji f i małych do umiarkowanych wartości sigma_x i sigma_y, odchylenie standardowe Monte Carlo zbiega się do tego samego numeru, co przewiduje wzór analityczny – satysfakcjonujące i naprawdę przydatne sprawdzenie, ponieważ weryfikuje liniową aproksymację bez konieczności symbolicznego różniczkowania czegokolwiek.
Gdzie formuła cicho zawodzi
Rozwinięcie Taylora jest jedynie lokalną, liniową przybliżeniem, dlatego zawodzi, gdy f jest znacząco zakrzywione w zakresie obejmującym niepewności wejściowe. Stosunek zbliżający się do mianownika, który może być bliski zeru, kąt zbliżający się do punktu maksymalnej krzywizny trygonometrycznej lub po prostu duże sigma w stosunku do szybkości zmiany f – wszystko to powoduje, że prawdziwa dystrybucja z jest skośna, a czasami nawet dwumodalna. W takich przypadkach zgłaszane sigma_z z formuły liniowej nadal jest liczbą, ale jest błędne, a jedynie próbkowanie Monte Carlo rzeczywistej, nieliniowej funkcji f ujawnia jej prawdziwą postać niepewności.
Związek danych wejściowych
Jeśli x i y są mierzone z powodu wspólnego efektu systematycznego – tego samego wadliwego instrumentu, tej samej korekty błędu tła – są ze sobą powiązane, pomijanie członu kowariancji cicho zawyża lub poniżej oszacowuje sigma_z w zależności od znaku korelacji i znaków pochodnych cząstkowych. Pozytywna korelacja połączona z pochodnymi cząstkowymi o tym samym znaku wzmacnia błędy zamiast częściowo je niwelować, dlatego też w fizyce i metrologii, przy opracowywaniu budżetów niepewności, zawsze raportuje się pełną macierz kowariancji zamiast listy niezależnych sigma, gdy pomiary pochodzą z tego samego instrumentu lub kalibracji.
Frequently asked questions
Jaki jest wzór na propagację błędów dla funkcji wielu zmiennych?
Dla z = f(x, y) przy założeniu, że x i y są niezależne oraz ich niepewności są niewielkie w stosunku do krzywizny f, wariancja z jest szacowana jako sigma_z^2 = (df/dx)^2 * sigma_x^2 + (df/dy)^2 * sigma_y^2, gdzie pochodne cząstkowe są obliczane przy zmierzonych wartościach x i y. Ogólnie można to rozszerzyć na dowolną liczbę zmiennych poprzez zsumowanie jednego takiego członu dla każdej zmiennej, a także dodanie członów kowariancji, jeśli zmienne są skorelowane.
Kiedy wzór na prostą propagację błędów zawodzi?
Jest to pierwszorzędna (liniowa) przybliżona Taylora, więc ulega on awarii, gdy niepewności wejściowe są duże w stosunku do krzywizny funkcji lub gdy f jest silnie nieliniowy w pobliżu zmierzonej wartości – na przykład w pobliżu singularności, iloczynu z licznikiem bliskim zeru lub funkcji trygonometrycznej o dużej krzywiźnie. W takich przypadkach prawdziwa dystrybucja z może być skośna lub nawet dwumodalna, a jedynie pełne symulacje Monte Carlo potrafią ją poprawnie uchwycić.
Dlaczego korelacja między x i y zmienia odpowiedź?
Jeśli x i y nie są niezależne, należy dodać do wzoru na wariancję dodatkowy człon 2 * (df/dx) * (df/dy) * cov(x,y). Pozytywna korelacja z pochodnymi cząstkowymi o tym samym znaku zwiększa sigma_z ponad to, co przewiduje niezależny wzór, ponieważ błędy w x i y mają tendencję do popychania z w jednym kierunku zamiast częściowo się wykluczać.
Wypróbuj na żywo
Wszystko powyżej działa bezpośrednio w Twojej przeglądarce — otwórz Error Propagation & Uncertainty i zmieniaj parametry podczas działania. Nic nie jest instalowane ani przesyłane na serwer, cały model działa w jednej karcie.
▶ Otwórz symulację Error Propagation & Uncertainty