У меня есть два массива, которые имеют формы N X T
и M X T
. Я хотел бы вычислить коэффициент корреляции через T
между всеми возможными парами строк n
и m
(из n
и m
соответственно).
Какой самый быстрый, самый питонический способ сделать это? (Циклирование над n
и m
показалось бы мне не быстрым и не pythonic.) Я ожидаю, что ответ будет включать numpy
и/или scipy
. Прямо сейчас мои массивы numpy
array
s, но я открыт для их преобразования в другой тип.
Я ожидаю, что мой вывод будет массивом с формой N X M
.
N.B. Когда я говорю "коэффициент корреляции", я имею в виду коэффициент корреляции момента продукта Пирсона.
Вот что нужно отметить:
- Функция
numpy
correlate
требует, чтобы массивы ввода были одномерными. - Функция
numpy
corrcoef
принимает двумерные массивы, но они должны иметь одинаковую форму. - Функция
scipy.stats
pearsonr
требует, чтобы массивы ввода были одномерными.