根据样本数据计算概率向量

时间:2019-06-28 18:11:59

标签: python numpy scipy spatial

我想使用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)

1 个答案:

答案 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)