9

Comment calculer la matrice de corrélation croisée de Pearson d'un grand ensemble de données (> 10 To), éventuellement de manière distribuée? Toute suggestion d'algorithme distribué efficace sera appréciée.Calcul de la matrice de corrélation croisée distribuée

mise à jour: Je lis la mise en œuvre de la corrélation de mlib d'allumage apache

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 

mais pour moi il semble que tout le calcul se passe à un nœud et il n'est pas distribué dans le vrai sens.

Veuillez mettre de la lumière ici. J'ai aussi essayé de l'exécuter sur un cluster d'allumage 3 noeuds et ci-dessous sont la capture d'écran:

Entire Computation timeline One the task details

Comme vous pouvez le voir 2ème image des données est tirée sur un nœud et le calcul est fait. Suis-je ici?

Répondre

5

Pour commencer, jetez un oeil à this pour voir si les choses vont bien. Vous pouvez ensuite vous référer à l'une de ces implémentations: MPI/OpenMP: Agomezl ou Meismyles, MapReduce: Vangjee ou Seawolf42. Il serait également intéressant de lire this avant de continuer. Sur une note différente, James's thesis fournit quelques pointeurs si vous êtes intéressé par le calcul des corrélations qui sont robustes aux valeurs aberrantes.

+0

Merci de m'avoir indiqué la thèse de James. Ce serait génial si vous pouvez répondre à cela aussi: http://stackoverflow.com/questions/42428424/how-to-calculate-mean-of-distributed-data –

+0

James thèse parle de calcul de covariance Maronna et Quadrant mais je ne pouvais pas capable de comprendre ces 2 algorithmes, Connaissez-vous un lien où ces 2 algorithmes sont expliqués. –