56星座屋
当前位置: 首页 星座百科

比较dekker算法和peterson算法(流行算法BoxMuller变换法)

时间:2023-05-25 作者: 小编 阅读量: 2 栏目名: 星座百科

Box-Muller变换通常以标准和极坐标两种形式表示。而独立随机变量联合分布等于边缘分布之积。又因可验证所以X,Y互相独立。首先确认U1,U2的取值范围均为(0,1)。又故U1,U2相互独立。

一、定义

Box–Muller 变换是一种快速产生符合标准正态分布随机数对的一种方法。基本思想是先得到服从均匀分布的随机数,再将服从均匀分布的随机数转变为服从标准正态分布(零期望,单位方差)的独立的随机数对。

它是由 George E. P. Box 与 Mervin E. Muller 在1958年提出,是最早运用与产生高斯白噪声的著名算法之一,它的基本原理是计算出高斯随机数的相位和幅度,进而产生高斯随机数对的算法。实际上,该方法最早是在1934年由Raymond E. A. C. Paley和Norbert Wiener明确提及的。

George E. P. Box是一位统计学大师,统计学中的很多名词术语都以他的名字命名。Box 之于统计学的家学渊源相当深厚,他的导师是统计学开山鼻祖皮尔逊的儿子-英国统计学家Egon Pearson;同时,Box还是统计学的另外一位巨擘级奠基人费希尔的女婿。统计学中的名言“All models are wrong, but some are useful”(所有模型都是错的,但其中一些是有用的)也出自Box之口。

Box-Muller变换通常以标准和极坐标两种形式表示。 Box和Muller给出的基本形式是从区间[0,1]上的均匀分布中获取两个样本,并将它们映射为两个标准的正态分布样本。极坐标形式从不同的区间[-1, 1]中获取两个样本,并将它们映射到两个正态分布的样本,而无需使用正弦或余弦函数。

二、优点

目前,产生正态分布随机数的主流方法有:

  • 用中心极限定理生成正态分布
  • 逆变换法
  • Ziggurat 算法
  • Box-Muller变换

Box-Muller变换是作为逆变换采样方法的一种计算效率更高的替代方法而开发的。Ziggurat算法为标量处理器(例如,旧的CPU)提供了一种更有效的方法,而Box-Muller变换对于具有矢量单位的处理器(例如,GPU或现代CPU)更胜一筹。

三、两种形式1、标准形式的 Box–Muller 变换(1)公式

假设变变量 U1 和变量 U2 是(0,1]均匀分布的随机数,

且 U1 和 U2 彼此独立,令:

则 Z0 和 Z1 就是服从 N(0,1)的标准正态分布随机数,并且 Z0 和 Z1 相互独立。

(2)标准形式的python代码演示

def box_muller_trans():x1 = 0x2 = 0w = 0x1 = np.random.rand()x2 = np.random.rand()y1 = np.cos(2.0*np.pi*x1) * np.sqrt(-2.0*np.log(x1))y2 = np.sin(2.0*np.pi*x2) * np.sqrt(-2.0*np.log(x2))return y1,y2

2、 极坐标形式的 Box–Muller 变换(1)公式

假设变量 u 和变量 v 是在[-1,1]上的均匀分布随机量,

u 和 v 相互独立,令:

故而,随机数 z0 和 z1 计算后得出如下结果:

z0 和 z1 是服从分布 N(0,1)的随机数,并且 z0 和 z1 相互 独立。

(2)极坐标形式的python代码演示

def box_muller_trans():x1 = 0x2 = 0w = 0while (w <= 0)|(w>=1.0):x1 = 2.0*np.random.rand()-1x2 = 2.0*np.random.rand()-1w = x1*x1x2*x2w = np.sqrt(-2.0*np.log(w)/w)y1 = x1*wy2 = x2*wreturn y1,y2

3、演示结果4、小结

也可利用Matlab工具进行算法验证。在实际工程应用中,如果直接采用标准形式的Box-Muller算法的时候,需要计算正弦(sin)和余弦(cos)函数,这种计算耗时较多,效率比较低。Box-Muller 的极坐标形式更加常用,它避开了三角函数的计算,可以在很短的时间内产生大量的符合正态分布的随机数,能够满足了工程计算中对计算速度的要求。

更多的统计分布如何通过均匀分布的变换生成出来,大家可以参考 Sheldon M. Ross 的《统计模拟》。

四、Box-Muller变换的证明1、标准形式推导2、标准形式证明

设U1,U2相互独立,均服从分布U(0,1)

则X、Y相互独立且均服从标准正态分布。

证明:U1,U2~U(0,1) 所以

因为θ=2πU2, 根据一元随机变量函数分布(见附录), 有:

因为

同样,根据一元随机变量函数分布,有:

因为U1、U2互相独立,而 θ只取决于U2,R只取决于U1,所以θ 、R互相独立。而独立随机变量联合分布等于边缘分布之积。所以

因为X = Rcosθ, y=Rsinθ, 根据二元随机变量函数分布,有:

其中

所以

所以

同理可得:

可见X和Y均服从标准正态分布。又因可验证

所以X,Y互相独立。

证毕。

3、极坐标形式的推导与证明

设u,v相互独立,均服从分布U(-1,1),且有

则X、Y相互独立且均服从标准正态分布。

根据Box-Muller变换的标准形式

作变换

可得:

现在证明(*)变换满足: U1,U2相互独立,均服从分布U(0,1)。

证明:

图4-1

如图4-1所示。首先确认U1,U2的取值范围均为(0,1)。因为(u,v)均匀分布在单位圆内,而

故U1取值范围为(0,1)。θ=2πU2,因为θ的取值范围是(0,2π), 故U2的取值范围是(0,1)。

因为(u,v)均匀分布在单位圆内,故

根据二元随机变量函数分布(见附录),有

现在求J

所以

所以

所以

同理:

故U1,U2均服从U(0,1)。

故U1,U2相互独立。

证毕。

五、附录1、一元随机变量函数的分布

如果

y为单调函数,则

证明:因为

P{Y ≤y(x)} = P{X ≤x},

P{Y ≤y(x dx)} = P{X ≤x dx}

两式相减得

P{y(x) ≤Y ≤y(x dx)} = P{x ≤X ≤x dx}

dy之所以加绝对值,是因为dy有可能为负(当y为减函数时,区间[y(x),y(x dx)]为负区间,dy为负)。

所以

2、二元随机变量函数的分布

设X,Y均为二元随机变量,即X=(X1,X2), Y=(Y1, Y2)

向量y=(y1, y2), 如果

则:

证明:

对于X取值区域上的面元dS,将经过函数y映射为Y的取值区域上的面元记为y(dS),有:

P{X∈dS} = P{Y∈y(dS)}

其中Area(y(dS))加绝对值,是因为Area(y(dS))可能为负(J<0时)。

又因为面积元之比等于雅可比行列式,即

Area(y(dS))=J * Area(dS)

所以

    推荐阅读
  • 貔貅戴脖子上佩戴方法(有什么说法)

    貔貅戴脖子上佩戴方法貔貅戴脖子上佩戴方法是以貔貅的头部朝上佩戴为佳。人们认为,这样可以集日月之精华,融天地之度量,为我们带来更好的招财效果,貔貅带脖子上可以将貔貅放置衣服之内,也可以将貔貅放置衣服之外。但是禁忌他人触摸,这会影响到貔貅的招财效果。日常生活中,洗澡或是房事的时候需要将貔貅取下放好,放置早干净平稳的地方,以免貔貅吊坠跌落损坏。开闪光灯照相的时候要把貔貅取下或放入衣内,貔貅忌强光。

  • 控释肥不浇水可以吗(缓释肥不浇水会释放吗)

    回答施用控释肥之后可以不浇水,但是在缺少水分的情况下它的养分会无法被有效地释放,这可能会导致农作物因为无法吸收到足够的养分而影响到自身的长势,严重时甚至会造成减产,因此建议在施肥后适量浇一点水。

  • 兰花养殖方法和注意事项(兰花养殖方法和注意事项简单介绍)

    兰花养殖方法和注意事项土壤:栽培基质要疏松肥沃、排水良好,透水性是最主要的原则。如果是肥份不足可以通过后期施肥的方式来补充,但是一定要透水,不能过于细腻。通常在5度以上到25度以下,这个温度环境下它会生长的比较健壮。

  • 可乐加牛奶出现的沉淀可以喝吗(一长一排好搭档)

    最典型的例子就是出租车司机和货车司机,他们是肾结石的高发人群。可乐是碳酸饮料,一直流传的可乐排肾结石,是希望可乐中的碳酸能溶解结石。所以,可乐既没有溶解结石的作用,也不可能促进结石的排出,甚至有的肾结石患者,喝完可乐后还会加重病情。

  • 古代园林设计特点(古代园林设计和现代园林景观设计)

    说起园林景观,一般都会想到古代皇帝的后花园和有钱人的大院。一般园林景观设计分三大类:1.城市区域性的园林景观设计:主要是针对城市的整体区域规划和城市公共区域设计规划,梳理整体的水系、山脉及交通等布局。更多园林设计了解,关注BuildMost平台,不迷路!

  • 被抛弃的小王子建模(一位25岁的模型玩家去世了)

    几个月前,这家店的关注数还不到1000▼这家店的店主叫王任飞,25岁,因心脏问题,已于今年5月21日去世。这种病症表现为肌肉萎缩,会导致下肢瘫痪、心肌问题等,诱因是先天基因缺陷,因为没有家族病史,所以医院的推断是基因突变。5月21日下午,牛牛照常在工作间制作模型,却突然晕倒,后被家人发现。在差评君介绍RELIC芯片时,牛牛母亲并不知情,而听完后她几近失声。

  • 元宵冷冻可以保存多久(元宵放冰箱冷冻很久了还能吃吗)

    元宵冷冻可以保存2-3个月。准备好保鲜袋或者是密封的保鲜盒,将元宵放入袋子或者盒子里,然后再放入冰箱进行冷冻,不过冷冻时间太久,会对于食物的口感以及品质有影响,因此尽量在1-2个月之内将其吃掉。

  • 中华书局各版本二十四史(几十年如一日打造最权威的)

    2月刚刚推出的《隋书》修订本很快便位居京东“二十四史”相关图书销量第一。中华书局对于这一修订工程的重视程度可见一斑。审定委员会及各史审定者,负责修订本各环节的审定工作。任何疑难问题,需经修订工程审定委员会以书面或会议研讨方式研究解决。各史清样需送交修订承担者审阅,以便共同把关,确保修订本的编校质量。据介绍,修订本对点校本进行了全面复核,并按照当代学术规范,大量增加校勘记。

  • 经期可以洗澡洗头吗(经期能洗澡洗头吗)

    经期可以洗澡洗头吗?下面希望有你要的答案,我们一起来看看吧!洗澡最好是选择淋浴,不能盆浴,以免污水感染引起妇科炎症。在月经期间,要注意外阴的清洁卫生,可每天晚上用温水清洗。由于血液是细菌的良好培养基,容易导致细菌生长、繁殖。所以来月经的时候,女性更要重视清洁卫生的问题,注意勤换卫生巾,避免妇科疾病的发生。

  • 二手车如何检查车况是否良好(二手车跑多少公里就不要买了)

    了解车辆的历史车况信息,所有数据一查便知,足不出户即可查询。