美文网首页数学之美数学储蓄罐python
python之时间序列分析(一)

python之时间序列分析(一)

作者: 今天芒种 | 来源:发表于2017-06-22 14:22 被阅读3085次

公式只能传图片?,好多公式都没写上,但是,不管有没有公式,写得一样无趣至极,在中国人民大学出版社出版的王燕编著的<<应用时间序列分析(第三版)>>的基础上写的,文中说的第几页都是指这本书的第几页,我大概列了一下基本概念,理论,方法,方便了解整个分析过程步骤,之后会给出python处理代码的,计算过程帮你解决,想当年我们还是手写计算出来的,最多加个计算器,公式一大堆,阔怕.

一.时间序列分析

按照时间的顺序把随机事件变化发展的过程记录下来就构成了一个时间序列.对时间序列进行观察,研究,找寻它变化的规律,预测它将来的走势就是时间序列分析.

时间序列数学定义
时间序列分析又分为平稳时间序列分析和非平稳时间序列分析(非平稳时间序列又细分为非平稳序列的确定性分析和非平稳序列的随机分析),这节主要说平稳序列

二.时间序列的预处理

拿到一个观察值序列之后,首先对它的平稳性和纯随机性进行检验,这两个重要的检验成为序列的预处理.根据检验的结果将序列分为不同的类型,对不同类型序列采用不同的分析方法.

2.1 平稳性的检验

严平稳:只有当序列所有的统计性质都不会随着时间的推移而发生变化时,该序列才能被认为平稳
.
宽平稳:序列的统计性质主要由它的低阶矩决定,只要保证序列低阶矩平稳(二阶),就能保证序列的主要性质近似稳定.宽平稳也称为弱平稳或二阶平稳.

平稳序列性质:均值和方差为常数

通常直观的检验方法有时序图检验和自相关图检验,观察时序图,在某一范围波动的通常是平稳的,另外还有两种准确的判别方法:特征根判别和平稳域判别,具体运算过程不讲,有兴趣可翻阅45-46页查看,后面说到再讲怎么判断.

2.2纯随机性检验

纯随机序列:平稳序列值之间没有任何相关性的序列成为纯随机序列,这意味着该序列过去的行为对将来的发展没有丝毫影响.从统计分析的角度而言,纯随机序列没有任何分析价值.纯随机序列也称为白噪声序列.

白噪声序列的性质:纯随机性和方差齐性.纯随机指序列各项直接没有任何相关关系,方差齐性指序列中每个变量的方差都相等,如果不满足方差齐性,就称序列具有异方差性质.

纯随机性检验:检验序列是否为纯随机序列,即满足样本自相关系数为0.根据Barlett定理(延迟非0期的样本自相关系数将近似服从均值为0方差为序列观察期数倒数的正态分布),可以通过构造检验统计量来检验序列的纯随机性.

构造统计量

三:平稳序列的模型

3.1.AR模型

AR模型属于平稳时间序列的分析模型

p阶自回归模型,简记AR(p),随机干扰序列为0均值白噪声序列,当期随机干扰与过去的序列值无关,一般分许AR模型的相关关系时,都简化为中心化模型,具体公式过程可参考中国人民大学出版社出版的王燕编著的<应用时间序列分析(第三版)>43-44页,下面说的第几页均是指这本书的第几页.

AR模型平稳性判别:1.特征根判别:p个特征根在单位圆内则平稳(绝对值小于1),从而也可推导出自回归系数多项式的根都在单位圆外(绝对值大于1)

平稳域判断:AR(1)的平稳域在[-1,1]范围内,AR(2)的平稳域是一个三角性区域,公式见46-47

AR模型的性质:均值为常数,方差有界也是常数

自相关系数性质:拖尾性和呈指数衰减(即短期相关性)

偏自相关系数性质:平稳AR(p)的偏自相关系数具有p阶截尾性

3.2.MA模型

MA模型属于平稳时间序列的分析模型

简记MA(q),随机干扰序列为0均值白噪声序列,分析时同样先中心化模型

性质:常数均值,常数方差,自协方差函数只与滞后阶数相关,且q阶截尾,自相关系数q阶截尾,偏自相关拖尾

3.3.ARMA模型

ARMA模型属于平稳时间序列的分析模型

简记ARMA(p,q),当q=0时,ARMA模型退化成AR(p)模型,当p=0时,ARMA模型退化成MA(q)模型

模型的平稳性由自回归部分的平稳性决定

性质:均值常数,自相关系数不截尾,偏自相关系数不截尾

AR,MA,ARMA模型的截尾与拖尾

四.平稳序列建模过程.即AR,MA,ARMA的建模过程

1.通过序列预处理判定为平稳非白噪声序列,如果非平稳,则采用接下来要说的ARIMA模型,这里只说平稳的过程.直观时序图法,或特征根绝对值<1和平稳域

2.计算ACF和PACF,其中ACF是样本的自相关系数,PACF是样本的偏自相关系数.

3.根据ACF个PACF性质选择适当的ARMA(p,q)模型进行拟合,p=0则为MA(q),q=0则为AR(p),这个过程也叫定阶过程,即选取不同的p,q,如果样本自相关系数或偏自相关系数在最初的d阶明显超过2倍标准差范围,而后几乎95%的自相关关系数都落在2倍标准差范围内,而且由非零自相关关系数衰减为小值波动的过程非常突然,这是成为自相关系数截尾,截尾阶数为d,如果超过5%的样本自相关系数落入2倍标准差范围之外,或者由显著非常的自相关系数衰减为小值波动过程比较缓慢或者非常连续,成为自相关系数不截尾,即拖尾,由拖尾与截尾,再根据上图AR,MA,ARMA的截尾拖尾性质表确定用哪个模型

4.然后估计未知参数值,估计方法有矩估计,极大似然估计,最小二乘估计.矩估计比较粗糙,精度一般不高,常被用做确定极大似然估计和最小二乘估计迭代计算的初始值.极大似然估计计算复杂(经过迭代算法),但计算机可帮助实现计算,精度高,具有估计得一致性,渐近正态性和渐近有效性等统计性质,是一种非常优良的参数估计方法.最小二乘估计通常也是通过迭代法求出,精度高,实际运用中最常用的是条件最小二乘估计方法.

5.检验有效性:模型显著性检验即为残差序列的白噪声检验,先做出原假设和备择假设,在通过计算LB统计量,在这个统计量下比较P值与alpha,P值大于0.05则认为这个拟合模型的残差序列属于白噪声序列,模型拟合显著有效.参数的显著性检验即要检验每一个未知参数是否显著非零,如果某个参数不显著,其对应的自变量对因变量的影响不明显,则可剔除该自变量,最终模型由一系列参数显著非零的自变量表示.做出原假设:某个参数为0,通过计算最终可以构造出用于检验位置参数显著性的t检验统计量T,当P值<alpha,拒绝原假设,认为该参数显著(计算推导过程78页).

6.模型优化:同一个序列可以构造多个拟合模型,例如可以构造MA(2),也可以构造AR(1),两个都显著有效,为了选择最优,按照AIC准则(最小信息量准则)和SBC准则进行选择,使AIC函数达到最小的模型被认为是最优模型,当样本容量趋于无穷大时,其选择的模型不收敛于真实模型.而BIC模型弥补了他的不足,,BIC后也称SBC,所以选择AIC和SBC函数值达到最小的八个模型作为最终拟合模型,这样得到的最优模型就是一个相对最优模型

7.最后就可以利用拟合的模型预测序列的将来走势了.最常用的预测方法是线性最小方差预测,线性是指预测值为观察值序列的线性函数(即计算出模型后,把后面每一期的数值代入方程,得到预测值),最小方差是指预测方差达到最小.预测只适合做短期预测

8.修正预测:随着时间不断发展,会不断获得新的观察值,修正预测就是把新的值加进去提高精度.重新获得p个新观察值,修正误差和修正方差公式在92页

平稳序列建模流程图

相关文章

  • 时间序列

    python时间序列分析时间序列完全教程(R)http://blog.csdn.net/Earl211/artic...

  • Python 时间序列分析

    时间序列简介时间序列分析是数据分析过程中,尤其是在金融数据分析过程中会经常遇到的。时间序列,就是以时间排序的一组随...

  • 时间序列分析(python)

    1.时间序列的生成 1.1固定周期(period)&时间间隔(interval)1.2时间戳(timestamp)...

  • 11.21 interview

    如何评价facebook开源的prophet时间序列预测工具? 时间序列分析 时间序列预测之--ARIMA模型 通...

  • 时间序列

    参考博客python实现时间序列分析-ning-ML 时间序列的测试 平稳性检验 时序图检验 该序列具有明显的趋势...

  • python之时间序列分析(一)

    公式只能传图片?,好多公式都没写上,但是,不管有没有公式,写得一样无趣至极,在中国人民大学出版社出版的王燕编著的<...

  • 时间序列分析-Python实例

    常用的时间序列数据的分析两类: ·趋势分解法 简介:将时间序列分解为趋势、周期、随机三部分,并对前两个...

  • 2020 时序分析随笔

    多元时间序列分析 通过分析序列自身的变化规律,构建时间序列模型 一元时间序列分析方法 多元时间序列分析 在 198...

  • python实践时间序列分析建模理论及代码实现

    python实践——时间序列分析建模理论及代码实现 python进阶教程 机器学习 深度学习关注 进入正文 声明:...

  • Pandas时序数据处理入门

    作为一个几乎每天与时间序列数据打交道的人员,我发现panda Python包在时间序列的操作和分析方面有强大优势。...

网友评论

    本文标题:python之时间序列分析(一)

    本文链接:https://www.haomeiwen.com/subject/xszzqxtx.html