Computando o coeficiente de correlação entre duas matrizes multidimensionais
Eu tenho duas matrizes que têm as formasN X T
eM X T
. Eu gostaria de calcular o coeficiente de correlação entreT
entre todos os pares possíveis de linhasn
em
(porN
eM
, respectivamente).
Qual é a maneira mais rápida e pitônica de fazer isso? (Fazendo um loopN
eM
parece-me nem rápido nem pitônico.) Espero que a resposta envolvanumpy
e / ouscipy
. No momento, minhas matrizes sãonumpy
array
s, mas estou aberto a convertê-los para um tipo diferente.
Estou esperando que minha saída seja uma matriz com a formaN X M
.
N.B. Quando digo "coeficiente de correlação", quero dizer oCoeficiente de correlação produto-momento de Pearson.
Aqui estão algumas coisas a serem observadas:
onumpy
funçãocorrelate
requer que as matrizes de entrada sejam unidimensionais.onumpy
funçãocorrcoef
aceita matrizes bidimensionais, mas elas devem ter a mesma forma.oscipy.stats
funçãopearsonr
requer que as matrizes de entrada sejam unidimensionais.