您的位置:首页 > 编程语言 > Java开发

Excel中的部分计算函数 在Java中的实现

2011-02-12 13:39 1841 查看

SLOPE 函数

说明:

返回根据 known_y's 和 known_x's
中的数据点拟合的线性回归直线的斜率。斜率为直线上任意两点的重直距离与水平距离的比值,也就是回归直线的变化率。

计算公式:



Java实现:

]public static double slope(double[] yVals, double[] xVals){
double rval = 0;
double yAvg = avg(yVals);// 求平均数
double xAvg = avg(xVals);
double xy = 0;
double xx = 0;
for (int i = 0; i < yVals.length; i++) {
xy += (xVals[i] - xAvg) * (yVals[i] - yAvg);
xx += (xVals[i] - xAvg) * (xVals[i] - xAvg);
}
rval = xy / xx;
return rval;
}


参考资料:http://office.microsoft.com/zh-cn/excel-help/HP010062538.aspx

INTERCEPT 函数

说明:

利用现有的 x 值与 y 值计算直线与 y 轴的截距。截距为穿过已知的 known_x's 和 known_y's 数据点的线性回归线与 y
轴的交点。当自变量为 0(零)时,使用 INTERCEPT 函数可以决定因变量的值。例如,当所有的数据点都是在室温或更高的温度下取得的,可以用
INTERCEPT 函数预测在 0°C 时金属的电阻。

计算公式:



公式中斜率 b (即slope)计算如下:



Java实现:

]public static double intercept(double[] yVals, double[] xVals){
double rval = 0;
double yAvg = avg(yVals);// 求平均数
double xAvg = avg(xVals);
rval = yAvg - slope(yVals, xVals) * xAvg;
return rval;
}


参考资料:http://office.microsoft.com/zh-cn/excel-help/HP010342626.aspx

STDEV 函数

说明:

根据样本估计标准偏差。标准偏差可以测量值在平均值(中值)附近分布的范围大小。

计算公式:



Java实现:

]public static double stdev(double[] vals){
double rval = 0;
double avg = avg(vals);
for (int i = 0; i < vals.length; i++) {
rval += Math.pow((vals[i] - avg), 2);
}
rval /= vals.length;
rval = Math.sqrt(rval);
return rval;
}


参考资料:http://office.microsoft.com/zh-cn/excel-help/HP005209277.aspx

CORREL 函数

说明:

返回单元格区域 array1 和 array2
之间的相关系数。使用相关系数可以确定两种属性之间的关系。例如,可以检测某地的平均温度和空调使用情况之间的关系。

计算公式:



Java实现:

]public static double correl(double[] yVals, double[] xVals){
double rval = 0;
double Exy = 0;
double Ex = 0;
double Ey = 0;
for (int i = 0; i < xVals.length; i++) {
Exy += xVals[i] * yVals[i];
Ex += xVals[i];
Ey += yVals[i];
}
Exy /= yVals.length;
Ex /= yVals.length;
Ey /= yVals.length;
rval = (Exy - Ex * Ey) / (biaoZhunCha(xVals) * biaoZhunCha(yVals));
return rval;
}


参考资料:http://office.microsoft.com/zh-cn/excel-help/HP005209023.aspx

RSQ 函数

说明:

返回根据 known_y's 和 known_x's 中数据点计算得出的 Pearson 乘积矩相关系数(即CORREL)的平方。R 平方值可以解释为 y 方差与 x 方差的比例。又称R2。

Pearson 乘积矩相关系数 r 的计算公式如下:



RSQ 返回 r2,即相关系数的平方。

Java实现:

]public static double r2(double[] yVals, double[] xVals){
double rval = 0;
rval = Math.pow(correl(yVals, xVals), 2);
return rval;
}


参考资料:http://office.microsoft.com/zh-cn/excel-help/HP005209247.aspx

转载请注明出处!!!
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: