正态分布cdf,超出范围的容器

时间:2018-12-30 14:23:43

标签: python scipy

对于具有给定musigma的正态分布,什么是紧凑而干净的方法来生成具有概率范围为r的概率表(所以我以后可以将其绘制为直方图)?

我现在使用scipy进行操作的方式虽然有效,但是它很丑陋,所以我希望有人可以提出一些更干净的建议?

from scipy.stats import norm

mu = 0
sigma = 5
step = 5
eps = 20
r = list(range(mu-eps, mu+eps + 1, step))
print(r)

for i, j in enumerate(r):
    if i == 0:
        range_desc = '<{}'.format(j)
        v  = norm(mu, sigma).cdf(j)
    else:
        range_desc = '{} - {}'.format(r[i-1], j)
        v = norm(mu, sigma).cdf(r[i]) - norm(mu, sigma).cdf(r[i - 1])
    print(range_desc, ':::\t', v)

输出:

[-20, -15, -10, -5, 0, 5, 10, 15, 20]
<-20 :::     3.167124183311986e-05
-20 - -15 :::    0.0013182267897969735
-15 - -10 :::    0.0214002339165491
-10 - -5 :::     0.13590512198327787
-5 - 0 :::   0.3413447460685429
0 - 5 :::    0.3413447460685429
5 - 10 :::   0.13590512198327787
10 - 15 :::  0.021400233916549105
15 - 20 :::  0.0013182267897969835

0 个答案:

没有答案