美文网首页
时间序列分析

时间序列分析

作者: 格物致知Lee | 来源:发表于2019-02-10 14:07 被阅读0次

本文的主题是关于时间序列建立ARIMA模型的相关理论解释以及运用Python进行实际建模的详细过程。

1.自回归模型(AutoRegressive model)

  AR模型是统计上一种处理时间序列的方法,即用同一变量在之前各个时期,x_{1} x_{t-1} 来预测x_{t} 的表现,并假设它们为线性关系。例如用日期20180701\iff 20180801之间每日的PM_{2.5} 浓度预测20180802当日的PM_{2.5} 浓度。因为这是从回归分析中的线性回归发展而来,只是不用x预测y,而是用x预测x
自己,所以叫做自回归。

数学定义:

其中:c是常数项,\varepsilon  _{t} 为随机误差,\varphi _{i} 为相关系数

解释为:X的当期值等于数个往期值的线性组合+常数+随机误差。

2.移动平均模型(Moving Average model)

  MA模型是指x_{t} 只取决于符合白噪声(E(x) = 0,Var(x) = \sigma ^2 \neq 0)的随机误差过程。移动平均模型描述的是自回归部分的误差累计。

数学定义:

其中 :μ 是序列的均值,θ1,..., θq 是参数,εt , εt-1,..., εt−q 都是 白噪声

3. ARMA(p,q)模型(AutoRegressive Moving Average model)

ARMA(p,q)模型是AR模型与MA模型的混合,通常的时间序列X_{t} 的当期值取决于X的p个往期值和q个白噪声分布的往期值,也就是说ARMA(p,q)模型中包含了p个自回归项和q个移动平均项。

数学定义:

4.自相关函数(Autocorrelation Function)

ACF是指一个序列x_{t} 自身在不同时间点的互相关,通俗的讲它就是两次观察之间的相似度对它们之间的时间差的函数。例如:

数学定义:

其中:K为滞后

自相关函数图像(自相关图):

5.偏自相关函数(Partial Correlation Function)

偏自相关函数图像(偏自相关图):

6.时间序列建模

基本流程如图所示:

6.1 时间序列的平稳性检验

如果时间序列x_{t} 在某一常数附件波动且波动范围有限,即有常数均值和常数方差,并且延迟K期的序列变量的自相关系数是相等的或者说延迟K期的序列变量之间的影响程度是一样的,则称x_{t} 为平稳序列。平稳性检验的方法有:

6.1.1 时序图检验

平稳序列的时序图显示x_{t} 的序列值始终在一个常数附近随机波动,而且波动的范围有界,如果有明显的递增,递减的趋势或周期性则通常不是平稳序列。

6.1.2 自相关图检验

平稳序列的自相关系数p_{k} (延迟k期)会比较快的衰减趋向于0,并在0附近小幅度随机波动,而非平稳序列的自相关系数衰减比较慢。

6.1.3单位根检验(Augmented Dickey-Fuller test)

ADF检验的原假设是存在单位根,只要这个统计值是小于1%水平下的数字就可以极显著的拒绝原假设,认为数据平稳。注意,ADF值一般是负的,也有正的,但是它只有小于1%水平下的才能认为是及其显著的拒绝原假设。对于ADF结果在1% 以上 5%以下的结果,也不能说不平稳,关键看检验要求是什么样子的。

python中的 statsmodels.tsa.stattools.adfuller 模块可进行adf校验

如何确定该序列能否平稳呢?主要看:1%、%5、%10不同程度拒绝原假设的统计值和ADF Test result的比较,ADF Test result同时小于1%、5%、10%即说明非常好地拒绝该假设,本数据中,adf结果为-9, 小于三个level的统计值。P-value是否非常接近0.本数据中,P-value 为 2e-15,接近0,说明该序列为平稳序列。

6.2 白噪声检验

白噪声也称为纯随机序列,它的序列值之间没有任何关系,可以停止对该序列的分析。

即(E(x) = 0,Var(x) = \sigma ^2  \neq 0

python中的 statsmodels.stats.diagnostic import acorr_ljungbox 模块可以进行白噪声校验

Ljung–Box检验的原假设是序列为白噪声序列,只要这个统计值是小于5%水平下的数字就可以极显著的拒绝原假设,认为非白噪声序列。

6.3 时间序列建模

6.3.1 AR,MA,ARMA模型的选择:

6.3.2 参数选择

通过ACF,PACF图像选择ARIMA模型的p,q阶数不是很高效,所以不过多赘述,有兴趣的小伙伴可以留言交流。在实际建模过程中主要通过赤池信息准则(Akaike Information Criterion,AIC)和贝叶斯信息准则(Bayesian Information Criterion,BIC)来进行p,q的选择。

数学定义:

其中:k是模型个数,L是似然函数

从一组可供选择的模型中选择最佳模型时,通常选择AIC最小的模型。留意上述公式当模型复杂度提高(k增大)时,似然函数L也会增大,在没有惩罚向时选择AIC最小的模型容易造成过拟合现象,于是就有了BIC

数学定义:

其中:k是模型可是,n是样本数,L是似然函数

在选择最小BIC模型的过程中,kln(n)惩罚项在维数过大且训练样本数据相对较少的情况下,可以有效避免出现维度灾难现象。

以上为时间序列建立ARIMA模型的相关理论知识,如果有需要用python建立时间序列模型进行预测的小伙伴的可以上访问我的github:

https://github.com/Rocky1ee/time-series/blob/master/ARIMA%20Model.ipynb

小伙伴们如果觉得文章还行的请点个赞呦!!同时觉得文章哪里有问题的可以评论一下  谢谢你!

相关文章

  • 2020 时序分析随笔

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

  • 时序分析平稳性分析

    时间序列分析 时间序列分析分为平稳时间序列分析和随机过程 时间序列的定义 按时间排序的一组随机数变量,可以用数学语...

  • 数据分析之时间序列分析

    时间序列分析 顾名思义,时间序列就是按照时间顺利排列的一组数据序列。时间序列分析就是发现这组数据的变动规律并用于预...

  • 时间序列分析

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

  • 时间序列分析

    趋势,平稳时间序列模型,非平稳时间序列模型,模型识别,模型估计,参数估计,模型诊断,预测,季节模型,时间序...

  • 时间序列分析

    昨天睡了一天,是头晕的那种,然后也没心思来做笔记,没心思来看书,其实,我知道,或许我现在做的只是在转移一种矛盾,可...

  • 时间序列分析

    1.三种基本模式 1.1 平稳性 / 随机性(Stationarity): 当数据没有明显的模式特征的话,我们认为...

  • 时间序列分析

    时序图 在R中生成时间序列的前提是我们将分析对象转成时间序列函数对象,包括观测值、起始时间、种植时间、及周期(月、...

  • 时间序列分析

    基础定义 1、方差:在统计描述中,方差用来计算每一个变量(观察值)与总体均数之间的差异。为避免出现离均差总和为零,...

  • 时间序列分析

    本文的主题是关于时间序列建立ARIMA模型的相关理论解释以及运用Python进行实际建模的详细过程。 1.自回归模...

网友评论

      本文标题:时间序列分析

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