作者:长行
时间:2019.03.21
统计学解释
上次我们介绍了标准正态分布概率计算的方法,现在我们来计算任意正态分布的概率计算方法。
首先需要将正态分布通过线性变换将它转化为标准正态分布,其变换公式如下:
其中为正态分布的均值,为标准差;其结果服从于均值为0,标准差为1的标准正态分布。
实现代码
1.引入计算标准正态分布累积概率的代码
import math
def st_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_st_normal_distribution(x):
return math.exp((-(x)**2)/2)/(math.sqrt(2*math.pi))
此函数计算了随机变取量小于函数参数x的概率。
2.利用公式将任意正态分布转化为标准正态分布
def normal_distribution(x,u,s):
z=(x-u)/s
return st_normal_distribution(s)
normal_distribution(7.1,5,2)
结果:
0.9772498679618343
其中u为任意正态分布的均值,s为标准差;此函数计算了任意正态分布随机变量取小于函数参数x的概率。
实际应用
正态分布在统计学中的应用非常广泛。无论随机变量本身是如何分布的,只要是大量的服从相同分布的随机变量之和,那这个和就近似服从正态分布(李雅普诺夫定理)。
因此,我们可以将正态分布应用到如下场景的概率计算中:肺活量、智商、考试成绩、态度得分等等。