统计学解释
正态分布:正态分布(normal distribution),又称高斯分布;其概率密度(正态分布曲线)呈钟型,两头低,中间高,左右对称。分布如图:
![ef33e0a21179c0e34061a284ab496fa6.png](https://img-blog.csdnimg.cn/img_convert/ef33e0a21179c0e34061a284ab496fa6.png)
标准正态分布曲线
其概率密度公式为:
![aafa9857b3c857071c04bab04476658e.png](https://img-blog.csdnimg.cn/img_convert/aafa9857b3c857071c04bab04476658e.png)
当μ=0,σ=1时称随机变量X服从标准正态分布,其概率密度为:
![ec3f1228e05638949930321fcccf4b9e.png](https://img-blog.csdnimg.cn/img_convert/ec3f1228e05638949930321fcccf4b9e.png)
标准正态分布的概率即为该标准正态分布的概率密度的积分,也就是标准正态分布的分布函数的值。标准正态分布的分布函数如下:
![6785866bbab144d47d8a460530f6f39b.png](https://img-blog.csdnimg.cn/img_convert/6785866bbab144d47d8a460530f6f39b.png)
因为标准正态分布的概率密度为超越函数(不可积积分),因此我们通过将被函数包围的面积切分为大量矩阵来计算它的积分。
因为在计算机中我们不方便直接从-∞开始切分为小矩形,所以对于x>0的情况,我们利用Φ(0)=0.5将Φ(x)转化为在区间(0,X)上的积分,再加上Φ(0)的0.5;对于x<0的情况,我们利用公式:
![eca36a8a9ac854fe4fe4db0f8c31fb58.png](https://img-blog.csdnimg.cn/img_convert/eca36a8a9ac854fe4fe4db0f8c31fb58.png)
进行处理,将x<0的情况转化为x>0的情况。
实现代码
import mathdef normal_distribution(x): #处理x<0(目标点在分布中心左侧)的情况 if x<0: return 1-normal_distribution(-x) if x=0: return 0.5 #求标准正态分布的概率密度的积分 s=1/10000 xk=[] for i in range(1,x*10000): xk.append(i*s) integral=(fx_normal_distribution(0)+fx_normal_distribution(x))/2 #f(0)和f(x)各算一半 for each in xk: integral+=fx_normal_distribution(each) return 0.5+integral*s def fx_normal_distribution(x): return math.exp((-(x)**2)/2)/(math.sqrt(2*math.pi))
测试
print(normal_distribution(1))
结果
0.8413447458669009
作者:长行