box-muller

Box-Muller,一般是要得到服從常態分配的隨機數,基本思想是先得到服從均勻分布的隨機數再將服從均勻分布的隨機數轉變為服從常態分配。

基本介紹

  • 中文名:box-muller
  • 套用學科:數學
  • 類別:算法
  • 用途:產生隨機數
概述,方法,

概述

Box-Muller 算法隱含的原理非常深奧,但結果卻是相當簡單。它一般是要得到服從常態分配的隨機數,基本思想是先得到服從均勻分布的隨機數再將服從均勻分布的隨機數轉變為服從常態分配。

方法

如果在 (0,1] 值域內有兩個獨立的均勻分布的隨機數字 U1 和 U2,
可以使用以下兩個等式中的任一個算出一個常態分配的隨機數字 Z:
Z0 = R * cos( θ )
Z1= R * sin( θ )
其中,
R = sqrt(-2 * ln(U1))
θ = 2 * π * U2
那么Z0和Z1是滿足標準常態分配的獨立隨機數字。
由於R^2是二維常態分配(X,Y)的平方,所以它是有兩個自由度的卡方分布,在兩個自由度選取某個的特殊情況下,卡方分布和指數分布一致,所以上述R^2的方程式一個簡單的產生指數隨機數的方法。
正態值 Z0和Z1 有一個等於 0 的平均值和一個等於 1 的標準偏差,可使用以下等式將 Z 映射到一個平均值為 m、標準偏差為 sd 的統計量 X:
X = m + (Z * sd)

相關詞條

熱門詞條

聯絡我們