Arduino测量误差数据的处理——莱特、格拉布斯准则剔除异常数据

本文介绍了在测量数据中剔除异常值的方法,主要探讨了莱特检验法和格拉布斯检验法。这两种方法用于在样本数据较少的情况下,通过设定置信概率和置信区间来识别并剔除粗大误差,以获取更准确的平均值。文章详细解释了两种方法的原理,并提供了在Arduino环境下处理数据的程序实现,展示了如何运用统计学方法处理工控设备测量中的数据误差问题。
摘要由CSDN通过智能技术生成

    我们在用各种测量模块或设备进行测量时,或多或少会受到各种干扰的影响,使得到的数据与真实情况有所偏差,甚至与正确的数值差之千里。通常我们采用统计学的方法来获得相对正确的值,最基本的就是用平均值方法,即将大量数据进行累加再除以数据个数而获得均值。不过这个方法的前提是大量数据,而我们用Arduino这类工控设备进行动态测量和控制时,会受到采样频率和响应时间的限制,不可能进行数万次的采样后再进行处理。

    那如果我们采样几十个数据后就马上求取均值是不是可以呢?答案是肯定的,不过不能采用简单的直接求均值方法,因为在样本数据比较少的情况下,即使只有极少量的异常数据,都会造成均值与正确值的较大偏离。例如我们有10个人,其中一个是马云,另9人年薪在15万左右,结果一求平均年薪,我们每人的年薪都被平均到10亿了。在测量中,我们也会碰到这种情况,由于外界偶发的干扰以及测量设备内部产生的电子干扰等,都会出现异常的数据。那怎么办呢?我们自然想到先将这些异常数据剔除掉,然后再求均值。这种方法的基本思想是:给定一置信概率,确定相应的置信区间,凡超过置信区间的误差就认为是粗差,应予以剔除。用于粗大误差剔除的常见方法有莱特检验法和格拉布斯检验法。

    我们先简单的了解下莱特检验法和格拉布斯检验法。首先我们假定测量获得的数据呈正态分布,通俗点讲,就是测量获得的数据基本散布在正确值(真值)的附近,越靠近中心数据个数越多。这里我们先导出一个“残差”的概念,设第i次获得的数据为Xi,它与真值的差,我们称之为“残差”,不过我们根本不知道真值是多少,因此我们就用均值Xbar来代替真值,利用残差和数据量N,我们可以用贝塞尔公式求得σ(x),请参看下图。莱特准则就是残差|Vi|>3σ(x)时就作为粗大误差数据,予以剔除。在测量数据分布不能确定,对测量次数没有太大要求的情况下,通常取2更有适用性。看下图:

   我们再来看格拉布斯准则为:|Vi|>g(n,a)σ(x)时就作为粗差数据,格拉布斯准则中的g(n,a)是一个取决于测量次数n和置信概率a,置信概率就是测量数据落在这个区间中的概率,格拉布斯准则中最常用置信概率为95%和99%,即如果采用a=95%,意味着有95%的数据是落在可信的区间里。这里特别要注意的是,置信概率越大,则置信区间越大࿰

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值