我试图绘制一个平均值为0.5
且标准分布为1.0
的{{3}}。分布被截断为仅在间隔(0,1)
中。
x = np.linspace(0,1,100)
dist=truncnorm(a=0,b=1,loc=0.5, scale = 1.0)
plt.plot(x, dist.pdf(x), 'k-', lw=2, label='normalised truncated Gaussian')
但是我却得到了它:
truncated Gaussian distribution (using scipy)
x=0.5
之后的所有内容似乎都很正常,但在此之下,您会突然下降到零。但是,分布只能在(0,1)
之外为零。发生了什么,我该如何解决?
答案 0 :(得分:2)
您正在告诉它使用loc
进行绘制,以移动绘制。
dist=truncnorm(a=0,b=1,loc=0.5, scale = 1.0)
应该是
dist=truncnorm(a=0,b=1, scale = 1.0)
获取标准图。
从truncnorm()上的source code:
对于均匀分布的MLE,位置是最小的 数据,小数位数是最大值减去最小值。 (第6570行)