您的位置:首页 > 编程语言 > Python开发

均匀分布生成标准正态分布 python

2016-01-20 15:01 841 查看
    一个分布的随机变量可通过把服从(0,1)均匀分布的随机变量代入该分布的反函数的方法得到。均匀分布的反函数却求不了。所以我们就要寻找其他的办法。

    由均匀分布生成标准正态分布主要有3种方法:Box–Muller算法中心极限定理Kinderman and Monahan method。

接下来将分别介绍三种算法的python实现

1.Box–Muller算法

    Box–Muller算法实际上是依据瑞利分布来求标准正态分布的反函数。我们知道标准正太分布的反函数是求不了的,但标准正态分布经过极坐标变换后却是可以求得反函数的。

1.1.理论基础:







这里面,由

生成服从

的随机变量,

同时,由

生成服从

均匀分布的

随机变量。

因为

,所以由

得到服从标准正态分布的

随机变量。

1.2.python代码:



1.3.Excel直方图:





2.中心极限定理

2.1.理论基础:

  独立同分布、且数学期望和方差有限的随机变量序列的标准化和以标准正态分布为极限

















2.2.python代码:



2.3.Excel直方图:



3.Kinderman and Monahan method
    这个是python中random库里生成正态分布随机变量的方法。在这也贴出来大家共同学习讨论。

3.1.python代码:



3.2.Excel正方图:



理论依据来源于《概率论基础》李贤平
欢迎指正
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息