【发布时间】:2014-12-31 19:38:53
【问题描述】:
我正在尝试使用 scipy.stats.entropy 来估计两个分布之间的 Kullback–Leibler (KL) 散度。更具体地说,我想使用 KL 作为衡量两个分布是否一致的指标。
但是,我无法解释 KL 值。例如:
t1=numpy.random.normal(-2.5,0.1,1000)
t2=numpy.random.normal(-2.5,0.1,1000)
scipy.stats.entropy(t1,t2)
0.0015539217193737955
那么,
t1=numpy.random.normal(-2.5,0.1,1000)
t2=numpy.random.normal(2.5,0.1,1000)
scipy.stats.entropy(t1,t2)
= 0.0015908295787942181
基本上没有重叠的完全不同的分布如何具有相同的KL值?
t1=numpy.random.normal(-2.5,0.1,1000)
t2=numpy.random.normal(25.,0.1,1000)
scipy.stats.entropy(t1,t2)
= 0.00081111364805590595
这个给出的 KL 值甚至更小(即距离),我倾向于将其解释为“更一致”。
关于如何在这种情况下解释 scipy.stats.entropy(即 KL 散度距离)的任何见解?
【问题讨论】:
标签: python statistics scipy entropy