Calcular el coeficiente de correlación entre dos matrices multidimensionales
Tengo dos matrices que tienen las formas.N X T
yM X T
. Me gustaría calcular el coeficiente de correlación a través deT
entre cada posible par de filasn
ym
(deN
yM
, respectivamente).
¿Cuál es la forma más rápida y más pitónica de hacer esto? (Dando vueltasN
yM
me parece que no es ni rápido ni pitónico.) Espero que la respuesta impliquenumpy
y / oscipy
. En este momento mis matrices sonnumpy
array
s, pero estoy dispuesto a convertirlos a un tipo diferente.
Espero que mi salida sea una matriz con la formaN X M
.
nótese bien Cuando digo "coeficiente de correlación", me refiero aCoeficiente de correlación producto-momento de Pearson.
Aquí hay algunas cosas a tener en cuenta:
losnumpy
funcióncorrelate
requiere que las matrices de entrada sean unidimensionales.losnumpy
funcióncorrcoef
acepta matrices bidimensionales, pero deben tener la misma forma.losscipy.stats
funciónpearsonr
requiere que las matrices de entrada sean unidimensionales.