首页 > 编程知识 正文

拉依达准则剔除坏值举例

时间:2023-05-04 21:24:09 阅读:178222 作者:2803

///summary

//依达拉奉指南消除数据异常

////summary

公共类数据获取器

{

列表列表列表;

双均值=0.0;

int愤怒哈密瓜=-1; //坏值个数

publicdataexceptionhelper (列表内部) )。

{

this.ListNum=list;

设置菜单(;

}

///summary

//平均值

////summary

///returns/returns

void SetMean (

{

this.Mean=this.ListNum.Sum ()/this.ListNum.Count;

}

///summary

//标准偏差

////summary

///returns/returns

双标准设备(

{

Listdouble listXi=new Listdouble (;

Foreach(intkvinthis.Listnum ) )。

{

listXi.add () * (kv - this.Mean ) ) * (kv - this.Mean );

}

double sumXi=listXi.Sum (;

doubled2=sum Xi/(this.listnum.count-1 );

doubled=math.sqrt(D2;

返回d;

}

列表获取指南(

{

doublesd3=标准设备(* 3; //标准偏差的3倍

列表列表=new listint (;

Foreach(intkvinthis.Listnum ) )。

{

if(math.ABS(kv-this.mean ) sd3 ) ) ) ) ) ) )。

{

list.add(kv;

}

}

返回列表;

}

公共列表获取列表(

{

bool isRun=true;

Listint list=ListNum;

是wile(Isrun )

{

int num=list.Count;

this.ListNum=list;

list=GetGood (;

if(list.count==num ) )。

{

isRun=false;

}

}

返回列表;

}

}

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。