王燕 - 时间序列分析
第一章
随机序列:
每个都是一个随机变量,
你观察到的是,是一组观察值,是随机变量的一个观察值,同理,是随机变量的一个观察值,...。
是你的一次观察值,你如果可以跳入一个平行宇宙,在观察这个时刻,可能得到的是不同的。
这其实是一个联合分布。
因为,每个都来自不同的随机变量,这么多随机变量搅在一起,研究起来太困难了,所以,一定得有一些简便的方法才行。比如,这些随机变量,都有同一个的分布、或者同样的均值、方差啥的,使得研究可以简便化。
平稳序列:时间序列的统计特性不随时间而变化,
进一步,这就意味着,我们关心的是,这个序列的两个时刻的数据呈现出来的相关性,且保持稳定。
这样,就可以利用这种稳定的特性,对未来进行预测了。←这才是我们最主要的目的。
时间序列的理论发展,经历了以下的理论发展和完善的过程:
- G.U.Yule 1927, 自回归AR模型
- G.T.Walker,1931,移动平均MA模型,ARMA模型
- G.E.P. Box, G.M.Jenkins, 1970, ARIMA模型(Box-Jenkis模型),适用非平稳单变量同方差
- 汤家豪,1980,门限自回归,非线性
- Robert F.Engle, 1982,ARCH模型,异方差
- Bollerslov,1985,GARCH模型,异方差
- C.Granger,1987,_协整_co-integration理论,适用于多变量场合
第二章
特征统计量
- 均值序列:这个是一个序列哈,不是1个值,也即是每个时刻,都会有一个。
方差序列:这个也是个序列,每时刻一个值,
你可能会说,我某个时刻其实只得到了一个值啊,那咋去求均值、方差啊;要是可以把剩下的别的时刻的值一起拿来取均值、方差,多好啊?是的,我们确实想这样做,但是得要求这个时间序列需要时平稳的才可以这样做,即,每个时刻的随机变量,都具备相同均值,相同方差。
自协方差函数: ,这个是说点时刻t,和点时刻s,这两个时间点的协方差。你可能会困惑,这不就2个值么,一个t的,一个s的?别忘了,t时刻是个随机变量,s时刻也是,她们会有很多值的(在平行宇宙里),所以就会出现,看这不就是一堆了么,就可以算协方差了么吧!
继续品,
这个其实是一个数,是t开始序列,和s开始的序列,这个两个序列之间的协方差;但是,你换一个t、换一个s,又会算出一个数来。比如,就又不同了,可以理解吧。
你一定要理解,所谓t开始的序列,是嘟嘟嘟的一个序列,一堆数,
自相关系数(ACF):,其实就是自协方差函数做了一个归一化
平稳性
我们一般说平稳序列,都是指”宽“平稳,而不是”严“平稳。
严平稳是非常苛刻的:所有的统计性质,都不会随时间改变而变化。你看!这要求多严格啊。
所以,我们放松了条件,就”宽“起来了:
宽平稳:
我们只要求特征统计量不随着时间而改变,注意,这里是统计量了,就是你抽样出来的样本作为统计量,他们呈现一个稳定特征就可以了。
更具体来说,只要保证时间序列的一阶矩(均值)、二阶矩(方差、协方差)不变就可以。
定义:
如果满足以下3个条件:
- ,有
- ,有(常数)
- ,且,有
则称为宽平稳时间序列,或者弱平稳、二阶平稳(二阶就是指二阶矩)。
第三条,想表达的就是,距离相等的2个时间序列,不管怎么“平移”,只要间隔不变,都是一个稳定值。和起点、终点无关,只和间隔时间有关。
所以,后面自相关系数(ACF)得算多个不同间隔的相关性,也是基于这一点。
平稳性推论
因为,有,所以,可以将二维的自协方差函数,转化为一维函数,即:,啥意思呢?就是本来是你需要两个变量,t和s,现在你只需要一个变量了,也就是他们俩的间隔k,这就是个一维变量了哈。
举例说明:
这样就可以导出一个新概念,“延迟k阶自协方差函数”:
,
一元函数吆!还可以推导出:
然后,进一步,可以引出“延迟k阶自相关系数”
需要说明一下分子为何等于: 原因是,,所以,相乘再开方还是.
后面的研究中,多使用自相关性系数,而不是自协方差,他俩其实就是差一个常数。
平稳性的重大意义
本来每个时刻都是随机变量(超复杂),但是因为平稳性,变成了2个时刻开始的序列的相关性,再由于平稳性性质3,导致变成了一个间隔k的一维函数。
具体来说,
本来一个随机序列,每个时刻都是一个随机变量,那么就个时刻都会有自己的均值、方差,这个前面提到了。现在有了平稳性,那么就出现了,yeah,不同时刻的统计特性一样了,这样,每个时刻的那单独一个值,就可以变成1个样本,跨时间的(也就是跨随机变量的)的不同样本,可以纳入到一起来作为统计的样本了,就可以做统计估计了。
根据平稳序列二阶矩(协方差)平稳的性质:
,这个就是用样本,来做协方差的矩估计,
那么
,分母是n-1才是无偏估计,
有了的估计值后,就可以来估计了,
,(注:当n很大和k远远小于n的时候,n-1和n-k接近,就约掉了)。
平稳性检验
接下来的问题就是,给我一个序列,那我怎么知道,这个序列是不是具备平稳性呢?
有4种办法:
1、时序图检验(图检验法)
2、自相关图检验法
3、ADF假设检验
4、KPSS假设检验
1、时序图检验(图检验法)
其实,就是观察序列的值,因为平稳的序列均值方差都是固定的,所以观察到的序列,也应该围绕这一个值上下波动,不会呈现上升或者下降的趋势,也不会波动超出一定的范围(方差固定的体现)。
这种方法,可以定性排除非平稳序列,但是对于无法排除的,就不好确定其平稳性了。
这个方法,相当粗糙和不靠谱,我们需要更定量的方法。
2、自相关图检验法
这个方法的依据是:平稳序列往往具备短期相关性,这个关系可以用自相关系数来描述,随着延迟期数的增加,平稳序列的自相关系数,应该会很快衰减为零。
如果向0值收敛慢,甚至不收敛到0,就认为这个序列是非平稳的。
比如,我计算一个时间序列,延迟是1日,延迟是2日,延迟是3日….的自相关系数,也就是把序列平移1日、2日、3日…,得到的另外一个序列和原序列计算相关系数,所以每个延迟日都会得到一个相关系数:
如果自相关系数列,快速衰减到0,那么这个序列是平稳的;但是,如果非常慢地向0衰减、不衰减、甚至震荡,都说明这个时间序列不是平稳的。
一般不同延迟日的自相关系数,都会在2倍标准差之内,这是一个假设检验的标准,如果自相关系数逐渐超出了2倍标准的范围,那么他就不是一个平稳序列。这个是王燕老师提到的一个假设检验的方法,比前面提到的快速衰减到0更具备操作性。
3、ADF检验
也叫做单位根检验。ADF检验全称是 Augmented Dickey-Fuller test,顾名思义,ADF是 Dickey-Fuller检验的增广形式。DF检验只能应用于一阶情况,当序列存在高阶的滞后相关时,可以使用ADF检验,所以说ADF是对DF检验的扩展。ADF检验就是判断序列是否存在单位根:如果序列平稳,就不存在单位根;否则,就会存在单位根。
即,序列中单位根的存在,那么序列是非平稳;否则,平稳的。
原假设:假设是非平稳的,即序列有一个单位根(a=1的值),
备择假设:该序列没有单位根。
如果不能拒绝原假设,则该序列是非平稳的,这意味着序列可以是线性的,也可以是差分平稳的(将在下一节中更多地了解差分平稳)。
【为何需要ADF】
之前有自相关图的检验法,比如看看把序列和延迟1期、2期、。。。N期的序列,求一个自相关系数,这个自相关系数,应该很快衰减才对,才是平稳的,这个方法很直观,也好理解,但是,这玩意没法定量啊,大家更希望,是一个公式,你一算,就得到一个数,大于它就不是平稳的,小于它就是平稳的,诸如此类的方法,多好啊。
那么,就引出了DF
【DF统计量】
【定义】
一个时间序列平稳,叫”零阶单整“,记做,
如果一阶差分后,平稳了,就叫”一阶单整“,记做,也称作,”单位根过程“
我理解,就是
y
要,才可以,直觉上好理解,
如果是1,那就是一个随机序列了,
如果>1,按肯定是不收敛,越变越大发散掉了。
但,如果序列是一个这种序列:
可以写成一个n次多项式的方程,叫特征方程:
,
书里,一般都去掉扰动项,用来代替x,所以写成:
然后,假设这个特征方程的n个根绝对值都小于一:
(n次多项式方程会有n个根,包括虚根和重根哈,这是一个代数定理推论得出的,参考附录多项式的复根)
那如何判断呢,那就用到假设检验了,
就是她们说的,原假设
所以等于他们说的是没有单位根,
单位根定义:的n个根,就叫做n次单位根,记做。
【参考】
- 【特征根法】求解一类数列的通项公式,里面提到了特征方程,就是:
- 把递推序列变成一个N次多项式的方程,
- 然后求解出方程的根,
- 然后就可以表示出通项公式$a_n=A\alpha^n + B\beta^n$,其中的$\alpha,\beta$就是特征方程的根,
- 然后再求出A、B
- 14.5单位根检验
- 单位根检验、ADF检验、平稳性检验
- 时间序列:单位根检验原理
- 单位根过程
- ADF检验数据平稳性,
- 平稳性检验(单位根检验、ADF检验),
- 11单位根ADF检验-,
- 手把手教你用Python处理非平稳时间序列
4、KPSS检验
原假设:原假设定义为趋势平稳,
备择假设:备择假设定义为单位根序列。
from statsmodels.tsa.stattools import kpss
result = kpss(data,regression='c')
>>
Test Statistics : 1.052 <- 统计量 1.052 < 临界值 0.347/0.463/0.574/0.739,所以平稳
p-value : 0.01 <- 实际概率也很小,说明不推翻原假设
Lags : 14
Critical Value(10%) : 0.347
Critical Value(5%) : 0.463
Critical Value(2.5%): 0.574
Critical Value(1%) : 0.739
平稳性检验:如果检验统计量大于临界值,则拒绝原假设(序列不是平稳的)。
如果检验统计量小于临界值,则不能拒绝原假设(序列是平稳的)。
ADF和KPSS的区别
ADF和KPSS的区别:
ADF检验有线性平稳或差分平稳的备择假设,而KPSS检验则是识别序列的趋势平稳
两种平稳检验后的可能结果:
- 结果1:两种检验均得出结论:序列是非平稳的->序列是非平稳的
- 结果2:两种检验均得出结论:序列是平稳的->序列是平稳的
- 结果3:KPSS =平稳;ADF =非平稳->趋势平稳,去除趋势后序列严格平稳
- 结果4:KPSS =非平稳;ADF =平稳->差分平稳,利用差分可使序列平稳。
(备注:三种平稳)
- 严格平稳:严格平稳序列满足平稳过程的数学定义。严格平稳序列的均值、方差和协方差均不是时间的函数。我们的目标是将一个非平稳序列转化为一个严格平稳序列,然后对它进行预测。
- 趋势平稳:没有单位根但显示出趋势的序列被称为趋势平稳序列。一旦去除趋势之后,产生的序列将是严格平稳的。在没有单位根的情况下,KPSS检测将该序列归类为平稳。这意味着序列可以是严格平稳的,也可以是趋势平稳的。
- 差分平稳:通过差分可以使时间序列成为严格平稳的时间序列。ADF检验也称为差分平稳性检验。
仅平稳检验不行
平稳的检验通过后,就可以对时间序列建模了么?
答案是否定的!
还需要对时间序列做随机性检验,它得是一个非随机序列才可以,如果是随机的话,看似平稳,但实则没有预测的意义的。
既平稳,又不是随机序列,才行,才有建模的意义!
随机性检验
纯随机序列,就是白噪音序列,啥是白噪音序列呢?满足两点的就是:
- ,均值是个常数。
,t=s,就是自己对自己的协方差,就是,是个常数。
不同时刻的序列,没有任何相关关系,比如,当前开始的序列,和10分钟以后开始的序列,没有任何关系(协方差为0)。
所以白噪音的以下性质:
性质1:
,即任意阶数不为0的协方差都为0,没有任何可以可以提取的有意义的信息,是“没有记忆性”的。
我们做时间序列分析的目的,就是要找出有规律的这种相关关系,好用它来预测未来。
平稳的时候,这个相关关系保持不变,就可以利用他了。
如果把这个相关关系提取后,剩余的序列如果没有什么可以提取的信息的话,它就应该就剩下一个白噪音了,这个结论也挺有意思的。这个方法,可以用来检验,某个模型的显著性的,显著性检验我理解就是,这个模型是不是提取出去了某种规律了,显著滴。
性质2:
白噪音方差固定,不过,平稳序列的方差也是个固定的常数,注意区别。
这个也叫,方差齐性, 就是方差是个常数。
纯随机性检验:
了解了白噪音定义和性质,那么,接下来看看,如何检验一个序列是不是白噪音序列?
方法是通过假设检验来验证一个序列是不是随机序列,这样做的原因是,前面的性质1 “无记忆性”里面提到了,所有阶的相关系数都应该为零。所以,我们提出原假设:
原假设:
延迟数小于m的序列相互独立,
即:
那么,备择假设:
延迟数小于m的序列之间存在相关性
即:
接下来,那就要构建统计量了,有两个统计量都可以用来做检验:
1、Q统计量:
2、LB统计量:
样本少的时候,Q统计量不如LB,所以最好的办法,就是,都用LB统计量了。
n是序列的长度,m是lag阶数。
这里有个问题,m取多少?
m是个经验值,一般选6或者12。也就是,从1一直做到6,或者从1一直做到12,做6次或者12次的延迟序列之间的相关系数计算,如果有一个显著不为0,就认为这个序列不是白噪音。
老师解释了一下,为何做到6或12就够了呢,因为平稳时间序列,具备短期相关性,短期有,就有,超过6、12的概率非常小了。
第三章
方法性工具
可以对一个序列进行预处理,常用的方法有差分运算、延迟算子
上一章讲的是,你如何知道一个序列是不是平稳的,
这章呢,是要用一个模型,就是一个递推式,去拟合这个序列,
那么我们得要求这个递推式就得是平稳的才行,即得先判定模型的平稳性,
还要研究这个模型代表的生成出来的序列的统计特性:均值、方差、协方差、自相关性、偏自相关性。
差分运算
一阶差分:
二阶差分:
p阶差分:
k步差分:相隔k步的两个序列之间的减法运算
可以看出,前面的差分相当于是k=1,即1步差分。
注意区分:k阶差分和k步差分
延迟算子
延迟算子,可以理解成是把序列按照延迟值,向过去,拨了1个时刻。它更像是一个动作!
…
用延迟算子,来表示p阶差分,和,k步差分:
p阶差分:
k步差分:
王燕老师省去了推导。
ARMA模型
Word分解定理
这是一个引子定义,没给出证明,直接使用结论就好:
平稳序列一定可以分解为。
其中叫的确定部分,可以表达成历史信息的线性组合:
而是的随机部分,表达成随机波动的的线性组合:
所以,平稳序列,可以表达为:
这个引理很重要,你可以看到,后面的AR、MA以及ARMA都是这个定理的一个体现。
AR模型
具备以下结构的模型,称作p阶自回归模型,记做 AR(p)
- 模型最高阶为p,保证
条件2、3、4,保证了随机干扰序列是零均值的白噪音序列
本来条件应该是不同时间点的自协方差系数为零:,但是,这里写成了不同时间点的相乘期望为0 ,其实是等价的,王燕老师口头证明了一下。
条件5,说明当期随机干扰与过去的序列无关
理解了上面的条件,就好理解,来表示,和无关的条件了。
如果,叫做中心化模型
如果,就可以通过中心化变换,把序列标称中心化AR(p)模型:
令 ,
那么就是对的中心化序列。
中心变化,对序列值之间的相关关系没有任何影响,一般都是需要中心化处理,对中心化AR(p)进行处理的。
从可视化上看,其实就是原序列向上或者向下,平移了个单位。
AR模型平稳性判断
AR模型是上面的那个数学表达,为的是,去尽量拟合真实的时间序列。但是这个数学表达出来的序列,可不一定是平稳的。比如,就不是一个平稳序列。
对,我们要判断,一个模型是不是平稳的,也就是这个递推表达式(也就是模型)是不是平稳的,因为,只有平稳的,我们才能用它对真实序列去拟合。
所以,你还得对这个模型,进行平稳性检验。
注意:这里是对模型进行平稳性检验,不是对模型拟合的真实序列进行平稳性检验!
王燕老师讲了图形法,没啥使用价值,不记录了。
常用的是特征根判别方法,和,平稳阈的判别方法。
特征根诊断方法:
特征根方法的推导,王燕老师说比较繁琐,不给推导了,直接给结论。会用就可以。
AR(p)模型:
即
你时间一流逝,就会有,然后你把这些x带入到这个方程中,
然后,你就可以去求这个方程的。。。。
TODO: 需要搞定以下知识点:
参考:
对应的特征方程:
这个特征方程怎么来的需要进一步学习?
特征根:
然后,就可用求出的特征根们,来判断这个序列是否平稳了:
1、这p个特征根都要落在单位圆形内
2、根据特征根,和,自回归系数多项式的根,互为倒数的性质,等价判别条件是,自回归多项式的根,都在单位圆外
TODO:自回归多项式???为何互为倒数???
例子:
方法(1)特征根判别法
写出特征方程:
解出特征根:
这两个特征根都在单位圆内,因此模型平稳
方法(2)自回归系数多项式的根的判别法
写出自回归系数多项式:
解出两个根:
两个根都在单位圆外,因此模型平稳。
如果p阶数就是1、2,就容易解出特征方程,但是要是p阶数多了,就不好解了,
这个时候,就需要下面的平稳域判别法了:
平稳域判别:
前面,我们知道,AR(p)模型平稳,就得要求,这些参数,构成的p维度空间中,得有一个范围,这个范围的这些参数,可以使得特征根,都在单位圆内。
这个范围,这个的N维度取值范围,就是“平稳域”。
先看看AR(1):
写出他的特征方程:
特征根为:
因为平稳条件是特征根要在单位圆内,
所以
所以AR(1)平稳域为:
再看看AR(2):
写出他的特征方程:
特征根为:
因为平稳条件是特征根要在单位圆内,
所以要求:
z最终推导出AR(2)平稳域为:
这个正好是一个三角区域(参见视频)
不等式推导过程,我自己没推出来,直接记住老师这个结论吧。
怎么应用呢?
再来看看之前的例子:
例子:
方法(3):平稳域判别的
根据模型结构,可得
因为:
1、
2、
3、
三个条件都满足,2阶AR(2)的平稳域判别的条件,所以,该模型平稳。
注意个细节:判别式子中, 是在前面的。
附录
单位根
参考:
多项式的复根
代数基本定理推论:n次复系数多项式方程,在复数范围内,有且只有n个根(重根按重数计算),
说白了:就是n次多项式n个解(算上重根噢)
视频没给证明,记住结论就好。
注意,是在复数域才成立,在实数域就不成立,比如
虚根成对定理: 实系数一元n次方程,复数根以共轭形式成对出现,即是实数的有一个根,那么,也是一个根。
这里一定是实系数,复系数不一定成立。
韦达定理: 一元n次方程
他的n个根有以下性质:
对比
而一元二次方程:,的性质:,是韦达定理的体现。
韦达定理,对n个复根,也一样成立!
复数的开放运算
复数的开方运算,很复杂,比起加减乘除,结果不是唯一的。
证明:
前面的”代数基本定理推论”,n次方程有n个解,所以虚数z,开根号,有n个虚根解。
现在把表示成类极坐标形式的三角函数表示法:,参考
对开n次方,本质上就是解方程,则n个复数解为(就是虚数开N次方的N个解为):
证明:
又因为,n次方程有n个解,所以,k=n,
所以,得出结论,开N次方,有N个复数解**。
其中,证明第二步骤用到了棣莫弗定理:
所以,再强调一下结论:
虚数开方是复杂的,有N个解。
单位根
定义:的n个根,就叫做n次单位根,记做。
由复数开方公式可得,
h
这个结果是由上述公式导出的,当前,所以,。
还有以下性质:
①
② 满足方程:
TODO:证明
③
todo证明
举个例子:
三次单位根为:1,,
其中 ,