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

How to calculate distance (similarity) between two continuous random samples with different length using 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)不固定。我的意思是,播放时间是一个连续变量。

好吧,您可以使用来自 https://docs.scipy.org/doc/scipy/reference/generated/scipy.stats.ks_2samp.html, described here

的 Kolmogorov-Smirnov 2 样本测试

它应该适用于不同大小的样本。

在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)

它 returns D 统计量(以及 p 值),它是两个样本的 CDF 之间的绝对最大距离(上确界)。这是你的距离。详情见here