Как эффективно рассчитать корреляцию Пирсона между соответствующими столбцами двух двумерных массивов?Python

Программы на Python
Ответить Пред. темаСлед. тема
Anonymous
 Как эффективно рассчитать корреляцию Пирсона между соответствующими столбцами двух двумерных массивов?

Сообщение Anonymous »

У меня есть два больших двумерных массива A и B (каждый массив имеет размеры (18000,18000)). Я хочу вычислить корреляцию Пирсона между соответствующими столбцами двух массивов (т.е. наивно вычислить

Код: Выделить всё

corr_vec = [np.corrcoef(A[:, i], B[:, i])[0,1] for i in range(A.shape[0])]
Наивный цикл for, конечно, очень медленный. Я попробовал использовать встроенную парную функцию np.corrcoef() и получить нужные результаты, извлекая часть, описывающую соответствующие столбцы двух массивов.

Код: Выделить всё

filter_index = A.shape[0]
corr_vec = np.corrcoef(A, B, rowvar = False)[:filter_index, filter_index:].diagonal()
Однако np.corrcoef по-прежнему вычисляет все возможные попарные корреляции столбцов внутри A, столбцов внутри B и всех других комбинаций столбцов между A и B, в то время как мне просто нужны соответствующие позиции столбцы A и B. Есть ли эффективный способ решения этой задачи?

Подробнее здесь: https://stackoverflow.com/questions/783 ... -columns-o
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «Python»