拉依达准则运用3篇.docx
- 文档编号:5630740
- 上传时间:2022-12-29
- 格式:DOCX
- 页数:8
- 大小:59.46KB
拉依达准则运用3篇.docx
《拉依达准则运用3篇.docx》由会员分享,可在线阅读,更多相关《拉依达准则运用3篇.docx(8页珍藏版)》请在冰豆网上搜索。
拉依达准则运用3篇
拉依达准则运用(3篇)
篇一:
拉依达准则——(3σ)
引言
有时在数据分析上,需要对某些偏离点进行剔除,我们可以考虑拉依达法则(3σ),以提高数据的准确性。
概念
假设一组检测数据只含有随机误差,对其进行计算处理得到标准偏差,按一定概率确定一个区间,认为凡超过这个区间的误差,就不属于随机误差而是粗大误差,含有该误差的数据应予以剔除。
这种判别处理原理及方法仅局限于对正态或近似正态分布的样本数据处理,它是以测量次数充分大为前提。
此方法对于数据量较小的数据集是不可靠的,需要选择其他方法进行剔除偏离点。
使用原理
在正态分布中σ代表标准差,μ代表均值。
x=μ即为图像的对称轴
3σ原则:
数值分布在(μ-σ,μ+σ)中的概率为0.6826
数值分布在(μ-2σ,μ+2σ)中的概率为0.9544
数值分布在(μ-3σ,μ+3σ)中的概率为0.9974
可以认为,y的取值几乎全部集中在(μ-3σ,μ+3σ)区间内,超出这个范围的可能性仅占不到0.3%。
剔除偏离点:
设对被测量进行等精度测量,独立得到x1,x2,…,xn,算出其算术平均值x及剩余误差vi=xi-x(i=1,2,…,n),并计算出标准差σ,若某个测量值xi的剩余误差vi(1<=i<=n),满足下式
∣vi∣=∣xi−x∣>3σ|v_i|=|x_i-x|>3\sigma∣vi∣=∣xi−x∣>3σ
则认为xi应予剔除。
演示如下代码
篇二:
C#使用拉依达准则(3σ准则)剔除异常数据(.Net剔除一组数据中的奇异值)
1、问题的提出:
电池生产中,遇到一批电池的测量结果数据:
电压值
电池个数
电压值
电池个数
电压值
电池个数
电压值
电池个数
0.056
1
4.09
1
4.146
17
4.174
13434
0.321
1
4.094
1
4.147
17
4.175
13973
0.767
1
4.099
2
4.148
19
4.176
13339
0.972
1
4.112
1
4.149
23
4.177
12275
3.098
1
4.119
3
4.15
26
4.178
10309
3.187
1
4.12
1
4.151
40
4.179
8376
3.319
1
4.121
1
4.152
50
4.18
6324
3.526
1
4.122
3
4.153
75
4.181
4667
3.53
1
4.125
3
4.154
84
4.182
3340
3.532
1
4.126
2
4.155
100
4.183
2358
3.54
1
4.127
1
4.156
118
4.184
1719
3.541
1
4.128
2
4.157
153
4.185
1199
3.544
1
4.129
3
4.158
173
4.186
839
3.545
2
4.13
2
4.159
248
4.187
622
3.832
1
4.132
2
4.16
335
4.188
417
3.928
1
4.133
2
4.161
419
4.189
304
3.93
1
4.134
4
4.162
540
4.19
170
3.951
1
4.135
1
4.163
731
4.191
124
3.963
1
4.136
5
4.164
962
4.192
77
3.972
1
4.137
4
4.165
1359
4.193
43
3.973
2
4.138
6
4.166
1846
4.194
44
4.045
1
4.139
9
4.167
2621
4.195
25
4.046
1
4.14
2
4.168
3728
4.196
20
4.079
1
4.141
6
4.169
5086
4.197
8
4.085
1
4.142
4
4.17
6822
4.198
9
4.087
1
4.143
6
4.171
8649
4.199
5
4.088
1
4.144
13
4.172
10210
4.2
3
4.089
1
4.145
14
4.173
12072
其中,有一部分电池的电压出现过低和过高的情况,并不符合正态分布。
现在需要剔除这些异常的电池数据。
2、方法原理:
3σ准则又称为拉依达准则,它是先假设一组检测数据只含有随机误差,对其进行计算处理得到标准偏差,按一定概率确定一个区间,认为凡超过这个区间的误差,就不属于随机误差而是粗大误差,含有该误差的数据应予以剔除。
在正态分布中σ代表标准差,μ代表均值。
x=μ即为图像的对称轴
3σ原则:
数值分布在(μ-σ,μ+σ)中的概率为0.6827
数值分布在(μ-2σ,μ+2σ)中的概率为0.9544
数值分布在(μ-3σ,μ+3σ)中的概率为0.9974
可以认为,Y的取值几乎全部集中在(μ-3σ,μ+3σ)区间内,超出这个范围的可能性仅占不到0.3%。
3、C#的具体实现:
//定义电压-数量关系的类
publicclassVoltageCount
{
publicDoubleVoltage{get;set;}
publicintCountV{get;set;}
publicVoltageCount()
{
}
publicVoltageCount(Doublevoltage,intcountV)
{
this.Voltage=voltage;
this.CountV=countV;
}
}
//关键类使用拉依达准则(3σ准则)剔除数据异常
usingSystem;
usingSystem.Collections;
usingSystem.Collections.Generic;
usingSystem.Linq;
usingSystem.Text;
namespacePhoto.QQAA.Net.Helper
{
///
///使用拉依达准则(3σ准则)剔除数据异常
///
publicclassExceptionVoltageHelper
{
List
doubleaverage=0.0;
int_badDataCount=-1;//奇异值个数
///
///获取奇异值个数
///
publicintBadDataCount
{
get{return_badDataCount;}
}
publicExceptionVoltageHelper(List
{
this.listVoltageCount=list;
SetAverage();
}
///
///取得平均电压值
///
///
protecteddoubleGetAvgVoltage()
{
doubleavg=0;
doubletotal=0;
intallCount=0;
foreach(VoltageCountvcinlistVoltageCount)
{
doublev=vc.Voltage;
intc=vc.CountV;
total+=v*c;
allCount+=c;
}
avg=total/(allCount*1.0);
returnMath.Round(avg,3,MidpointRounding.AwayFromZero);
}
///
///平均值
///
///
voidSetAverage()
{
this.average=GetAvgVoltage();
}
///
///标准差
///
///
doubleStandardDeviation()
{
List
foreach(VoltageCountvcinthis.listVoltageCount)
{
doublev=vc.Voltage;
intcountV=vc.CountV;
for(inti=0;i { listDataV.Add((v-this.average)*(v-this.average)); } } doublesumDataV=listDataV.Sum(); doublestd=Math.Sqrt(sumDataV/(listDataV.Count-1)); returnstd; } publicList { _badDataCount=0; doublesd3=StandardDeviation()*3;//3倍标准差 List foreach(VoltageCountvcinthis.listVoltageCount) { if(Math.Abs(vc.Voltage-this.average)<=sd3) { listVC.Add(vc); } else { _badDataCount+=vc.CountV; } } returnlistVC; } } } 4、局限性及注意事项: 本3σ法则仅局限于对正态或近似正态分布的样本数据处理,且适用于有较多组数据的时候。 这种判别处理原理及方法是以测量次数充分大为前提的,当测量次数的情形用准则剔除粗大误差是不够可靠的。 因此,在测量次数较少的情况下,最好不要选用准则,而用其他准则。 篇三: JAVA使用: 3σ规则、依据拉依达准则来剔除异常值程序 3σ原则为 数值分布在(μ-σ,μ+σ)中的概率为0.6827 数值分布在(μ-2σ,μ+2σ)中的概率为0.9545 数值分布在(μ-3σ,μ+3σ)中的概率为0.9973 可以认为,Y的取值几乎全部集中在(μ-3σ,μ+3σ)区间内,超出这个范围的可能性仅占不到0.3%. public classPauta{ //创建拉依达类 privatedoublearr[]; //接受原始数组 publicPauta(doubletemp[]){//利用构造方法来得的原始数组 this.arr=temp; System.out.print("原始数组: "); for(doublex: arr){ System.out.print(x+"、"); } System.out.println(); } publicdoubleaverage(){ //原始数组的算数平均值方法 doublesum=0; for(intx=0;x sum+=arr[x]; } returnsum/arr.length; } publicdouble[]residualError(){//原始数组的剩余误差方法 doublerE[]=newdouble[]{}; for(intx=0;x rE[x]=arr[x]-average(); } returnrE; } publicdoublestandardVariance(){//原始数组的标准方差值计算方法 doublesum=0; for(intx=0;x sum+=Math.pow(arr[x]-average(),2); } returnMath.sqrt(sum/(arr.length-1)); } publicvoidjudge(){ //判断异常值方法,若异常,则输出 for(intx=0;x if(Math.abs(arr[x]-average())>(3*standardVariance())){ System.out.println("该数组中的第"+(x+1)+"个元素属于异常值"); } } } } publicclassclient{ publicstaticvoidmain(Stringargs[]){ doubledata[]=newdouble[]{1,2,8,10,8,5,2,4,6,11,15};//原始数组 Pautapau=newPauta(data);//原始数组封装后输出 System.out.println("算数平均值: "+pau.average());//算数平均值 /*此处的剩余误差输出略*/ System.out.println("标准方差: "+pau.standardVariance());//标准方差 pau.judge();//判断异常值方法 } }
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 拉依达 准则 运用