首页 文章

在Python中,如何计算两个数据阵列之间的相关性和统计显着性?

提问于
浏览
9

我有两个同样长的数据数组的数据集,或者我可以创建一个两项条目数组,我想计算数据所代表的相关性和统计显着性(可能紧密相关,或者可能有无统计学意义的相关性) .

我用Python编程并安装了scipy和numpy . 我查看并找到Calculating Pearson correlation and significance in Python,但这似乎想要操纵数据,因此它落入指定范围 .

我假设,有什么方法可以让scipy或numpy给出两个数组的相关性和统计显着性?

3 回答

  • 2

    如果你想计算Pearson相关系数,那么 scipy.stats.pearsonr 就是你要走的路;虽然,重要性仅对较大的数据集有意义 . 此功能不需要操纵数据落入指定范围 . 相关的值落在区间 [-1,1] ,也许这就是混乱?

    如果重要性不是非常重要,您可以使用 numpy.corrcoef() .

    马哈拉诺比斯距离确实考虑了两个阵列之间的相关性,但它提供了距离测量,而不是相关性 . (数学上,马哈拉诺比斯距离不是真正的距离函数;然而,它可以在某些情况下如此使用,以获得巨大的优势 . )

  • 0

    您可以在这两个数组之间使用Mahalanobis distance,这会考虑它们之间的相关性 .

    该功能在scipy包中: scipy.spatial.distance.mahalanobis

    有一个很好的例子here

  • 7

    scipy.spatial.distance.euclidean()

    这给出了2个点,2个np阵列,2个列表等之间的欧氏距离

    import scipy.spatial.distance as spsd
    spsd.euclidean(nparray1, nparray2)
    

    你可以在这里找到更多信息http://docs.scipy.org/doc/scipy/reference/spatial.distance.html

相关问题