时间序列的平稳性
并不是所有的时间序列都是可预测的,想象一下,假如一个时间序列的变化特性是不稳定的,那么它每个时期的波动对于之后一个时期的变化的影响都是无法预测的,因为它随时可能变脸。而当一个时间序列的变化特征维持稳定,数据的历史分布和未来分布就会趋于一致,这时我们就可以根据历史数据对未来作出预测。用来刻画数据变化特征稳定的量就是时间序列的平稳性。
如果图像没有明显的趋势,围绕着一个水平线稳定波动,序列传播没有明显的疏密变化,则可以判定为稳定序列。当然这种方法过于主观,还是需要更为严密的统计学检验。
观察图像的方式很直观,但也很主观,不适用于机器自动判断序列的稳定性。因此我们需要一个更有说服力、更加客观的统计方法来帮助我们检验时间序列的平稳性,这种方法,就是单位根检验。
当一个时间序列的滞后算子多项式方程 存在单位根时 ,我们认为该时间序列是 非平稳 的;反之,当该方程 不存在单位根 时,我们认为该时间序列是 平稳 的。其原理比较复杂,想要理解它需要较好的数学基础,这里我们只关注在Python中如何使用。
常见的单位根检验方法有 DF检验 、 ADF检验 和 PP检验 ,这里演示如何使用最常用的ADF检验。
(1)Python中的statsmodels库提供ADF检验函数,使用时需要引入
from statsmodels.tsa.stattools import adfuller as ADF
(2)具体函数如下:
statsmodels.tsa.stattools.adfuller(x, maxlag=None, regression='c', autolag='AIC', store=False, regresults=False)
(3)返回值解析:
(-5.2350403606036302, 7.4536580061930903e-06, 0, 60, {'1%': -3.5443688564814813, '5%': -2.9110731481481484, '10%': -2.5931902777777776}, 1935.4779504450603)