[ 
https://issues.apache.org/jira/browse/SPARK-11057?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15254778#comment-15254778
 ] 

Sajjad Bey commented on SPARK-11057:
------------------------------------

I have been trying to use correlation on a matrix with many columns. @NarineK 
menthioned R like correlation. I wish we had something like what 
[pandas](http://pandas.pydata.org/pandas-docs/stable/generated/pandas.DataFrame.corr.html)
 offers. It handles missing data automatically. Take a look 
[here](http://stackoverflow.com/questions/31619578/numpy-corrcoef-compute-correlation-matrix-while-ignoring-missing-data).
 Even the 
[corr()](http://spark.apache.org/docs/latest/api/python/pyspark.mllib.html#pyspark.mllib.stat.Statistics)
 function from MLlib can not handle missing data. These features are really 
missing from SparkSQL:

- Apply correlation on all columns and return a matrix

- Handle missing data automatically like how [pandas 
](http://pandas.pydata.org/pandas-docs/stable/generated/pandas.DataFrame.corr.html)does

> SQL: corr and cov for many columns
> ----------------------------------
>
>                 Key: SPARK-11057
>                 URL: https://issues.apache.org/jira/browse/SPARK-11057
>             Project: Spark
>          Issue Type: New Feature
>          Components: SQL
>            Reporter: Narine Kokhlikyan
>
> Hi there,
> As we know R has the option to calculate the correlation and covariance for 
> all columns of a dataframe or between columns of two dataframes.
> If we look at apache math package we can see that, they have that too. 
> http://commons.apache.org/proper/commons-math/apidocs/org/apache/commons/math3/stat/correlation/PearsonsCorrelation.html#computeCorrelationMatrix%28org.apache.commons.math3.linear.RealMatrix%29
> In case we have as input only one DataFrame:
> ------------------------------------------------------
> for correlation:
> cor[i,j] = cor[j,i]
> and for the main diagonal we can have 1s.
> ---------------------
> for covariance: 
> cov[i,j] = cov[j,i]
> and for main diagonal: we can compute the variance for that specific column:
> See:
> http://commons.apache.org/proper/commons-math/apidocs/org/apache/commons/math3/stat/correlation/Covariance.html#computeCovarianceMatrix%28org.apache.commons.math3.linear.RealMatrix%29
> Let me know what do you think.
> I'm working on this and will make a pull request soon.
> Thanks,
> Narine



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

---------------------------------------------------------------------
To unsubscribe, e-mail: issues-unsubscr...@spark.apache.org
For additional commands, e-mail: issues-h...@spark.apache.org

Reply via email to