java中算术异常值_依据拉依达准则来剔除异常值程序

java源码在下,在main主方法里的data数组里输入要测量的数据(个数长度>=10个),会判断里面有误异常值,如果有则警告

/**

* @author 廖启安

* @data 2018年4月12日

* @deprecated 功能:利用拉依达准则来查找处异常值

* @version jdk8.0

*/

package main;

class Pauta{    //创建拉依达类

private double arr[];         //接受原始数组

public Pauta(double temp[]) { //利用构造方法来得的原始数组

this.arr=temp;

System.out.print("原始数组:");

for(double x:arr) {

System.out.print(x+"、");

}

System.out.println();

}

public double average() {    //原始数组的算数平均值方法

double sum=0;

for(int x=0;x

sum+=arr[x];

}

return sum/arr.length;

}

public double[] residualError() {//原始数组的剩余误差方法

double rE[]=new double[] {};

for(int x=0;x

rE[x]=arr[x]-average();

}

return rE;

}

public double standardVariance() {//原始数组的标准方差值计算方法

double sum=0;

for(int x=0;x

sum+=Math.pow(arr[x]-average(),2);

}

return Math.sqrt(sum/(arr.length-1));

}

public void judge() {              //判断异常值方法,若异常,则输出

for(int x=0;x

if(Math.abs(arr[x]-average())>(3*standardVariance())) {

System.out.println("该数组中的第"+(x+1)+"个元素属于异常值");

}

}

}

}

public class client{

public static void main(String args[]) {

double data[]=new double[] {5,5,5,5,5,5,5,5,5,5,25};//原始数组

Pauta pau=new Pauta(data);//原始数组封装后输出

System.out.println("算数平均值:"+pau.average());//算数平均值

/*此处的剩余误差输出略*/

System.out.println("标准方差:"+pau.standardVariance());//标准方差

pau.judge();//判断异常值方法

}

}

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值