Matlab IQR准则剔除异常值

时间序列分析中,要先进行数据的预处理工作,也即异常值的剔除和插补。

先介绍异常值的剔除。异常值的剔除方法有很多种,在此实现很多论文中提到过的所谓的IQR准则。

理论基础:

                                                                                     (摘自《区域CORS站坐标时间序列特征分析》硕士论文)

代码实现:

 1  N1=N(1:337);                            
 2  Q1=prctile(N1,25);  3  Q2=prctile(N1,75);
 4  R=iqr(N1);
 5  num = find(N<Q1-1.5*R | N>Q2+1.5*R)
 6 
 7 %1、根据多篇文献的经验,窗长选取为1年(在这里选了从1到337个数
 8 %据),N为6年的数据
 9 %2、Q1为上四分位数
10 %3、Q2为下四分位数
11 %4、R为四分位数的极差,其实R也等于Q2-Q1
12 %5、求取异常值,num为包含异常值的向量
13 %6、从以上代码基础上剔除异常值,比如,num = [1 2 3],则
14 %输入代码:
15 N1(N1 == 1 | N1 == 2 | N1 ==3) = [];
16 % 解释:逻辑与(或)|和||表达意思是一样的,只不过|应用范围更广一些
17 % 以上代码表示把N1中的值为num的那些元素剔除掉。

 --------------------------------------------------------------------补充---------------------------------------------------------------

注意:上述步骤有些问题,摘自硕士论文的最后两句抹去,应该是对最后的噪声进行异常值的去除而不是对原始时间序列。

IQR是在时间序列为标准正态分布的前提下,是以标准正态分布为基础的。

所以以上对于gps原始时间序列,如果没有进行公式拟合、去趋势化之后是不适用于IQR准则的。

在趋势化之后得到的噪声才适用于本准则。

转载于:https://www.cnblogs.com/gzl0928/p/8707276.html

  • 3
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值