我正在绘制测试分数的分布以及这些测试分数的拟合曲线:
h = sorted(data['Baseline']) #sorted
fit = stats.norm.pdf(h, np.mean(h), np.std(h))
plt.plot(h,fit,'-o')
plt.hist(h,normed=True) #use this to draw histogram of your data
plt.show()
但是,pdf的图看起来不正常(请参见x = 60附近曲线的扭结)。查看输出:
我不确定这是怎么回事...任何帮助表示赞赏。这是因为在提供的观测值之间绘制了法线吗?如果需要可以为您提供实际数据,只有60个观测值。
答案 0 :(得分:1)
是的,您需要评估过度保留的norm-pdf。相反,您想创建其他数据,例如
h = sorted(data['Baseline']) #sorted
x = np.linspace(h.min(), h.max(), 151)
fit = stats.norm.pdf(x, np.mean(h), np.std(h))
plt.plot(x,fit,'-')
plt.hist(h,normed=True)
plt.show()
但是请注意,数据看起来根本不是正态分布的。因此,可能您宁愿拟合其他分布,或者执行内核密度估计。