从样本数据计算概率向量
Calculate probability vector from sample data
我想使用 Jensen-Shannon Divergence 指标比较两个分布。为此,我需要两个 概率向量 。来自 scipy.spatial documentation.
scipy.spatial.distance.jensenshannon(p, q, base=None)[source]
Parameters:
p(N,) array_like left probability vector
q(N,) array_like right probability vector
问题
如何根据样本数据计算概率向量?
示例:
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)
概率分布(scipy
中的概率向量)是基础频率分布除以样本数,所以
p = np.histogram(x1)[0] / len(x1)
q = np.histogram(x2)[0] / len(x2)
注:
np.sum(p) == 1
np.sum(q) == 1
我想使用 Jensen-Shannon Divergence 指标比较两个分布。为此,我需要两个 概率向量 。来自 scipy.spatial documentation.
scipy.spatial.distance.jensenshannon(p, q, base=None)[source]
Parameters:
p(N,) array_like left probability vector
q(N,) array_like right probability vector
问题
如何根据样本数据计算概率向量?
示例:
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)
概率分布(scipy
中的概率向量)是基础频率分布除以样本数,所以
p = np.histogram(x1)[0] / len(x1)
q = np.histogram(x2)[0] / len(x2)
注:
np.sum(p) == 1
np.sum(q) == 1