时间序列分析的数据预处理
做时间序列分析,之前需要做两个准备工作,即检查序列是否是平稳的,如果是平稳的,还要检查是否是白噪声。如果一个序列是平稳的,那么下面我们就要判断数据是否是白噪声,白噪声没有研究的意义。
Ljung-Box test是对randomness的检验,或者说是对时间序列是否存在滞后相关的一种统计检验。说明对于滞后相关的检验,我们常常采用的方法还包括计算ACF和PCAF并观察其图像,但是无论是ACF还是PACF都仅仅考虑是否存在某一特定滞后阶数的相关。LB检验则是基于一系列滞后阶数,判断序列总体的相关性或者说随机性是否存在。
作者:Yining
来源:知乎
例
检验1964年-1999年中国纱年产量序列的平稳性与纯随机性进行检验。
1 2 3 4 5 6 7 8 9
| (1)画出数据图及自相关函数图像 x=[97 130 156.5 135.2 137.7 180.5 205.2 190 188.6 196.7 180.3 210.8 196 223 238.2 263.5 292.6 317 335.4 327 321.9 353.5 397.8 436.8 465.7 476.7 462.6 640.8 501.8 501.5 489.5 542.3 512.2 559.8 542 567] figure subplot(1,2,1) plot(x) title('原始数据时序图') subplot(1,2,2) autocorr(x) title('自相关函数图像')
|
1 2
| (2)稳定性检验 [h,pval,s,cv]=adftest(x)
|
1 2 3 4 5 6 7 8 9 10
| 结果如下: h = logical 0 pval = 0.9411 s = 1.2310 cv = -1.9488
|
1 2 3 4
| (3)进行一次降阶并进行平稳性检验 x=x' x1=diff(x) [h,pval,s,cv]=adftest(x1)
|
1 2 3 4 5 6 7 8 9 10
| 结果如下: h = logical 1 pval = 1.0000e-03 s = -8.3378 cv = -1.9491
|
1 2 3
| (4)进行白噪声检验 yanchi=[6,12,18] [H,pval,s,cv]=lbqtest(xa,'lags',yanchi)
|
1 2 3 4 5 6 7 8 9 10
| 结果如下: H = 1×3 logical 数组 1 0 0 pval = 0.0247 0.1729 0.3603 s = 14.4765 16.4168 19.5239 cv = 12.5916 21.0261 28.8693
|
参考