Согласно этому ответу , вы можете векторизовать входные матрицы и рассчитать коэффициент корреляции из векторных данных:
import numpy as np
A = np.array([[1, 2, 4], [3, 4, 5], [1, 4, 5]])
B = np.array([[1, 1, 1], [1, 2, 4], [1, 4, 5]])
C = np.array([[1, 2, 4], [1, 1, 1], [1, 4, 5]])
CC_AB = np.corrcoef(A.ravel(), B.ravel())
CC_AC = np.corrcoef(A.ravel(), C.ravel())
print('Correlation between A and B:', CC_AB[0, 1])
print('Correlation between A and C:', CC_AC[0, 1])
Как видите, вывод np.corrcoef()
- симметричная матрица 2 x 2 с диагональю (автокорреляция).Интересующий вас коэффициент корреляции недиагональный.В вашем случае результаты таковы:
Correlation between A and B: 0.7576538541439333
Correlation between A and C: 0.5141222581690976