python中带scipy的截断正态分布

moiiocjp  于 2022-12-18  发布在  Python
关注(0)|答案(1)|浏览(130)

我尝试在Python3中使用scipy的截断正态分布,我想做一些简单的事情:我画了一个中心在0.5,范围从0到1的截断法线的pdf。我有以下代码行

from scipy import truncnorm
import matplotlib.pyplot as plt
plt.plot([truncnorm.pdf(p,0,1, loc=0.5) for p in np.arange(0,1.1,0.1)])

然而,这并没有给予我所期望的漂亮的钟形概率分布函数,相反,它在0.5之前等于0,我不知道为什么,对此有什么建议吗?

nlejzf6q

nlejzf6q1#

以下是根据truncnorm文档应遵循的过程。

# user input
myclip_a = 0
myclip_b = 1
my_mean = 0.5
my_std = 0.3

a, b = (myclip_a - my_mean) / my_std, (myclip_b - my_mean) / my_std
x_range = np.linspace(-1,2,1000)
plt.plot(x_range, truncnorm.pdf(x_range, a, b, loc = my_mean, scale = my_std))

相关问题