JAVA 标准差,斜率,平方和

//获取平均值
public double getAverage(double[] arr) {
double sum = 0;
int number = arr.length;
for (int i = 0; i < number; i++) {
sum += arr[i];
}
return sum / number;
}

//获取标准差
public double getStandardDevition(double[] arr) {
double sum = 0;
int number = arr.length;
double avgValue = getAverage(arr);//获取平均值
for (int i = 0; i < number; i++) {
sum += Math.pow((arr[i] - avgValue), 2);
}

return Math.sqrt((sum / (number - 1)));
}


//两个数组对应差的平方和
public double getSUMXMY2(double[] arrX, double[] arrY) {
double sum = 0;
int number = arrX.length >= arrY.length ? arrY.length : arrX.length;
for (int i = 0; i < number; i++) {
sum += Math.pow((arrX[i] - arrY[i]), 2);
}
return sum;
}

slope 斜率
公式:slope =∑((arrx(n) – arrx mean) * (arry(n) – arry mean))/ ∑((arrx(n) – arrx mean) ²)
arrx mean =∑(arrx(n)) /n arrx算术平均值
arry mean =∑(arry(n)) /n arry算术平均值

public double getSlop(double[] y, double[] x) {
double slopeValue = 0;
double avgx = getAverage(x);
double avgy = getAverage(y);
int number = y.length >= x.length ? x.length : y.length;

//存∑((arrx(n) – arrx mean) * (arry(n) – arry mean))值
double sum1 = 0;
//存∑((arrx(n) – arrx mean) ²值
double sum2 = 0;

for (int i = 0; i < number; i++) {
sum1 += ((x[i] - avgx)*(y[i] - avgy));
sum2 += Math.pow((x[i] - avgx), 2);
}
slopeValue = sum1 / sum2;
return slopeValue;
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值