【发布时间】:2017-12-02 06:09:55
【问题描述】:
我有一个从 -5 到 5 的直方图,我可以随意操作和绘制它,并且我使用以下 PDF 对其进行单样本 KS 测试:norm、cauchy、students t、laplace。
但是,我必须对数据进行对称化(使其仅从 0 变为 5)并对其进行 KS 测试。这对 norm 和 cauchy 来说都很好.. 但我在 scipy.stats 中找不到“半学生 t”PDF
所以我也非常感谢您的帮助:
1) 在如何绘制从 5、4、3、2、1、0、1、2、... 向上返回的直方图,其中没有负数,不只显示 0 到5 我可以像往常一样为我的 KS 测试设置 loc=0 。 (我希望我可以做一个 plt.MirroredAboutX() 什么的?)或者,
2) 有人知道 PDF 中是否有一半学生隐藏在我掩饰的地方吗?
谢谢!
编辑:使用此列表对上述 #1 进行澄清
l = [-1.93067027 -1.00267766 -0.6349767 -0.82698775 -0.59277326 -0.67801007 -0.60888202 -0.27387228 -0.03645225 -0.02120668 0.02004329 0.40640109 0.661673 0.77414735 0.86466529 0.53162743 0.64943555 0.7827397 1.8450599 1.44000795]
plt.hist(np.abs(l)) 向我展示了一个从 0 到 2 的直方图。
我希望从 0 到 2 的直方图现在在 y 轴上进行镜像/翻转,以便 x 轴的范围是从 2 到 2(因为它以 0 为中心),就是这样漂亮的对称直方图。
【问题讨论】:
-
我想知道这是否与为绝对值做直方图相同。直方图(abs(x))。此外,提供您想要实现的目标的示例代码真的很有意义。
-
感谢您的推荐,我已经更新了我的问题。
-
这样更好。但是如果你翻转直方图,你不会得到错误的值吗? y 轴上的值实际上不再对应任何合理的数字,对吧?
-
它们会并且只是镜像值,我只需要翻转它,这样我就可以将 KS 测试用于高斯或柯西测试。你知道怎么做吗?
标签: python-2.7 matplotlib plot scipy histogram