matlab处理离散数据时,会出现波动异常的点,而有些点不能靠滤波去噪处理掉,可以用格拉布斯准则进行处理。
某个测量值的残余误差的绝对值 |Vi |>Gg,则判断此值中有较大误差,应以剔除,此即格拉布斯准则。
利用格拉布斯(Grubbs)准则进行处理:
根据误差理论,要有效地剔除偶然误差,一般要测量10次以上,兼顾到精度和响应速度,取15次为一个单位。
在取得的15个数据中,有些可能含有较大的误差,需要对它们分检,剔除可疑值,提高自适应速度。
对可疑值的剔除有多种准则,如莱以达准则、肖维勒(Chauvenet)准则、格拉布斯(Grubbs)准则等。
以Grubbs准则为例,它认为若某测量值 xi对应的残差Vi满足下式 |Vi|=| xi-x|>=g(n,a)× σ(X) 时应将该数据舍去。
式中,为n次采集到的AD 值的平均值,=(∑xi)/n ;σ(X)为测量数据组的标准差,由贝塞尔函数可得: σ(X)=[(∑Vi2 )/(n-1)]1/2;g(n, a)是取决于测量次数n和显著性水平a (相当于犯“弃真” 错误的概率系数),a通常取0.01或0.05。
通过查表可得:当 n=15时,a=0.05, g(n,a)=2.41。
把15次采集到的AD值存入一个数组中然后求平均值,计算残差,求标准差σ(X)。
将残差绝对值与2.41倍的标准差σ(X)比较。剔除可疑值以后,再求平均值,求出新的平均值以后,应再重复以上过程