/**
* 计算相关系数
*
* @param array1 x轴数据集合
* @param array2 y轴数据集合
* @return
*/
public static double correl(List<Double> array1, List<Double> array2) {
double top = 0;
double lowX = 0;
double lowY = 0;
double sumX = 0;
double sumY = 0;
for (double v : array1) {
sumX += v;
}
for (double v : array2) {
sumY += v;
}
double avgX = sumX / array1.size();
double avgY = sumY / array2.size();
for (int i = 0; i < array1.size(); i++) {
top += (array1.get(i) - avgX) * (array2.get(i) - avgY);
lowX += (array1.get(i) - avgX) * (array1.get(i) - avgX);
lowY += (array2.get(i) - avgY) * (array2.get(i) - avgY);
}
double correlData = top / (Math.sqrt(lowX * lowY));
return correlData;
}
用java代码实现数学公式计算数据
最新推荐文章于 2024-09-09 08:28:32 发布