Calculating Pearson's correlation of two sets of data points
PearsonsCorrelation computes correlations defined by the formula cor(X, Y) = sum[(xi - E(X))(yi - E(Y))] / [(n - 1)s(X)s(Y)], where E(X) and E(Y) are means of X and Y, and s(X) and s(Y) are their respective standard deviations.
How to do it...
Create a method that takes two
doublearrays that represent two sets of data points:public void calculatePearson(double[] x, double[] y){Create a
PearsonsCorrelationobject:PearsonsCorrelation pCorrelation = new PearsonsCorrelation();
Compute correlation of the two sets of data points:
double cor = pCorrelation.correlation(x, y);
Use the correlation as per your requirements, and close the method:
System.out.println(cor);
}
The complete code for the recipe is as follows:
import org.apache.commons.math3.stat.correlation.PearsonsCorrelation;
public class PearsonTest {
public static void main(String[] args...