E[F] · nieobciążonyVar[F] · źródło szumuZBIEŻNOŚĆ · 1/√NEXT OF · Dodatek B
Dodatek V / Fundamenty Monte Carlo

Estymatory i metoda odwrotnej CDF

Dodatek B pokazał, jak próbkować „lepiej” niż jednorodnie. Ten dodatek robi krok wcześniej: co to znaczy, że estymator jest poprawny, i jak w ogóle wylosować próbkę z zadanego, niejednorodnego rozkładu — nie tylko wiedzieć, że warto.

TL;DR
Pass: Estymator

Co znaczy „poprawny” estymator

Chcesz policzyć całkę I = ∫ₐᵇ f(x) dx, ale nie umiesz jej rozwiązać analitycznie (dokładnie sytuacja z Rozdziału 15). Estymator Monte Carlo losuje X jednorodnie z [a,b] i liczy F = (b−a)·f(X). To jest losowa liczba — różna przy każdym losowaniu — ale jej wartość oczekiwana jest dokładnie równa I:

E[F] = E[(b−a)·f(X)] = (b−a) · ∫ₐᵇ f(x) · (1/(b−a)) dx = ∫ₐᵇ f(x) dx = I1/(b−a) to gęstość jednorodnego rozkładu na [a,b]; stąd czynniki się kasują i zostaje dokładnie szukana całka
Zbieżność w praktyce — I = ∫₀¹ x² dx = 1/3
N=10 próbek: estymata = 0,1967 (błąd 0,137)
N=100: estymata = 0,3814 (błąd 0,048)
N=1 000: estymata = 0,3160 (błąd 0,017)
N=10 000: estymata = 0,3293 (błąd 0,004)
N=100 000: estymata = 0,3345 (błąd 0,001)
Każde ×10 próbek zmniejsza błąd o czynnik ≈√10 ≈ 3,16 — to jest właśnie tempo 1/√N.
Estimator.scatter5 runs at N=20 vs true value
I = 1/3 (prawda) pięć niezależnych estymat, N=20 każda
Żadna pojedyncza estymata nie trafia w 1/3 idealnie — ale rozrzucają się wokół niej, nie w jedną stronę.
Pass: Odwrotna CDF

Jak wylosować próbkę z konkretnego rozkładu

Generator liczb pseudolosowych (część planowanego dodatku o PRNG) daje ξ jednorodne na [0,1). Chcesz jednak X rozłożone według konkretnej gęstości p(x) — np. cosinusowo dla diffuse w Rozdziale 15. Metoda odwrotnej CDF: policz skumulowaną gęstość P(x) = ∫p(t)dt, odwróć ją, podstaw ξ:

P(x) = ∫₋∞ˣ p(t) dt (CDF)
X = P⁻¹(ξ)jeśli ξ jest jednorodne na [0,1), to X ma dokładnie rozkład p(x) — bez żadnego przybliżenia
Przykład — próbkowanie p(x) = 2x na [0,1]
Sprawdzenie normalizacji: ∫₀¹ 2x dx = [x²]₀¹ = 1 ✓ (to jest poprawna gęstość)
CDF: P(x) = ∫₀ˣ 2t dt = x²
Odwrócenie: ξ = x² → x = √ξ
Dla ξ = 0,36: x = √0,36 = 0,6
Wynik: X = 0,6 jest próbką z rozkładu p(x)=2x, wylosowaną z jednorodnego ξ=0,36.
Sprawdzenie zbieżności: 200 000 próbek wylosowanych tą metodą dało średnią 0,6671 — teoretyczna wartość oczekiwana dla p(x)=2x to E[X]=∫x·2x dx=2/3≈0,6667. Zgodność do trzeciego miejsca.
Inversion.methodPDF → CDF → sample
PDF: p(x)=2x 0 1 CDF: P(x)=x² (z inwersją) ξ=0,36 x=0,6
Wejdź z ξ na osi Y, przejdź do krzywej CDF, zejdź na osi X — to jest cała metoda.
Z praktyki

Formuła cosθ = √ξ, φ = 2πξ₂, którą widziałeś (albo zobaczysz) jako „cosine-weighted hemisphere sampling” w kodzie każdego path tracera, powstaje dokładnie tą metodą — tylko odwracana jest CDF gęstości p(θ,φ) ∝ cosθ na hemisferze, z uwzględnieniem jakobianu współrzędnych sferycznych. Ten jakobian, i jak go liczyć dla różnych zamian zmiennych, to temat kolejnego dodatku.

Słowniczek
Estymator
Losowa wielkość, której wartość oczekiwana równa się szukanej całce.
Nieobciążoność
Własność E[F]=I — estymator nie systematycznie zawyża/zaniża.
Wariancja
Rozrzut wartości estymatora między próbkami; źródło widocznego szumu.
CDF (skumulowana gęstość)
P(x) = ∫p(t)dt — całka gęstości od −∞ do x.
Metoda odwrotnej CDF
X = P⁻¹(ξ) — sposób losowania próbek z zadanego rozkładu.