我想使用Jensen-Shannon Divergence指标比较两个分布。为此,我需要两个概率向量。来自scipy.spatial documentation。
scipy.spatial.distance.jensenshannon(p,q,base = None)[源代码]
参数:
p(N,)array_like左概率矢量
q(N,)array_like对概率向量
问题
如何从样本数据计算概率向量?
示例:
from scipy.spatial import distance
import numpy as np
x1 = np.random.normal(size=100)
x2 = np.random.normal(size=100)
p =
q =
jsd_metric = distance.jensenshannon(p, q)
我可以使用scipy.stats.norm.pdf()
完成此操作吗?
p = scipy.stats.norm.pdf(x1)
q = scipy.stats.norm.pdf(x2)
答案 0 :(得分:1)
概率分布( final SelfiesAdapter selfiesAdapter = new SelfiesAdapter(getActivity(), mPhotoArrayList, mPhotoIds);
中的概率向量)是潜在频率分布除以样本数,因此
scipy
注意:
p = np.histogram(x1)[0] / len(x1)
q = np.histogram(x2)[0] / len(x2)