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#的具体实现:
//定义电压-数量关系的类
public class VoltageCount
{
public Double Voltage { get; set; }
public int CountV { get; set; }
public VoltageCount()
{
}
public VoltageCount(Double voltage, int countV)
{
this.Voltage = voltage;
this.CountV = countV;
}
}
//关键类使用拉依达准则(3σ准则)剔除数据异常
using System;
using System.Collections;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace Photo.QQAA.Net.Helper
{
/// <summary>
/// 使用拉依达准则(3σ准则)剔除数据异常
/// </summary>
public class ExceptionVoltageHelper
{
List<VoltageCount> listVoltageCount;
double average = 0.0;
int _badDataCount = -1;//奇异值个数
/// <summary>
/// 获取奇异值个数
/// </summary>
public int BadDataCount
{
get { return _badDataCount; }
}
public ExceptionVoltageHelper(List<VoltageCount> list)
{
this.listVoltageCount = list;
SetAverage();
}
/// <summary>
/// 取得平均电压值
/// </summary>
/// <returns></returns>
protected double GetAvgVoltage()
{
double avg = 0;
double total = 0;
int allCount = 0;
foreach (VoltageCount vc in listVoltageCount)
{
double v = vc.Voltage;
int c = vc.CountV;
total += v * c;
allCount += c;
}
avg = total / (allCount * 1.0);
return Math.Round(avg, 3, MidpointRounding.AwayFromZero);
}
/// <summary>
/// 平均值
/// </summary>
/// <returns></returns>
void SetAverage()
{
this.average = GetAvgVoltage();
}
/// <summary>
/// 标准差
/// </summary>
/// <returns></returns>
double StandardDeviation()
{
List<double> listDataV = new List<double>();
foreach (VoltageCount vc in this.listVoltageCount)
{
double v = vc.Voltage;
int countV = vc.CountV;
for (int i = 0; i < countV; i++ )
{
listDataV.Add((v - this.average) * (v - this.average));
}
}
double sumDataV = listDataV.Sum();
double std = Math.Sqrt(sumDataV / (listDataV.Count - 1));
return std;
}
public List<VoltageCount> GetGoodList()
{
_badDataCount = 0;
double sd3 = StandardDeviation() * 3;//3倍标准差
List<VoltageCount> listVC = new List<VoltageCount>();
foreach (VoltageCount vc in this.listVoltageCount)
{
if (Math.Abs(vc.Voltage - this.average) <= sd3)
{
listVC.Add(vc);
}
else
{
_badDataCount += vc.CountV;
}
}
return listVC;
}
}
}
4、局限性及注意事项:
本3σ法则仅局限于对正态或近似正态分布的样本数据处理,且适用于有较多组数据的时候。
这种判别处理原理及方法是以测量次数充分大为前提的,当测量次数的情形用准则剔除粗大误差是不够可靠的。因此,在测量次数较少的情况下,最好不要选用准则,而用其他准则。
C 使用拉依达准则(3σ准则)剔除异常数据( Net剔除一组数据中的奇异值)相关推荐
- matlab实现拉依达准则,拉依达准则matalb程序
页数:2 中图分类:O212 正文语种:CHI 关键词:数据分析;甑别值;拉依达准则;肖维勒准则;格拉布斯准则 摘要:对测量数据进行分析,是为了及时发现错误,防止错误,数据...... 原始信号 中值 ...
- matlab 基于拉依达检验法(3σ准则) 实现多类别多参数的批量检验异常值与异常样本
拉依达检验法(pauta) 拉依达准则_百度百科 (baidu.com) 拉依达公式: S为样本标准差,3s水平相当于显著水平0.01,2s相当于显著水平0.05 Xp为当前检验的样本参数值,与其相减 ...
- 【数据异常校验】拉依达准则( PauTa Criterion 或 3σ准则) 处理异常数据
拉依达准则是指先假设一组检测数据只含有随机误差,对其进行计算处理得到标准偏差,按一定概率确定一个区间,认为凡超过这个区间的误差,就不属于随机误差而是粗大误差,含有该误差的数据应予以剔除. 这种判别处理 ...
- C#使用拉依达准则(3σ准则)剔除异常数据(.Net剔除一组数据中的奇异值)
1.问题的提出: 电池生产中,遇到一批电池的测量结果数据: 电压值 电池个数 电压值 电池个数 电压值 电池个数 电压值 电池个数 0.056 1 4.09 1 4.146 17 4.17 ...
- 进阶版拉依达准则(3sigm准则)的提出与应用
修正版拉依达准则的提出与应用 前言 一:基于实验说明异常点对模型结果的影响 二:异常点的判定 三:修正版拉依达准则(3σ准则) 四:理论验证 五:代码实现 六:总结 前言 在前两次文章中,我们都提到异 ...
- java中算术异常值_依据拉依达准则来剔除异常值程序
java源码在下,在main主方法里的data数组里输入要测量的数据(个数长度>=10个),会判断里面有误异常值,如果有则警告 /** * @author 廖启安 * @data 2018年4月 ...
- 拉依达准则剔除数据异常
/// <summary> /// 拉依达准则剔除数据异常 /// </summary> public class DataExceptionHelpe ...
- 数据预处理 拉依达准则 matlab,数学建模数据预处理.doc
数据预处理 摘要 目前,大量研究工作都集中于数据挖掘算法的探讨,而忽略了对数据预处理的研究.事实上,数据预处理对数据挖掘十分重要,而且必不可少.要使数据挖掘出有效的知识,必须为其提供干净,准确,简洁的 ...
- 拉依达准则python实现
根据拉依达准则(3σ准则)去除异常值 3σ准则:设对被测量变量进行等精度测量,得到x1,x2,--,xn,算出其算术平均值x及剩余误差vi=xi-x(i=1,2,-,n),并按贝塞尔公式算出标准误差σ ...
- matlab拉依达法,基于拉依达准则的奇异数据滤波法.ppt
基于拉依达准则的奇异数据滤波法 第四章 智能仪器的基本数据处理算法 数据处理能力是智能仪器水平的标志,不能充分发挥软件作用,等同硬件化的数字式仪器. 基本数据处理算法内容提要 克服随机误差的数字滤波算 ...
最新文章
- AI攻击AI,升级的网络安全战
- Wireshark数据抓包教程之认识捕获分析数据包
- 【MFC】1.Windows程序内部运行原理
- pyspark启动时卡住了
- 域名解析是否生效实时检测(阿里云DNS检测)
- 2020年中国基层医疗研究报告
- 找软件开发开发工作_将求职变成开发项目
- Flink java wordcount案例(批处理、流处理)
- 4.4GDI基本图形
- 计算机网络数据链路层之其基础概述
- 精仿blbl视频播放器源码 cms播放器 支持加视频LOGO
- Win10语言包下载
- windows XP 搭建asp运行环境
- 基于软件仿真的PLC系统测试技术
- 马科维茨投资组合有效集、最优投资组合
- [双目视差] 单双目MATLAB 相机标定(二)双目摄像机标定
- 彼得·林奇的 PEG 估值策略
- python生成所有6位数的数字手机验证码(000000-999999)
- android 水波纹扩散动画,[Android]多层波纹扩散动画——自定义View绘制
- 整理大厂高频核心前端面试题,五万多字,面试必考
热门文章
- viper4android 6.0脉冲,【详解】v4a音效脉冲样本
- 本草纲目pdf彩图版下载_本草纲目彩色图谱下载|本草纲目彩色图集(精编珍藏版) PDF电子版 - 天天游戏吧...
- 惯导系统模型及其仿真(五)
- js 实现纯前端将数据导出excel两种方式,亲测有效
- iOS 将PCM格式转换为WAV格式 播放wav音频或者直接播放pcm文件
- Vue项目中 实现ElementUi框架el-select拼音搜索功能
- 如何通过 SSH 连接到 Docker 容器
- sosoapi 项目之本地搭建
- java 分页的总页数算法
- 基于asp.net大学生助学贷款管理系统#毕业设计