Вычисление матрицы распределенной взаимной корреляции

Как я могу рассчитать матрицу взаимной корреляции Пирсона для большого (> 10 ТБ) набора данных, возможно, распределенным образом? Любое предложение эффективного распределенного алгоритма будет оценено по достоинству.

обновление: я прочитал реализацию корреляции apache spark mlib

Pearson Computaation:
/home/d066537/codespark/spark/mllib/src/main/scala/org/apache/spark/mllib/stat/correlation/Correlation.scala
Covariance Computation:
/home/d066537/codespark/spark/mllib/src/main/scala/org/apache/spark/mllib/linalg/distributed/RowMatrix.scala

но для меня это выглядит так, как будто все вычисления происходят на одном узле и не распределены в реальном смысле.

Пожалуйста, добавьте немного света сюда. Я также попытался выполнить его на искровом кластере с 3 узлами, и ниже приведен снимок экрана:

«Временная Одна деталь задания

Как вы можете видеть на втором изображении, данные загружаются в один узел, а затем выполняются вычисления. Я здесь?


person Roshan Mehta    schedule 17.02.2017    source источник


Ответы (2)


Для начала взгляните на этот чтобы убедиться, что все идет как надо. Затем вы можете обратиться к любой из этих реализаций: MPI/OpenMP: Agomezl или Meismyles, MapReduce: Vangjee или Seawolf42. Также было бы интересно прочитать это до вы продолжаете. С другой стороны, тезис Джеймса содержит некоторые подсказки, если вы заинтересованы в вычислении корреляции, устойчивые к выбросам.

person dangiankit    schedule 23.02.2017
comment
Спасибо, что указали мне на тезис Джеймса. Было бы здорово, если бы вы тоже могли ответить на этот вопрос: stackoverflow.com/questions/42428424/ - person Roshan Mehta; 24.02.2017
comment
Тезис Джеймса говорит о вычислении ковариации Maronna и Quadrant, но я не мог понять эти 2 алгоритма. Знаете ли вы какую-либо ссылку, где объясняются эти 2 алгоритма. - person Roshan Mehta; 23.03.2017

Каждый локальный набор данных может быть преобразован в stdv и ковариации. Также stdv, ковариация и сумма составляют корреляцию.

Это рабочий пример https://github.com/jeesim2/distributed-correlation

person Jihun No    schedule 01.04.2019