Python 多维数组的相关系数

Python 多维数组的相关系数,python,numpy,multidimensional-array,correlation,Python,Numpy,Multidimensional Array,Correlation,我想计算两个数组a和b之间的相关性;a和b的形状是(10,2)。我希望相关矩阵的形状(10,10),值在[-1,1]范围内;每对的相关值 >>> a array([[-1.22674504, 0.08136256], [ 1.95456381, -1.31209914], [ 0.29199221, 0.00573356], [ 0.66700798, -0.68239164], [-1.03723395, -0.15

我想计算两个数组
a
b
之间的相关性;
a
b
的形状是
(10,2)
。我希望相关矩阵的形状
(10,10)
,值在
[-1,1]
范围内;每对的相关值

>>> a
array([[-1.22674504,  0.08136256],
       [ 1.95456381, -1.31209914],
       [ 0.29199221,  0.00573356],
       [ 0.66700798, -0.68239164],
       [-1.03723395, -0.15456914],
       [-0.52541249, -0.21180142],
       [-0.94584861, -0.81954194],
       [ 1.11044632,  2.02689438],
       [-0.12003807,  0.00595059],
       [-0.16873215,  1.06046219]])

>>> b
array([[-0.06960341,  0.01320213],
       [ 0.1108986 , -0.21290515],
       [ 0.01656714,  0.00093034],
       [ 0.03784489, -0.11072692],
       [-0.05885088, -0.02508085],
       [-0.029811  , -0.03436753],
       [-0.05366583, -0.13298134],
       [ 0.06300482,  0.32888998],
       [-0.00681075,  0.00096556],
       [-0.00957357,  0.17207378]])
我使用
numpy.corrcoef(a,b)
得到一个
(20,20)
矩阵,而不是
(10,10)


一行是一个观察值,有两个值,我如何告诉Python计算相关性是二维的?为什么每个值都是精确的
-1
1

Matlab
xcorr2
可能需要此代码,对吗? 这是二维互相关

import scipy.signal
print scipy.signal.correlate2d(a, b)
见:


也可以看看这篇文章:

你读过吗?你真正想做什么
corrcoef
计算
行中的系数。所以
np.all(np.corrcoef(a,b)=np.corrcoef(np.vstack((a,b)))==True
我想计算每对a和b的相关性。得到一个10x10矩阵,条目_11代表a(第一行)的元素#1和b(第一行)的元素#1。这怎么可能?我尝试了scipy.signal.correlated2d(a,b),但结果并不像预期的那样。
import scipy.signal
print scipy.signal.correlate2d(a, b)