【发布时间】:2014-02-20 12:00:21
【问题描述】:
我需要对从对数正态分布生成的数据进行核密度估计。我一直在使用 gaussian_kde 并在 Python 中使用 matplotlib 绘制数据。
但是,一个问题是数据具有如此极端的偏差,以至于很难正确地绘制分布密度图。在我的示例中,大多数分布都非常接近 0,但由于极端偏斜,密度估计最终在 x 轴上的分布比应有的更远。如果我增加 bin 大小,我可以获得更好的分辨率,但这需要很长时间。
有人知道这个问题的解决方案吗?这是否需要选择不同的带宽?
这是我生成数据的一些示例代码:
k = np.random.normal(loc = -15, scale = 6, size = 10e3)
k = exp(k)
xs = np.linspace(min(k), max(k), 2500)
density = gaussian_kde(k)
d = density(xs)
plot(xs, d)
xlim(0, 5)
密度分布相当均匀,但当取 k 的中值时,它几乎为零。
有人对此有任何解决方案吗?谢谢!
【问题讨论】:
标签: python matplotlib kernel scipy