[时间序列分析][5]--非平稳时间序列模型与差分
Posted 文艺数学君
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了[时间序列分析][5]--非平稳时间序列模型与差分相关的知识,希望对你有一定的参考价值。
[时间序列分析][5]--非平稳时间序列模型与差分
什么是差分?
由Cramer分解定理 : 时间序列 = 确定性影响 + 随机性影响 , 而确定性影响又可以由多项式决定 , 而对多项式求n次差分 , 既能变成常数
差分在连续情况下可以理解为导数
举例说明:
原函数为f[x_] := x^2 + 3*x + 3
我们可以看到做两次差分后的图形是一条直线,即可以将非平稳的时间序列变成平稳的。我们后面会举一个更好的例子,这个例子先让大家看一下差分是什么,差分和求导的联系。
是否要做差分-单位根检验?
单位根检验原理 : 对时间序列 data 执行假设检验,其中零假设 Subscript[H, 0] 为满足 AR 模型的时间序列在相应的传递函数的分母中有一个单位根,而置换假设 Subscript[H, a] 则相反.
在 mathematica的函数为 UnitRootTest
该函数返回的是p-value , 若p-value越小,则越拒绝原假设,即p-value越小,越不需要进行差分。
做多少次差分?
v足够多次的差分运算可以充分地提取原序列中的非平稳确定性信息
v但过度的差分会造成有用信息的浪费
【一个例子】
01
累加生成一组随机数
02
单位根检验,判断是否要做差分
可以看到p值很大,即我们需要做差分。
03
第一次差分
做完一次差分后数据还是非平稳的
04
第二次差分
可以看到再做了两次差分之后,数据就已经把趋势去掉了,就可以用做完差分后的数据去做分析了。
05
再次做单位根检验
可以看到做完两次差分后再做单位根检验p值就很小了,即不需要再做单位根检验了。
现在我们有了差分这个工具,于是我们继续优化我们之前的ARMA模型,改进后的模型称为ARIMA模型。
最后一行的内容是“ARIMA(p,d,q)=random walk model”
ARIMA(p,d,q)–p表示自回归(AR)的系数,d表示差分的阶数,q表示滑动平均(MA)的系数
在mathematica中,我们可以直接调用ARIMA
来拟合数据。
随机游动
模型产生典故
§Karl Pearson(1905)在《自然》杂志上提问:假如有个醉汉醉得非常严重,完全丧失方向感,把他放在荒郊野外,一段时间之后再去找他,在什么地方找到他的概率最大呢?
01
生成随机游走的数据
02
对数据进行一阶差分
03
白噪声检验
从图中,我们可以看到p值较大,则数据是白噪声。(p值已经大于.5了)
04
解决问题
最后我们解决一下上面的问题,在哪里找到醉汉的概率最大。我们采取模拟的办法,模拟1000次,统计醉汉第100步的位置。
我们可以看到还是在零点附近找到醉汉的概率最大。大家可以推导一下具体的概率的表达式。
什么是疏系数模型?
ARIMA(p,d,q)模型是指d阶差分后自相关最高阶数为p,移动平均最高阶数为q的模型,通常它包含p+q个独立的未知系数
如果该模型中有部分自相关系数或部分移动平滑系数为零,即原模型中有部分系数省缺了,那么该模型称为疏系数模型。
如何判断疏系数模型?
我们来看下面的一个例子,下面是数据–1917年-1975年美国23岁妇女每万人生育率序列
01
画出时序图,做单位根检验
可以看到p值>0.5,而且从图上看也不平稳,故做一阶差分。
02
做一阶差分,做单位根检验
可以看到p值为10^-6次方,故不需要再做差分
03
求自相关和偏自相关
我们可以从自相关图和偏自相关图中看出疏系数模型。如在这里,模型为ARIMA ((1, 4, 5), 1, 0)
,从自相关图中可以看出滞后1,4,5比较大,则第一第二个自相关系数为0。其余同理。
以上是关于[时间序列分析][5]--非平稳时间序列模型与差分的主要内容,如果未能解决你的问题,请参考以下文章
时间序列分析ARMA模型原理及Python statsmodels实践(上)
时间序列分析ARMA模型原理及Python statsmodels实践(上)