【问题标题】:How to get probability density function using Kullback-Leibler Divergence in Python如何在 Python 中使用 Kullback-Leibler Divergence 获得概率密度函数
【发布时间】:2018-07-26 06:32:27
【问题描述】:

我有一组保存在 python 中的一维数据。我可以使用 scipy 的 gaussian_kde 函数获得概率密度函数。我想知道返回的分布是否与正态分布等理论分布相匹配。为此我可以使用KL散度吗?如果是这样,我该如何使用 python 来做到这一点?

这是我获取概率密度函数的python代码。

array = np.array(values)
KDEpdf = gaussian_kde(array)
x = np.linspace(0, 50, 1500)
kdepdf = KDEpdf.evaluate(x)
plt.plot(x, kdepdf, label="", color="blue")
plt.legend()
plt.show()

【问题讨论】:

  • 检查 scipy 的 entropy-funciton

标签: python statistics


【解决方案1】:

有几种方法可以做到:

  1. 根据正态拟合概率分布绘制它。点赞:plt.hist(x, norm.pdf(x,mu, std))

  2. 使用类似Q-Q plot 的方式将 kdepdf 分布与均匀随机数据集进行比较。

  3. 使用 卡方检验,谨慎选择您选择的 bin 大小。基本上,这测试了落入各个区间的抽奖次数是否符合均匀随机分布。卡方检验。基本上,这测试了落入各个区间的抽奖次数是否符合均匀随机分布。

【讨论】:

    猜你喜欢
    • 2016-08-03
    • 1970-01-01
    • 1970-01-01
    • 2011-06-19
    • 1970-01-01
    • 2020-08-07
    • 2019-04-19
    • 2017-12-18
    • 2018-09-05
    相关资源
    最近更新 更多