16. Rejection sampling (RS) a importance sampling (IS): důvody používání RS a IS, jejich základní principy a rozdíly, efektivita práce se vzorky. Stanovení vah v IS a možnosti jejich normování. (NI-BML)¶
Rejection sampling (RS)¶
Rejection sampling funguje na principu "navrhování" a "přijímání/odmítání" vzorků. Máme cílovou distribuci f(x), ze které chceme vzorkovat, a proposal distribuci g(x), ze které umíme snadno generovat vzorky.
Klíčové podmínky¶
- Proposal distribuce g(x) musí být nenulová všude, kde je nenulová f(x)
- Musíme najít konstantu M, pro kterou platí f(x) \leq Mg(x) pro všechna x
Algoritmus¶
- Vygenerujeme vzorek y z proposal distribuce g(x)
- Vygenerujeme náhodné číslo u z rovnoměrného rozdělení U(0,1)
- Přijmeme vzorek y, pokud u < \frac{f(y)}{Mg(y)}
- Pokud není podmínka splněna, vzorek odmítneme a opakujeme proces
Efektivita metody¶
Efektivita RS závisí především na dvou faktorech:
- Volba proposal distribuce: Čím lépe g(x) aproximuje tvar f(x), tím vyšší je pravděpodobnost přijetí vzorku
- Konstanta M: Průměrný počet pokusů potřebných k získání jednoho platného vzorku je roven M
Matematika¶
Základní teorém vzorkování říká: Vzorkování x \sim f(x) je ekvivalentní k vzorkování (x,u) \sim U\{(x,u): 0 < u < f(x)\}
To znamená, že:
- Cílovou distribuci f(x) můžeme chápat jako marginální hustotu sdruženého rozdělení (x,u)
- Toto sdružené rozdělení je rovnoměrné na oblasti pod křivkou f(x)
Praktické aspekty¶
Výhody¶
- Generuje nezávislé vzorky
- Není potřeba znát normalizační konstantu cílové distribuce
- Jednoduchá implementace
Nevýhody¶
- Nízká efektivita při velkém M
- Problémy s úzkými "věžemi" v distribuci (malý rozptyl)
- Neefektivní v oblastech s velmi nízkými hodnotami hustoty
Geometrická interpretace¶
RS lze představit jako házení šipek na graf:
- Házíme šipky náhodně pod křivku Mg(x)
- Přijímáme pouze ty šipky, které padnou pod křivku f(x)
- X-ové souřadnice přijatých šipek tvoří vzorky z cílové distribuce
Pravděpodobnost přijetí vzorku¶
Pravděpodobnost přijetí vzorku je rovna \frac{1}{M}, proto:
- Čím menší je M, tím efektivnější je vzorkování
- Čím lépe proposal distribuce g(x) aproximuje f(x), tím menší M můžeme použít
- Pro efektivní vzorkování je klíčové najít dobrou kombinaci g(x) a M
Praktické použití¶
RS je vhodný především pro:
- Jednoduché distribuce v nízkých dimenzích
- Případy, kdy máme dobrou proposal distribuci
- Situace, kdy potřebujeme nezávislé vzorky
- Případy, kdy není možné přímo vzorkovat z cílové distribuce
Importance Sampling (IS)¶
Importance sampling je pokročilá metoda Monte Carlo simulací pro efektivnější výpočet očekávaných hodnot a vzorkování z komplexních rozdělení. Místo přímého vzorkování z cílové distribuce f(x) vzorkujeme z jednodušší proposal distribuce g(x) a výsledky vážíme tak, abychom kompenzovali rozdíl mezi distribucemi.
Matematický základ¶
Očekávaná hodnota vzhledem k distribuci f(x) lze přepsat jako:
kde \frac{f(x)}{g(x)} představuje importance weights (váhy důležitosti) w(x).
Algoritmus v detailních krocích¶
-
Generování vzorků
- Vygenerujeme n nezávislých vzorků x_1,...,x_n z proposal distribuce g(x)
- Proposal distribuce musí mít nenulovou hustotu všude, kde má nenulovou hustotu f(x)
-
Výpočet hodnot v cílové hustotě
- Pro každý vzorek x_i spočítáme hodnotu f(x_i)
- Není nutné znát normalizační konstantu f(x)
-
Výpočet hodnot v proposal hustotě
- Pro každý vzorek x_i spočítáme hodnotu g(x_i)
- Proposal distribuce musí být plně specifikována
-
Výpočet vah
- Pro každý vzorek spočítáme váhu:
-
Normalizace vah (Optional)
- Normalizujeme váhy, aby jejich součet byl 1:
-
Odhad očekávané hodnoty
- Finální odhad očekávané hodnoty:
Praktické aspekty¶
Výhody¶
- Využití všech vzorků (žádné zahazování)
- Možnost zaměření na důležité oblasti distribuce
- Vhodné pro řídké události
- Redukce variance oproti standardnímu Monte Carlo
Nevýhody¶
- Citlivost na volbu proposal distribuce
- Riziko degenerace vah (některé váhy mohou být příliš dominantní)
- Složitější implementace než u jednoduchého Monte Carlo
Aplikace¶
IS se nejčastěji používá v:
- Bayesovské statistice pro výpočet posteriorních rozdělení
- Finančním modelování pro odhad rizika
- Strojovém učení pro trénování modelů
- Fyzikálních simulacích pro výpočet složitých integrálů
Sequential Importance Sampling (SIS)¶
Sequential Importance Sampling je rozšíření IS pro sekvenční (časové) systémy. Metoda umožňuje sekvenční odhad stavů v dynamických systémech, kde se stav systému mění v čase.
Princip fungování¶
- Začínáme se sadou částic reprezentujících počáteční stav
- Pro každý časový krok:
- Posuneme částice do nového stavu podle modelu systému
- Když přijde nové pozorování, upravíme váhy částic
- Váhy říkají, jak dobře částice odpovídají pozorování
- Výsledný odhad stavu získáme jako vážený průměr částic
Sequential Importance Resampling (SIR)¶
SIR, známý také jako particle filter, je vylepšením SIS metody. Hlavní rozdíl spočívá v přidání kroku resamplingu, který vytvoří nove x_i
Princip fungování¶
- Stejný základ jako SIS
- Navíc periodicky kontrolujeme efektivitu částic
- Když je efektivita nízká, provedeme resampling:
- Částice s vysokými váhami se namnoží
- Částice s nízkými váhami zaniknou
- Všem novým částicím dáme stejné váhy
- Pokračujeme standardním SIS algoritmem