【问题标题】:Compare two N-dimensional arrays [closed]比较两个 N 维数组
【发布时间】:2014-04-17 05:09:48
【问题描述】:

我有两组 N 维数组,我需要以某种方式比较它们并获得一个表示它们有多“相似”的值。用统计术语来说,这是一个双样本拟合优度问题,假设两个数组来自相同的父分布。

为简化起见,想象一下如下所示的二维数组:

为此,我需要提供一个数字来量化它们的“相似程度”。

有没有提供这种统计测试的python 包?我愿意使用numpyscipyscikit-learn 等。


添加

我找到了一个 scipy 包,它显然可以满足我的需求,但它只适用于一维数组:scipy.stats.ks_2sampR统计软件有ks package,其中包含kde.test功能。这个函数可以满足我的需要,但我想要一个 python 实现。

【问题讨论】:

  • 需要有多严格?对于一个简单的指标,您始终可以比较均值和协方差矩阵。
  • 比较点云的方法有很多。例如,计算均值的距离 (np.mean()) 会告诉您它们的中心相距多远。计算协方差矩阵的行列式 (np.cov()) 将描述近似椭球的体积。
  • 您可以使用 scipy 中的 kstest 模块为您的矩阵做一个“拟合优度”。
  • 这样的统计检验是模糊的。检查stats.stackexchange.com
  • 这个问题似乎是题外话,因为它是关于属于 stats SE 的。

标签: python arrays numpy scipy scikit-learn


【解决方案1】:

既然您知道有一个 R 包可以解决问题,那么您的应用程序可以从 Python 调用 R 吗? rpy2 包允许您与 R (https://pypi.python.org/pypi/rpy2/) 通信,如果您使用 IPython,则可以使用 rmagic (http://ipython.org/ipython-doc/dev/config/extensions/rmagic.html) 以交互方式进行。 pandas 中还有一些实验性的 rpy2 支持。 http://pandas.pydata.org/pandas-docs/dev/r_interface.html

【讨论】:

    猜你喜欢
    • 2020-09-10
    • 2013-05-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多