box muller --- (2)
這個就…把什摸理論通通都丟開,直接來下個結論吧~ @ @++
根據上篇,或者… 唔、不想知道也不要緊~ XDD
我們可以歸納出、要進行box-mull有幾個不可或缺的步驟。
得知常態分佈函數,如下:
$$
\begin{equation}
p(x): = \frac {e ^{-\frac{x^2}{2}}} {\sqrt {2 \pi}} \Longleftarrow N(0, 1)
\text{ ,$ \\\ $ the mean = 0, variance = 1 }
\end{equation}
$$將上述算式利用Jacobian從xy系統變成極座標系統。然後,結論就出來了~ (← 這也太快了吧~ XDD)
$$
\begin{equation}
U(R) = p ~ \Longrightarrow ~ R = \sqrt{-2 log (1 - p)}
\end{equation}
$$因為是轉成極座標系統,所以 $x=r cos{\theta}$、$y=r sin{\theta}$
在此分成2部份…
我覺得第2點結論出來就滿足了,那就…只需要取得p = rand(),代入得到R,然後,$\theta$的話就…方便咩~就
一樣使用p代入,然後隨便看是要找x或y的都可以,這樣就結束了。這個的…亂數分佈會是長下面那樣…假如,尼跟我一樣,我需要的是,在常態分佈下的樣本…那很簡單,就是取2個rand,一個是p,另一個就是$\theta$,
然後… 一樣帶入算式就沒問題啦~然後、這一個的分佈會是這樣…,應該可以很明顯的區分出它們的不同啦~嗯嗯
雖然,我本人有點偷懶~ = . .= 上面用的圖,是gaussian的圖形,可是,長得差不多啦~ 我懶得換了…
而其實咧~ @ @++ box-muller的作法,激發了我另一個猜想… = “””= 其實,原本就想過了,只是… 我不太懂的jacobian的
算法,該怎樣替換~ XDD 現在大概懂了(?) 哈…所以,我們把上述的結論稍微抽出來代換一下~ XDDD
取得想要的函數圖形…
將上述的算式利用jacobian從xy系統變成uv系統。結論就出來了~ (uv系統,不一定是要orthogonal的座標系)
然後…跟上面的第3點一樣,看得到的算式是啥,就…取rand,然後,代入,接下來換掉就沒問題啦~ @ @+++
我覺得,如果採用自訂的函數圖形,通常就會是想要均勻樣本,所以…應該會採用2個rand的方式做代換。
以下面的為簡單的例子,免得說我騙人~ = . .= 這明明就真的可以達到咩~
這一個是cos分佈,範圍是取一個$\pi$,$-1 \le r \le 1$
這個是2x-y的..線性分佈,由於不是mapping到極座標,所以,圖形就不會有那種$r cos{\theta}$或$r sin{\theta}$的特徵,
通常、線性的這種,會牽扯到正負無限大,或者要取$>$或$<$的問題…這類的問題,阿就自己評估一下就行,下面的話,
是取$<$而且、x的範圍是[0, 2],大概就是降…
題外話,我真的覺得…. = . .= 寫這類的文章的..人類們真的很厲害,我佩服萬分,還可以一寫就…..啪答啪答的好
幾個系列,我…我寫一個就覺得要不行了~ = . .= 光是從回憶算式,然後,很龜毛的一定要弄成latex,接著,圖形
還要寫個程式跑跑看,測試一下,有時候再順便(?)醞釀的新東西也套進去玩(某方面來說,真的太不可取了~ XDD),
玩完後…以為降就結束了(?),不… 當然還要放到跟文章一起~ = . .= 然後,再加上突如其來的靈感,還要給它
balabala…這真的是~無底洞阿~(汗||) 光是這樣短短的2篇,尼知道我花了我多少時間嗎~ Q 口Q 是我花將近1個月拼
拼湊湊,犧牲我打電動、睡午覺、吃零食、看電視….無數歡樂的時光才換來的捏~
所以,啾~竟,小助助還可以堅持多久捏