Variance reduction/cs

= Předmluva =

K problematice redukce rozptylu není příliš velké množství českých zdrojů. Jedná se většinou o akademické práce, které citují zahraniční autory. Texty blíže se zabývající tímto tématem jsou primárně v anglickém jazyce a k vysvětlení využívají nástroje statistiky, které nemusí být čtenáři s pouhými základními znalostmi ze statistiky příliš jasné. Jelikož i já, autor tohoto textu, oplývám pouze základními znalostmi z oboru statistiky, budu se snažit v tomto učebním textu popsat metody redukce rozptylu co možná nejjednodušeji, aby si z něj čtenáři, kteří jsou na obdobné úrovni znalostí, odnesli pokud možno jakési základy, které jim pomohou lépe toto téma pochopit. Zároveň tím apeluji na zkušenější čtenáře, aby pomohli s korekcí a rozšířením tohoto textu o hlubší poznatky ze statistiky, které by navazovaly na mnou vytvořený základ.

= Náhodná veličina a její rozptyl =

Náhodná veličina (též náhodná či stochastická proměnná) je nějaká libovolná veličina mající číselnou hodnotu (např. 1, -150 nebo 18,6) a jednotku (kilogram, metr, litr, ...). Tuto veličinu můžeme měřit u různých objektů, v různém čase, různém místě a pomocí teorie pravděpodobnosti a matematické statistiky s ní různě pracovat. Příkladem náhodné veličiny může být počet ok při hodu kostkou, hmotnost narozených dětí v různých regionech, roční mzda občanů státu apod.

Náhodná veličina může být buď diskrétního nebo spojitého typu. Oba typy si jsou velmi podobné, což je vidět v následujících podkapitolách.

Diskrétní náhodná veličina
Diskrétní (též nespojitá) náhodná veličina je taková náhodná veličina, která může nabývat pouze jednotlivých hodnot z konečného nebo nekonečného intervalu. To znanená, že se může měnit jen po skocích. Příkladem spojité náhodné veličiny může být počet ok při hodu kostkou, který může nabývat pouze hodnot $$\{ 1, 2, 3, 4, 5, 6 \}$$.

Zkoumáme-li potom pravděpodobnost, že na hozené kostce padne konkrétní hodnota, můžeme těmto možným hodnotám přiřadíit jejich pravděpodobnost výskytu, čímž získáme pravděpodobnostní funkci diskrétní náhodné veličiny $$X$$. Sestavením tabulky s možnými hodnotami ok na kostce značených $$x$$ a pravděpodobnostmi, že padne právě tento počet ok získáme průběh pravděpodobnostní funkce $$p(x)$$, která každému $$x$$ přiřazuje jeho pravděpodobnost značenou $$P(x)$$, což můžeme zapsat jako $$p(x) = P(X = x)$$, slovy "pravděpodobnost, že náhodná veličina $$X$$ nabyde hodnoty $$x$$".

Kromě pravděpodobnostní funkce nás zajímá také distribuční funkce $$F(x)$$, a to v případech, kdy chceme určit pravděpodobnost, že veličina $$X$$ nabyde hodnoty menší než $$x$$, což lze zapsat jako
 * $$F(x) = P(X < x)$$

a v případě diskrétní náhodné veličiny ji lze určit "nasčítáním" všech předchozích pravděpodobností před zvolenou hodnotou, tedy touto sumací:
 * $$F(x) = \sum_{i=1}^{x}P(X = x_{i})$$.

Známe-li hodnoty, kterých může náhodná veličina nabývat, a pravděpodobnosti výskytu těchto hodnot, můžeme spočítat střední hodnotu (též označnovanou jako první počáteční moment) jako $$\operatorname{E}(X) = \sum_{i=1}^{x}x_{i} P(x_{i})$$

Pro příklad si můžeme představit obyčejnou šestihrannou kostku. Pravděpodobnost, že padne jedna z 6 možných hodnot na kostce stejná, proto pravděpodobnostní funkci lze zapsat jako
 * $$p(x) = \frac{1}{6}$$.

A protože tyto hodnoty pokrývají všechny možné, které mohou nastat, je jejich součet roven jedné. Platí tedy vztah
 * $$\sum_{i=1}^{n}P(x_{i}) = 1$$.

Díky tomu, že jsou pravděpodobnosti v tomto případě vždy stejné, zjednodušuje se tím i vzoreček pro výpočet střední hodnoty, který je potom pouze
 * $$\operatorname{E}(X) = \frac{1}{n}\sum_{i=1}^{x}x_{i}$$.

Jedná se v podstatě o prostý aritmetický průměr. Kdybychom ale zkoumali náhodnou veličinu, kterou by byl součet ok na dvou hozených kostkách, nebyla by pravděpodobnost vždy stejná, protože například součet 5 můžeme hodit čtyřmi způsoby: (1,4), (2, 3) (3, 2), (4, 1), a tudíž bychom nemohli použít prostého aritmetického průměru.

Spojitá náhodná veličina
Spojitá náhodná veličina je taková náhodná veličina, která může nabývat všech možných hodnot z konečného nebo nekonečného intervalu, může se tedy měnit bez skoků (spojitě). Ekvivalentem diskrétní pravděpodobnostní funkce je zde hustota pravděpodobnosti značená $$f(x)$$.

Spojitá náhodná veličina má rovněž distribuční funkci $$F(X)$$, kterou získáme když budeme integrovat hustotu pravděpodobnosti od mínus nekonečna do $$x$$: F(X)=\int_{-\infin}^{x}f(t)dt. Chceme-li naopak z distribuční funkce získat hustotu pravděpodobnosti, stačí nám provést inverzní operavi k integrálu, kterou je derivace: $$f(x)=F'(x)$$

Stejně jako v případě pravděpodobnostní u diskrétní náhodné veličiny, hustota pravděpodobnosti u spojité náhodné veličiny splňuje podmínku
 * $$\int_{-\infty}^{\infty}f(x)dx=1$$

Střední hodnotu pak dostaneme podobně jako u diskrétní funkce, a to integrováním hustoty pravděpodobnosti násobené hodnotou $$x$$:
 * $$E(X)=\int_{-\infty}^{\infty}xf(x)dx$$

Spojitou veličinu můžeme "převést" na diskrétní tak, že její průběh rozdělíme do dílčích intervalů. Kdybychom například zkoumali hmotnosti pro zápasy v bojových sporetch a předpokládali, že hmostnosti účastníků budou rozděleny od 60 kg výše, čemuž odpovídá interval $$\langle 60, \infty ) $$ a chtěli bychom určit 6 váhových katerogií, rozdělili bychom původní interval například takto :
 * 1) $$\langle 60, 66) $$
 * 2) $$\langle 66, 73) $$
 * 3) $$\langle 73, 81) $$
 * 4) $$\langle 81, 90) $$
 * 5) $$\langle 90, 100) $$
 * 6) $$\langle 100, \infty) $$

Pravděpodobnostní rozdělení
Podrobnější informace o pravděpodobnostních rozděleních

Pravděpodobnostní rozdělení (též rozdělení, rozložení nebo distribuce pravděpodobnosti) je pravidlo, podle kterého je každému náhodnému jevu přiřazena určitá (známá) pravděpodobnost. Pravděpodobnostní rozdělení se v závislosti na typu náhodné veličiny dělí na diskrétní (např. Alternativní, Binomické, Nagativní binomické, Poissonovo rozdělění) a spojitá (např. Rovnoměrné, Normální, Exponenciální, Logaritmicko-normální rozdělění).

Rozptyl
Rozptyl (též střední kvadratická odchylka, variance nebo disperze) je jednou z charakteristik náhodné veličiny, konkrétně jde o charakteristiku variability a udává, jak moc jsou hodnoty v našem statistickém souboru rozptýleny.

Uvažujeme-li náhodnou veličinu $$X$$, pak její rozptyl se označuje $$\sigma^2(X)$$, $$S^2(X)$$, $$D(X)$$ nebo $$\operatorname{var}(X)$$ a spočítá se jako "střední hodnota kvadrátů odchylek od střední hodnoty".

Pro diskrétní náhodnou veličinu tuto větu můžeme vyjádřit vztahem
 * $$\sigma^2 = \sum_{i=1}^n {\left[x_i - \operatorname{E}(X)\right]}^2 p_i$$,

kde $$x_i$$ jsou hodnoty, kterých může náhodná veličina $$X$$ nabývat (s pravděpodobnostmi $$p_i$$) a $$\operatorname{E}(X)$$ je střední hodnota veličiny $$X$$. Chceme-li rozptyl počítat "ručně", je vhodnější použít tzv. výpočetní tvar
 * $$\sigma^2 = \sum_{i=1}^n x_i^2 p_i - {[\operatorname{E}(X)]}^2$$

Pro spojitou náhodnou veličinu je vztah podobný, jen místo sčítání integrujeme. Vztah vypadá potom takto
 * $$\sigma^2 = \int_{-\infty}^\infty {\left[x-\operatorname{E}(X)\right]}^2 f(x)\mathrm{d}x$$,

kde $$f(x)$$ je hustota pravděpodobnosti veličiny $$X$$.

A obdobně jako u diskrétní náhodné veličiny, i zde můžeme použít jednodušší "výpočetní tvar"
 * $$\sigma^2 = \int_{-\infty}^\infty x^2 f(x)\mathrm{d}x - {[\operatorname{E}(X)]}^2$$

Zákon velkých čísel a centrální limitní věta
Při použití metody Monte Carlo v podstatě generujeme obrovské množství scénářů, které potom skládáme dohromady průměrováním. V tom nám pomáhá zákon velkých čísel a centrální limitní věta

Zákon velkých čísel lze nejlépe ilustrovat na příkladu s házením kostkou. Budeme-li házet 6hrannou kostkou stále dokola a získané hodnoty, které na kostce padly, průměrovat, tak s rostoucím počtem pokusů náš zaznamenávaný průměr bude asymptoticky kolísat kolem teoretické (vypočtené) střední hodnoty :
 * $$ \frac{1+2+3+4+5+6}{6} = 3,5.$$

Lze tedy říci, že výběrový průměr
 * $$\overline{X}_n=\frac1n(X_1+\cdots+X_n) $$

bude konvergovat ke střední hodnotě $$\begin{matrix}{}\\ \overline{X}_n \, \to \, \mu \qquad\textrm{pro}\qquad n \to \infty \\{}\end{matrix}$$

Díky centrální limitní větě potom můžeme využívat toho, že při velkém počtu opakování $$n$$ bude mít libovolná veličina přibližně normální rozdělení se snižujícím se rozptylem $$\frac{\sigma^2}{n}$$.

= Metoda Monte Carlo =

Podrobnější informace o metodě Monte Carlo

V simulacích pomocí metody Monte Carlo se snažíme pomocí generování náhodných čísel a mnoha opakování náhodných pokusů získat obecné charakteristiky nějakého modelovaného jevu. To je možné díky platnosti zákona velkých čísel a centrální limitní věty. Pomocí metody Monte Carlo lze získávat relativně jednoduše přibližné výsledky tam, kde by bylo použití analytických modelů složité, ba nemožné. Metody Monte Carlo je využíváno i například v systémech založených na teorii front.

= Metody redukce roptylu =

Když provádíme simulaci, obvykle v rámci nějaké studie, zajímá nás jedna nebo více sledovaných hodnot nějakého stochastického (nedeterministického) modelu. Například chceme zjistit, dlouhodobou střední (průměrnou) dobu čekání zákazníků ve frontě, kterou budeme značit $$\operatorname{W}$$. Střední dobu čekání značme například $$\operatorname{E}(W)$$. Abychom odhadli $$\operatorname{E}(W)$$, musíme provést $$\operatorname{K}$$ nezávislých simulací. Po provedení těchto simulací a zjištění středních hodnot dob čekání $$\operatorname{E}(W_i)$$ lze stanovit estimátor $$\operatorname{E}(W)$$ podle vztahu $$\operatorname{\overline{W}} = \frac{\sum_{i=1}^K W_i}{K}$$. Kdybychom však našli jiný nezkreslený estimátor střední hodnoty $$\operatorname{E}(W)$$ s menším rozptylem než má $$\operatorname{\overline{W}}$$, získali bychom tím estimátor s menším intervalem spolehlivosti, což je pro náš žádoucí. Pro zredukování rozptylu estimátoru $$\operatorname{\overline{W}}$$ lze použít několik metod, které jsou popsány v následujících kapitolách. I ty jednodšší podávají vcelku dobré výsledky. Je ale třeba dát si pozor, protože nesprávným použitím některých metod může místo snížení rozptylu naopak dojít k jeho zvýšení.

Metoda společných náhodných čísel
Metoda společných náhodných čísel využívá toho, že pokud zkoumáme a porovnáváme dva různé systémy, které obsahují nějaké náhodně se chovající komponenty, je obecně lepší při vyhodnocování takovýchto systémů v nich používat vždy stejně implementované náhodné komponenty. Metoda využívá klíčové vlastnosti dvou náhodných veličin $$\operatorname{X}$$ a $$\operatorname{Y}$$, která je dána vztahem
 * $$\operatorname{var}(X-Y) = \operatorname{var}(X) + \operatorname{var}(Y) - 2\operatorname{cov}(X,Y)$$.

Jestliže jsou náhodné veličiny $$\operatorname{X}$$ a $$\operatorname{Y}$$ závislé a jsou pozitivně korelovány, tzn. že platí i $$\operatorname{cov}(X,Y) > 0$$, potom bude rozptyl rozdílu $$\operatorname{X-Y}$$ menší než kdyby veličiny $$\operatorname{X}$$ a $$\operatorname{Y}$$ byly nezávislé. Obecně použití metody společných náhodných čísel vede k tomu, že i výsledky simulace dvou takto zkoumaných systémů budou pozitivně korelovány, proto je při porovnávání dvou systémů lepší použít společná náhodná čísla místo zcela nezávislých náhodných čísel.

Problém by nastal, pokud by byly veličiny negativně korelovány. V takovém případě by došlo naopak ke zvýšení rozptylu, což je ve většině případů nežádoucí.

Příklad užití metody společných náhodných čísel
Pro ilustraci metody společných náhodných čísel použijeme následující příklad zabývající se zpracováním konečného počtu $$\operatorname{N}$$ úkolů, které jsou zpracovávány dvěma identickými stroji. Doby zpracování úkolů na jednotlivých strojích jsou náhodné veličiny z nějakého obecného rozdělení, jehož distribuční funkci označmě $$\operatorname{F}$$. Naším úkolem je porovnat čas dokončení posledního úkolu, značený $$\operatorname{C_{max}}$$, za platnosti dvou různých pravidel. Prvním pravidlem je LPTF (Longest Processing Time First), podle něhož si stroj bude vybírat z množiny ještě nezpracovaných úkolů ty úkoly, jejichž doba zpracování je největší. Druhé zkoumané pravidlo SPTF (Shortest Processing Time First) bude stroji říkat, aby si z množiny zbývajících úkolů vybíral nejprve ty nejkratší, čili ty s nejmenší dobou zpracování.

Srovnáme-li výsledky simulace pro $$\operatorname{N} = 10$$ úkolů s délkou z exponenciálního rozdělení s distribuční funkcí $$\operatorname{F} = 1 - e^{-x}$$, pak dostaneme jiné estimátory a intervaly spolehlivosti pro střední hodnotu $$\operatorname{E}(\operatorname{C_{max}^{SPTF}-C_{max}^{LPTF}})$$, když použijeme společná náhodná čísla, než když je nepoužijeme. Srovnání sledovaných hodnot znázorňují následující dvě tabulky, z nichž první ukazuje hodnoty získané bez použití metody nezávislých náhodných čísel, a druhá ukazuje snížení rozptylu právě použitím této metody.

Z hodnot je patrné, že došlo přibližně k 5násobnému snížení směrodatné odcyhlky, a tím i k 5násobnému zúžení intervalu spolehlivosti.

Při použití této metody však existuje riziko vyplývající s nutnosti použití stejných náhodných počátečních čísel při generování náhodných veličin v obou systémech. Tento problém se synchronizací by mohl nastat, kdybychom uvažovali systém front $$\operatorname{G/G/1}$$, v němž může server pracovat dvěma různými rychlostmi $$\operatorname{v_1}$$ a $$\operatorname{v_2}$$. Kdybychom v tomto případě chtěli získat estimátor pro rozdíl v čekacích dobách za použití různých rychlostí, museli bychom v rámci této metody použít stejné mezičasy zpracování a stejně velké požadavky. (Dobu obsluhy bychom získali podílem velikosti požadavku a rychlosti serveru.) Tím bychom narazili na problém synchroznizace, protože při vyšší rychlosti zpracování úkolů by se fronta posouvala rychleji. Tento problém lze vyřešit dvěma způsoby:
 * 1) Použitím více oddělených toků náhodných čísel pro různé sekvence náhodných veličin potřebných k provedení simulace.
 * 2) Zajištěním, že budou náhodné veličiny generovány v přesně stejném pořadí v obou zkoumaných systémech.

Pozn.: $$\operatorname{G/G/1}$$ fronta představuje délku fronty v systému s $$\operatorname{1}$$ jediným serverem, kde mají mezičasy nějaké obecné rozdělení $$\operatorname{G}$$ (jako General - obecné) a časy obsluhy jiné obecné rozdělení $$\operatorname{G}$$

Antitetické proměnné
Metoda antitetických proměnných využívá skutečnosti, že pokud je náhodná veličina $$\operatorname{U}$$ z rozvnoměrného rozdělení nabývajícího hodnot z intervalu $$(0, 1)$$, pak musí platit, že $$1 - \operatorname{U}$$ je také z rovnoměrného rozdělení. Zároveň využívá toho, že $$\operatorname{U}$$ a $$1 - \operatorname{U}$$ musí být nutně negativně korelované (když se zvýší $$\operatorname{U}$$, logicky musí dojít ke snížení $$1 - \operatorname{U}$$ a naopak).

Klíčovou myšlenkou celé této metody je pak to, že máme-li dva výsledky po sobě jdoucích simulací $$\operatorname{W_1}$$ a $$\operatorname{W_2}$$, pak platí, že
 * $$\operatorname{var}(\frac{W_1 + W_2}{2}) = \frac{1}{4}\operatorname{var}(W_1) + \frac{1}{4}var(W_2) + \frac{1}{2}\operatorname{cov}(W_1, W_2)$$

Z tohoto vztahu vyplývá, že budou-li výsledky simulace $$\operatorname{W_1}$$ a $$\operatorname{W_2}$$ negativně korelovány, bude jejich rozptyl $$\operatorname{var}(\frac{W_1 + W_2}{2})$$ menší, než kdyby na sobě oba výsledky nebyly závislé.

Otázkou je, jak zajistíme, aby výsledky dvou po sobě jdoucích běhů simulace byly negativně korelované. Jak už bylo zmíněno dříve, $$\operatorname{U}$$ a $$1 - \operatorname{U}$$ jsou negativně korelované, díky čemuž můžeme předpokládat, že když pro první běh simulace použijeme náhodné proměnné $$\operatorname{U_1,...,U_m}$$ k výpočtu výsledku simulace $$\operatorname{W_1}$$ a poté použijeme použijeme náhodné proměnné $$\operatorname{1 - U_1,...,1 - U_m}$$ k výpočtu $$\operatorname{W_2}$$, bude to znamenat, že i $$\operatorname{W_1}$$ a $$\operatorname{W_2}$$ budou negativně korelované. Selský rozum nám říká, že v obdobném případě se simulací fronty $$\operatorname{G/G/1}$$ povede velké množství hodnot z $$\operatorname{U_i}$$, kterým odpovídají dlouhé časy obsluhy, k dlouhým čekacím dobám v prvním běhu simulace. Použití antitetických proměnných $$\operatorname{1 - U_i}$$ v druhém běhu simulace způsobí naopak krátké časy obsluhy, a tím i krátké čekací doby.

Příklad užití metody antitetických proměnných
Výsledky použití antitetických proměnných znázorňují následujícíc dvě tabulky, z nichž první ukazuje odhad střední doby trvání posledního úkolu bez použití této metody a druhá s použitím této metody.

Srovnáme-li opět výsledky simulace pro $$\operatorname{N} = 10$$ úkolů s délkou z exponenciálního rozdělení s distribuční funkcí $$\operatorname{F} = 1 - e^{-x}$$, pak dostaneme jiné estimátory a intervaly spolehlivosti pro střední hodnotu $$\operatorname{E}(\operatorname{C_{max}^{LPTF}})$$, když použijeme metodu antitetických proměnných, než když je nepoužijeme. Srovnáváme zde výsledky 1000 nezávislých běhů simulace s 1000 záviclých běhů sestávajích z 500 dvojic běhů, které jsou na vzájemně závislé a používají právě antitetické proměnné. Z hodnot tabulky je patrné, že došlo k 1,5násobnému snížení směrodatné odchylky, a tím i k 1,5násobnému zúžení intervalů spolehlivosti.

Je nutno podotknout, že podobně jako při použití metody společných náhodných čísel, i zde může dojít k problému se synchronizací. Dále je užitečné uvést, že tato metoda je určitě jednodušší na implementaci, protože nám stačí pouze jeden zdroj rovnoměrně rozložených náhodných čísel k vygenerování jendoho páru antitetických proměnných.

Metoda řídících proměnných
Metoda řídících proměnných je založena na myšlence, která říká, že pokud chceme odhadnout střední hodnotu neznámé veličiny $$\operatorname{E}(X)$$ měřící výkonnost za použití $$\operatorname{K}$$ nezávislých běhů simulace, pak pro výstup i-tého běhu simulace $$\operatorname{X_i}$$ bude platit $$\operatorname{E}(X_i) = \operatorname{E}(X)$$. Nezkreslený estimátor pro $$\operatorname{E}(X)$$ je dán jako $$\operatorname{E}(\overline{X}) = \frac{(\sum_{i=1}^K X_i)}{K}$$. Navíc předpokládejme, že jsme zároveň schopni simulovat průběh související výstupní proměnné $$\operatorname{Y_i}$$, pro kterou platí $$\operatorname{E}(Y_i) = \operatorname{E}(y)$$ a my $$\operatorname{E}(Y)$$ už známe. Označíme-li nezkreslený estimátor $$\operatorname{E}(Y)$$ jako $$\operatorname{E}(\overline{Y}) = \frac{(\sum_{i=1}^K Y_i)}{K}$$, pak pro libovolnou konstantu $$\operatorname{c}$$ je součet $$\overline{X} + c(\overline{Y}-E(Y))$$ také nezkresleným estimátorem $$\operatorname{E}(X)$$. Z následujícího vztahu
 * $$\operatorname{var}(\overline{X}+c(\overline-E(Y))) = \operatorname{var}(\overline{X}) + c^2\operatorname{var}(\overline{Y}) + 2c\operatorname{cov}(\overline{X},\overline{Y})$$

lze vyvodit, že rozptyl $$\operatorname{var}(\overline{X} + c(\overline{Y}-E(Y)))$$ bude minimalizován, pokud použijeme konstantu $$\operatorname{c} = \operatorname{c*}$$, kde
 * $$\operatorname{c*} = -\frac{\operatorname{cov}(\overline{X},\overline{Y})}{\operatorname{var}(\overline{Y})}$$.

Bohužel, konkrétní hodnoty pro $$\operatorname{cov}(\overline{X},\overline{Y})$$ a $$\operatorname{var}(\overline{Y})$$ obvykle neznáme předem, musíme je ohdadnout ze simulovaných dat. Hodnota $$\overline{Y}$$ se zde nazývá řídící proměnná estimátoru $$\overline{X}$$.

Tato metoda funguje díky tomu, že uvažujeme-li pozitivně korelované $$\overline{X}$$ a $$\overline{Y}$$, pak v simulaci, kde je hodnota výstupu $$\overline{Y}$$ mnohem vyšší než průměrná hodnota výstupu $$\operatorname{E}(\overline{Y})$$, bude pravděpodobné, že i vstupní hodnota $$\overline{X}$$ bude větší než její průměr $$\operatorname{E}(\overline{X})$$, což můžeme opravit tak, že snížíme hodnotu vstupní proměnné (estimátoru) $$\operatorname{E}(\overline{X})$$. Totéž platí analogicky i pro negativně korelované proměnné.

V příkladě s produkční linkou by jako přirozeně vzniklá řídící proměnná mohla být dlouhodobá průměrná rychlost produkce linky, která má nárazníky (buffery) o nulové délce.

Metoda závislých proměnných
Tato metoda je založena na následujících dvou vztazích. Jestliže $$\operatorname{X}$$ a $$\operatorname{Y}$$ jsou dvě libovolné náhodné veličiny, pak platí
 * 1. $$\operatorname{E}(X) = \operatorname{E}(\operatorname{E}(X|Y))$$
 * 2. $$\operatorname{var}(X) = \operatorname{E}(\operatorname{var}(X|Y)) + \operatorname{var}(\operatorname{E}(X|Y)) >= \operatorname{var}(\operatorname{E}(X|Y))$$,

z čehož vyplnývá, že náhodná veličina $$\operatorname{E}(X|Y)$$ bude mít stejnou střední hodnotu jako náhodná veličina $$\operatorname{X}$$, a navíc bude mít menší rozptyl než $$\operatorname{X}$$.

Tyto vztahy nám mohou pomoci snížit rozptyl v simulacích. Předpokládejme, že $$\operatorname{E}(X)$$ bude nějaký výkonnostní ukazatel, který chceme odhadnout. Jestliže zavedeme náhodnou proměnnou $$\operatorname{Y}$$ takovou, že budeme znát $$\operatorname{E}(X|Y = y)$$, tak z předchozích dvou vztahů můžeme předpokládat, že pro nás bude lepší simulovat $$\operatorname{Y}$$ a tedy používat $$\operatorname{E}(X|Y)$$, než přímo simulovat veličinu $$\operatorname{X}$$.

Ukažme si to na příkladu modelu fronty $$M_{\lambda}/M_{\mu}/1/N$$, ve kterém systém nepřijme více než $$\operatorname{N}$$ zákazníků, ti budou ze systému ztraceni. Cílovou veličinou, kterou budeme sledovat, je střední doba ztracených zákazníků $$\operatorname{E}(X)$$ v daném čase $$\operatorname{t}$$. Kdybychom pracovali přímo s veličinou $$\operatorname{X}$$, tak bychom provedli $$\operatorname{K}$$ simulací až do okamžiku $$\operatorname{t}$$. Počet ztracených zákazníků v jednotlivých simulacích značme $$\operatorname{X_i}$$. Nezkreslený estimátor $$\operatorname{E}(X)$$ by potom byl $$\operatorname{\overline{X}} = \frac{\sum_{i=1}^K X_i}{K}$$.

Díky použití této metody ale můžeme rozptyl estimátoru snížit následovně. Uvažujme nejprve $$\operatorname{Y_i}$$, které bude značit celkový čas z intervalu $$(0,\operatorname{t})$$, při počtu $$\operatorname{N}$$ zákazníků v systému v i-tém běhu simulace. Díky tomu, že příchody zákazníků jsou z Poissonova rozdělení s parametrem $$\operatorname{\lambda}$$, pak naše podmíněná střední hodnota bude $$\operatorname{E}(X|Y_i) = \lambda Y_i$$. Změní se tím i estimátor, který bude nyní $$\lambda \overline{Y}$$, kde $$\operatorname{\overline{Y}} = \frac{\sum_{i=1}^K Y_i}{K}$$.

Následující tabulky srovnávají hodnoty estimátoru $$\operatorname{E}(X)$$ a intervaly spolehlivosti pro různé počty simulací s parametry $$\operatorname{\lambda} = 0,5$$, $$\operatorname{\mu} = 1$$, $$\operatorname{N} = 3$$ a $$\operatorname{t} = 1000$$ získané bez použití metody závislých proměnných, a druhá ukazuje snížení rozptylu právě použitím této metody.

Z hodnot v tabulce je patrné, že metoda podmíněných proměnných snížila směrodatnou odchylku 1,3krát, čímž i zúžila interval spolehlivosti 1,3krát.

Další metody pro redukci rozptylu
Kromě již uvedených metod snižování rozptylu existují ještě další, které stojí za zmínku a jsou v praxi používány. Mezi ty patří :


 * Metoda momentů
 * Výběr podle důležitosti
 * Stratifikovaný výběr
 * Regresní modely

= Závěr =

Díky uvedeným metodám lze snížit rozptyl v simulacích, které využívají metodu Monte Carlo. Některé metody pomohou snížit rozptyl více, některé méně, přičemž z uvedených metod dokázala nejvíce snížit rozptyl metoda Antitetických proměnných. V závislosti na typu úlohy a nám známých informacích bychom neměli volit zbytečně složitou metodu. Při snaze o snižování rozptylu je nutné mít na paměti, že ne vždy je čas strávený nad imlementací některé z metod kompenzován odpovídajícím výsedkem. V praxi se totiž může stát, že námi navržený model bude obsahovat nedostatky, které se projeví negativně na kvalitě výsledku mnohonásobně více než vyšší rozptyl.

= Zdroje =