python arima模型_时间序列分析 ARIMA模型 Python(2)

最近做了一个时间序列分析的项目。时间序列分析不同于以前的项目——看一下相关的库怎么用,就可以快速上线应用。它是非常需要你的基础知识的,Hamilton关于《时间序列分析》方面的知识,写了厚厚的2本书。在这里,我将这些知识共享一下。

基础知识篇(2)

1.移动平均过程MA (moving average)

Yt的值,依赖于最近两期的

进行加权平均计算,所以称为MA(1)。你注意到跟差分的区别了吗?差分是Yt的值依赖于自己过去期的值。

协方差平稳过程的第j个自相关系数(

)指它的第j个自协方差处以它的方差,协方差平稳假设,是时间序列预测的重要条件。

*****************************************************************************************

2.自回归过程AR (Autoregression)

自回归就是差分,

这个就是一阶自回归AR(1)。

******************************************************************************************

3.混合自回归移动平均过程ARMA

ARMA(p,q)就是即包含AR(p),又包含MA(q)。

******************************************************************************************

4.AR、MA、ARMA的转换规则

两个移动平均过程相加,MA(q1) + MA(q2) = MA(max{q1,q2})

两个自回归过程相加,AR(p1) + AR(p2) = ARMA(p1+p2, max{p1,p2})

******************************************************************************************

5.博克斯-詹金斯建模思想

发现很小的p和q值的单变量ARMA模型比大型模型的预测效果更好,因此预测分为这几步:

(1)变化数据,以保证协方差平稳性的假设

(2)猜测p,q值(从较小的值开始)

(3)估计

(L)和

(L)的系数

(4)诊断分析,以证实所得模型确实与观测到的数据特征一致

******************************************************************************************

6.样本自相关

指的是不同的样本值,随机扰动项之间不再是完全相互独立(非高斯白噪声),而是存在某种相关性。

如果存在样本不存在自相关,那么

应该在95%的时间内落在

之间;

如果存在样本自相关,这样估计出的总体自相关系数只能代表样本误差,而非真实误差。

******************************************************************************************

7.偏自相关

第m阶偏自相关系数定义为:Y关于它最近的m个值的线性投影的最末一个系数。如果数据是由AR(p)过程生成,那么Y关于它超过p期的过去值的投影系数为0;否则数据一定是由MA(q)过程而来。

******************************************************************************************

8.极大似然估计

进行估计的一种方法。通常有两步:

(1) 写出似然函数;——计算高斯ARMA过程的精确似然函数的最简单的算法是运用卡尔曼过滤。

(2)求使得似然函数值最大的

值——格点搜索、最陡爬坡法、Newton-Raphson方法、Davidon-Fletcher-Powell方法、Broyden方法、Judge方法等。

******************************************************************************************

9.时域分析VS谱分析

时域分析:

,且研究重点集中在分析不同时点t和

的值

的协方差。

谱分析:又称频域分析,将

看作周期函数cos(wt)和sin(wt)的加权和,其中w表示特定的频率:

。主要考察分析Y的行为时不同频率的重要性。这方面的专家有:Anderson,Bloomfield和Fuller。

任何平稳协方差过程,都有一个时域表达和频域表达;任何能被其中一个表达的数据特征同样也能被另一个表达。对于某些特征,时域表达跟简单,而另外一些特征,频域表达更简单。

******************************************************************************************

10.卡尔曼滤波

卡尔曼滤波是卡尔曼提出的一种连续校正系统的线性投影的一种算法。观测数据经过卡尔曼的这种算法后,输出最优估计,此时的最优估计已经去除了扰动项和白噪声的影响,所以也可看作是滤波(过滤)过程,就称为卡尔曼滤波。

卡尔曼滤波,对于计算高斯ARMA过程的精确优先样本预测、精确似然函数、分解矩阵自生成函数、谱密度、估计系数随时间变化的向量自回归都提供了一种方法。

卡尔曼滤波预测的主要思想是什么呢?很简单,数学中向量是一种数据的表达方法,矩阵是线性变换,是运动的表达方式。yt的动态模型,就可以用一个向量(称为状态向量)和矩阵来表达。通过状态方程和观测方程,进行递归估计,估计的标准是均方差误MSE最小。

卡尔曼滤波预测的优点是只需要少量的数据(有限样本)就能进行精确预测,可以根据观测方程及时的自我调节。缺点是可能不收敛。

******************************************************************************************

11.非平稳时间序列

前面讲的都是在时间序列平稳性的假设下研究的。回顾一下,怎样具有平稳性?协方差平稳。举例,Yt = 一个时间趋势 + 高斯白噪声,它的期望值要依赖时间趋势,这就是不平稳的。现实中,不平稳的时间序列是最常出现的,其中,时间趋势有可能是线性、指数性的,噪声也不局限为白噪声,甚至还会包括其他的周期性的变动趋势,比如季节。

因为指数型趋势,取对数就是线性趋势,所以一般研究线性趋势。

******************************************************************************************

12.单位根

单位根是介绍复数的时候提出的概念,单位根指模为1的根。

单位根过程其实是指差分操作的过程,这个过程后,就可以用单位根的表达方式来表示Yt的线性趋势变化。

用模型来表示的话,即为:ARIMA(p,d,q),d表示需要进行差分的次数。ARIMA(p,d,q)进行d阶差分即可得到一个平稳的ARMA(p,q)。

单位根过程相对于平稳过程而言,其预测误差不会收敛,为达到平稳进行的数据变换也不可逆;

单位根检验就是来检验时间序列中是否存在单位根,换句话说检验数据是否是平稳的。常用的有ADF检验,也叫扩展的迪克-富勒检验。它希望差分后的数据是平稳的,所以H0:数据不平稳。ADF检验结果接近0,则拒绝原假设,认为数据平稳。

******************************************************************************************

13.协整

协整是单位根过程的一个特殊形式。虽然一些经济变量的本身是非平稳序列,但是,它们的线性组合却有可能是平稳序列。这种平稳的线性组合被称为协整方程,且可解释为变量之间的长期稳定的均衡关系。

例如,消费和收入都是非平稳时间序列,但是具有协整关系。假如它们不具有,那么长期消费就可能比收入高或低,于是消费者便会非理性地消费或累积储蓄。

ARIMA采用差分方法消除序列中含有的非平稳趋势,使得序列平稳化后建立模型,但是变换后的序列限制了所讨论经济问题的范围,并且有时变换后的序列由于不具有直接的经济意义,使得化为平稳序列后所建立的时间序列模型不便于解释。

1987年Engle和Granger提出的协整理论及其方法,为非平稳序列的建模提供了另一种途径。协整允许我们刻画两个或多个序列之间的平衡或平稳关系。对于每一个序列单独来说可能是非平稳的,这些序列的矩,如均值、方差或协方差随时间而变化,而这些时间序列的线性组合序列却可能有不随时间变化的性质。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值