[英]truncated normal distribution with scipy in python
我正在尝试在 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,我不明白为什么。 对此有何建议?
根据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))
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.