時間序列分析中,要先進行數據的預處理工作,也即異常值的剔除和插補。
先介紹異常值的剔除。異常值的剔除方法有很多種,在此實現很多論文中提到過的所謂的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准則的。
在趨勢化之后得到的噪聲才適用於本准則。