如何使用python计算两个不同长度的连续随机样本之间的距离(相似性)



我想计算两个样本集之间的相似性或距离
每组表示用户的游戏时间
例如,假设有两个用户,第一个用户(X1(播放五次,另一个用户播放四次,如下所示。

X1={1,2,3,1,2}
X2={1,2,3,4}

我想用python计算X1X2之间的相似性或距离。我该如何计算?

注1。顺序并不重要
我的意思是,{1,2,3,4}和{4,1,2,3}应该被视为同一集合。

注2。元素(即1、2、3、4(不是固定的。我的意思是,比赛时间是一个连续的变量。

好吧,你可以使用Kolmogorov Smirnov 2样本测试,从https://docs.scipy.org/doc/scipy/reference/generated/scipy.stats.ks_2samp.html,此处描述

它应该适用于不同尺寸的样品。

在Python中,例如

import scipy.stats as st    
x = np.random.normal(0,1,1000)
y = np.random.normal(0,1,1000)
z = np.random.normal(1.1,0.9,1000)
st.ks_2samp(x, y)
st.ks_2samp(x, z)

它返回D统计信息(以及p值(,这是两个样本的CDF之间的绝对最大距离(上确界(。这是你的距离。有关的详细信息,请参阅此处

最新更新