【发布时间】:2014-04-17 05:09:48
【问题描述】:
我有两组 N 维数组,我需要以某种方式比较它们并获得一个表示它们有多“相似”的值。用统计术语来说,这是一个双样本拟合优度问题,假设两个数组来自相同的父分布。
为简化起见,想象一下如下所示的二维数组:
为此,我需要提供一个数字来量化它们的“相似程度”。
有没有提供这种统计测试的python 包?我愿意使用numpy、scipy、scikit-learn 等。
添加
我找到了一个 scipy 包,它显然可以满足我的需求,但它只适用于一维数组:scipy.stats.ks_2samp。 R统计软件有ks package,其中包含kde.test功能。这个函数可以满足我的需要,但我想要一个 python 实现。
【问题讨论】:
-
需要有多严格?对于一个简单的指标,您始终可以比较均值和协方差矩阵。
-
比较点云的方法有很多。例如,计算均值的距离 (
np.mean()) 会告诉您它们的中心相距多远。计算协方差矩阵的行列式 (np.cov()) 将描述近似椭球的体积。 -
您可以使用 scipy 中的
kstest模块为您的矩阵做一个“拟合优度”。 -
这样的统计检验是模糊的。检查stats.stackexchange.com
-
这个问题似乎是题外话,因为它是关于属于 stats SE 的。
标签: python arrays numpy scipy scikit-learn