时间序列模型(二):AR模型

全文共8000余字,预计阅读时间约18~30分钟 | 满满干货,建议收藏!

在这里插入图片描述

1. 介绍

在时间序列分析中,我们经常遇到一种强大而灵活的模型,即ARIMA模型。这个模型已经在各种领域,如经济学、气候学、股票市场分析等,发挥了巨大的作用。尽管ARIMA模型极其有用,但理解和掌握它的细节却是一项挑战。为了深入理解ARIMA模型,我们需要先理解构成它的基本构建模块:AR模型(自回归模型)和MA模型(移动平均模型)。这是因为ARIMA模型是由这两个模型组合而成的,ARIMA模型的全名即"自回归积分移动平均"模型。

因此,本文的目标就是帮助你从零开始学习AR模型,为进一步理解ARIMA模型打下坚实的基础。我们将首先介绍时间序列数据的基本概念,然后详细探讨AR模型,包括它的定义、性质、参数估计方法和应用。下一篇文章,我们将详细探讨MA模型,为如何将这两个模型组合成ARIMA模型打下坚实的基础。

希望你通过阅读此文,能够获得对AR模型的深入理解,并能够在实际问题中正确使用这些模型。毋庸置疑,这将是你掌握ARIMA模型的重要第一步。

那么,让我们开始吧!

2. 时间序列数据的概念

在我们深入探讨AR模型之前,我们首先需要理解时间序列数据的基本概念。在我之前的一篇文章"时间序列模型(一):时序的相关概念"中,我详细介绍了这个主题。这篇文章涵盖了以下主要内容:

  1. 时间序列数据的概念和种类:理解什么是时间序列数据,并学习到关于单变量和多变量时间序列数据的区别。
  2. 时序模型与机器学习:比较了时间序列分析和传统的机器学习方法在处理时序数据时的异同,并指出了机器学习在建模时序数据时可能遇到的问题。
  3. 时序建模规范:学习到如何划分训练集和测试集,以及不同的时序模型训练方式,包括单步预测、多步预测,以及逐点预测与分布预测。
  4. 时序任务分类:本部分介绍了两种主要的时序任务:预测(Forecasting)和时间监督(Time Supervision)。
  5. 时序算法总结:这一部分对时序分析中的主要算法进行了总结。

我强烈建议你在继续阅读之前先看一下这篇文章,因为理解这些基础知识对于深入理解AR模型非常重要。

在你阅读完这篇文章并理解了时间序列数据的基本概念后,我们就可以开始深入探讨AR模型了!

3. AR模型的基本概念

AR模型,即自回归模型(Autoregressive Model),是一种被广泛用于分析时间序列数据的统计模型。

从严格的定义上来说:在统计学中,一个自回归模型的形式是描述某个变量与其过去值的关系的。对于一个时间序列数据,自回归模型的一阶形式可以表示为:
Y t = c + φ Y t − 1 + ξ t Y_t = c + φY_{t-1} + \xi_t Yt=c+φYt1+ξt

  其中,X_t 是在时间 t 的观察值,c 是常数,φ 是自回归系数, X t − 1 X_{t-1} Xt1 是在时间 t-1 的观察值, ξ t \xi_t ξt 是误差项。

  当自回归模型的阶数为 p 时,模型可以表示为:

Y t = c + φ 1 Y t − 1 + φ 2 Y t − 2 + . . . + φ p Y t − p + ξ t Y_t = c + φ_1Y_{t-1} + φ_2Y_{t-2} + ... + φ_pY_{t-p} + \xi_t Yt=c+φ1Yt1+φ2Yt2+...+φpYtp+ξt

其中, ψ 1 \psi_1 ψ1, ψ 2 \psi_2 ψ2, …, ψ P \psi_P ψP 是自回归系数。

通俗的理解一下:

自回归模型,顾名思义,就是使用一个变量的过去值来预测其未来值的模型。简单来说,它就是假设你明天的状态,或者一个序列的下一项,会依赖于今天,或者前面几项的状态。例如,明天的天气可能会受到今天天气的影响,股票的明天价格可能会受到过去几天价格的影响。

一个关键点是,自回归模型假设过去的值与未来的值之间存在线性关系。也就是说,它假设你能通过给过去的值加权求和来预测未来的值,这些权重就是模型的参数。

4. AR模型的前提假设

AR(自回归模型)适用于“时间-标签”一一对应的单变量时序数据,AR模型的基本思想可以被概括为一句谚语:罗马城不是一日建成的,今天的结果一定依赖于过去的积累,因此AR模型相信:一个时间点上的标签值一定是依赖于之前的时间点上的标签值而存在的。所以有两个重要的假设:

  1. 时序依赖性:在AR模型中,我们假设不同时间点的标签值之间存在强相关性。这意味着一个给定时间点的标签值受到其过去的标签值的显著影响。在数学上,这表现为两个时间点的标签值之间的相关系数较大。换言之,过去的信息对预测未来具有重要影响。

  2. 时序衰减:另一个基础假设是,两个时间点之间的距离越远,他们之间的关联性越弱。例如,昨天的天气可能对今天的天气影响很大,但三个月前的某一天的天气,对今天的天气的影响就相对微弱。

基于这两个假设,AR模型将时间点之间的关系建模为:一个时间点的标签值可以由其过去某个时间段内的所有标签值的线性组合表示。这个线性组合可以理解为对过去信息的加权求和,每个过去时间点的信息都通过一个相应的权重(在AR模型中,这个权重是模型参数)来反映其对当前时间点的影响。公式体现如下:

Y t = c + φ 1 Y t − 1 + φ 2 Y t − 2 + . . . + φ p Y t − p + ξ t Y_t = c + φ_1Y_{t-1} + φ_2Y_{t-2} + ... + φ_pY_{t-p} + \xi_t Yt=c+φ1Yt1+φ2Yt2+...+φpYtp+ξt

这是一个标准的AR模型的数学表示,其中p代表所使用的时间滞后(lags)的数量(关于滞后的概念,后面会讲到)。我们逐个解释这个公式中的每个部分:

  • Y t Y_t Yt:表示在时间点t的时间序列值。也就是在时间点 t t t时的标签(训练时这里使用真实标签,预测时这里输出预测标签)
  • c c c:表示模型的常数项,也叫做截距项。在某些情况下,这个值可能被设置为0,使得模型不包含常数项。
  • φ 1 Y t − 1 , φ 2 Y t − 2 , . . . , φ p Y t − p φ_1Y_{t-1}, φ_2Y_{t-2}, ..., φ_pY_{t-p} φ1Yt1,φ2Yt2,...,φpYtp:这些项表示过去的p个时间点的时间序列值对当前时间点的影响。其中, φ i φ_i φi是第i个滞后项的系数,代表了第i个滞后项对当前时间点的相对影响力。 Y t − i Y_{t-i} Yti则是在时间点t-i的时间序列值。可以这样理解: Y t − 1 Y_{t-1} Yt1表示在时间点 t t t的前一个时间点 t − 1 t-1 t1时的标签值。我们可以根据不同的场景规定 t t t t − 1 t-1 t1之间具体的时间间隔大小,但在同一个时间序列中, t t t t − 1 t-1 t1之间的间隔一定是等同于 t − n t-n tn t − ( n − 1 ) t-(n-1) t(n1)之间的间隔
  • ξ t \xi_t ξt:这是在时间点t的误差项,也被称为白噪声项。在标准的AR模型中,最严格的情况下,只有均值为0、方差为特定 σ 2 \sigma^2 σ2、服从正态分布的才能被称之为白噪声

举个例子来帮助大家理解,假设我们有一家公司的每月销售额数据,我们想用AR模型来预测未来的销售额。在这种情况下, Y t Y_t Yt就是在月份t的销售额, φ 1 Y t − 1 , φ 2 Y t − 2 , . . . , φ p Y t − p φ_1Y_{t-1}, φ_2Y_{t-2}, ..., φ_pY_{t-p} φ1Yt1,φ2Yt2,...,φpYtp表示过去p个月的销售额对当前月份的销售额的影响,其中的 φ i φ_i φi是权重,代表了过去第i个月的销售额对当前月销售额的影响程度。例如,如果我们发现 φ 1 φ_1 φ1的值很大,那么这可能意味着上个月的销售额对本月的销售额影响很大。而 ξ t \xi_t ξt代表了月份t的销售额中不能被过去销售额解释的部分,即模型的误差或者噪声。

通过调整滞后项的数量p和每个滞后项的系数 φ i φ_i φi,我们可以让AR模型更好地拟合我们的数据,从而提高我们对未来销售额的预测准确性。

由于c和 ξ t \xi_t ξt都是常数,因此很多地方往往将它们合并为一个对象 φ 0 φ_0 φ0进行建模,因此这种形式也是常出现的:

Y t = φ 0 + φ 1 Y t − 1 + φ 2 Y t − 2 + . . . + φ p Y t − p Y_t = φ_0 + φ_1Y_{t-1} + φ_2Y_{t-2} + ... + φ_pY_{t-p} Yt=φ0+φ1Yt1+φ2Yt2+...+φpYtp

这个形式的AR模型公式没有包含误差项 ξ t \xi_t ξt。在理论上,这是可以的,因为当我们设定模型参数并对未来进行预测时,我们通常不包括误差项,因为误差项代表的是我们无法预知的随机变化。

然而,在实际操作中,我们通常还是会在模型公式中包含误差项,因为误差项能够帮助我们更好地理解模型的性质,并能够提供对模型预测精度的估计。举例来说,如果误差项的方差较大,那么我们的预测结果可能就不太可靠。

总的来说,两种形式的AR模型公式在实质上是相同的,只是表示方式略有不同。包含误差项的形式更加完整,能够提供关于模型预测精度的更多信息。而不包含误差项的形式则更为简洁,更便于理解模型的基本构造。

这一公式被我们称之为是p阶的自回归模型

5. AR模型的建模流程

5.1 AR模型和多元线性回归

细心的朋友应该很快就能看出来:AR模型与多元线性回归模型在形式上非常相似,都可以看作是因变量对一组自变量的线性回归。线性回归:

y = w 0 + w 1 x 1 + w 2 x 2 + . . . + w p x p y = w_0 + w_1x_1 + w_2x_2 + ... + w_p x_p y=w0+w1x1+w2x2+...+wpxp

它们之间的主要区别在于应用的数据类型和各自对数据的假设。

  • AR模型(自回归模型)主要应用于时间序列数据。它的基本假设是,一个时间点的观测值可以由其历史观测值线性表示。这意味着AR模型假设当前的时间序列值由过去的值以及一个误差项(通常假设为白噪声)决定。例如,今天的股票价格可能与过去几天的价格相关。

  • 多元线性回归模型,与此不同,主要用于截面数据或面板数据,它假设因变量可以由一组自变量线性表示,自变量之间没有严格的时间顺序。例如,房价可能被建筑面积、卧室数量、地理位置等因素影响
    在这两种模型中,时间的顺序和依赖性在AR模型中起着关键作用,而在多元线性回归中通常不考虑。

此外,多元线性回归假设自变量之间互相独立,即不存在多重共线性。而在AR模型中,由于历史观测值之间可能存在时间依赖性,这一假设通常不成立。总的来说:AR模型与多元线性回归模型在形式上相似,但在实际应用和假设上有很大区别。选择哪种模型取决于你的数据类型和你的研究问题。

5.2 AR模型的建模过程

上面我们说到了,AR模型与多元线性模型的建模过程几乎是等同的,区别是,多元线性回归中每个自变量都是一列数据,要求解的标签也是一列数据,但在自回归模型中每个自变量 y y y都是一个样本的数值,要求解的标签y也是一个样本的数值。

所以也就是说:一个自回归模型只能得出一个样本的结果。因此,使用AR完成一个时间序列预测,是需要建立多个AR模型的。因此在自回归模型中,我们需要不断地建模来求解“下一个”时间点上的数值,以构成序列数据

AR( p )模型模型在时间区间[0,t]上进行训练,在时间区间[t+1,t+m]上进行预测, t t t为现在的时间点,则有:

  • 训练求解 φ:

Y 1 = c + φ 1 Y 0 Y 2 = c + φ 1 Y 1 + φ 2 Y 0 Y 3 = c + φ 1 Y 2 + φ 2 Y 1 + φ 3 Y 0 ⋮ Y t = c + φ 1 Y t − 1 + φ 2 Y t − 2 + . . . + φ p Y t − p Y_1 = c + φ_1Y_{0} \\ Y_2 = c + φ_1Y_{1} + φ_2Y_{0} \\ Y_3 = c + φ_1Y_{2} + φ_2Y_{1} + φ_3Y_{0} \\ \vdots \\ Y_t = c + φ_1Y_{t-1} + φ_2Y_{t-2} + ... + φ_pY_{t-p} Y1=c+φ1Y0Y2=c+φ1Y1+φ2Y0Y3=c+φ1Y2+φ2Y1+φ3Y0Yt=c+φ1Yt1+φ2Yt2+...+φpYtp

  • 测试求解 { Y t + 1 , Y t + 2 , . . . , Y t + m Y_{t+1} ,Y_{t+2} , ... , Y_{t+m} Yt+1,Yt+2,...,Yt+m}:

    Y ^ t + 1 = c + φ 1 Y t + φ 2 Y t − 1 + . . . + φ p Y t − p + 1 Y ^ t + 2 = c + φ 1 Y ^ t + 1 + φ 2 Y t + . . . + φ p Y t − p + 2 Y ^ t + 3 = c + φ 1 Y ^ t + 2 + φ 2 Y ^ t + 1 + . . . + φ p Y t − p + 3 ⋮ Y ^ t + m = c + φ 1 Y ^ t + m − 1 + φ 2 Y ^ t + m − 2 + . . . + φ p Y ^ t + m − p \hat{Y}_{t+1} = c + φ_1Y_{t} + φ_2Y_{t-1} + ... + φ_pY_{t-p+1} \\ \hat{Y}_{t+2} = c + φ_1\hat{Y}_{t+1} + φ_2Y_{t} + ... + φ_pY_{t-p+2} \\ \hat{Y}_{t+3} = c + φ_1\hat{Y}_{t+2} + φ_2\hat{Y}_{t+1} + ... + φ_pY_{t-p+3} \\ \vdots \\ \hat{Y}_{t+m} = c + φ_1\hat{Y}_{t+m-1} + φ_2\hat{Y}_{t+m-2} + ... + φ_p\hat{Y}_{t+m-p} Y^t+1=c+φ1Yt+φ2Yt1+...+φpYtp+1Y^t+2=c+φ1Y^t+1+φ2Yt+...+φpYtp+2Y^t+3=c+φ1Y^t+2+φ2Y^t+1+...+φpYtp+3Y^t+m=c+φ1Y^t+m1+φ2Y^t+m2+...+φpY^t+mp

有两点需要进行解释:

  • p 是自回归模型中的参数,它表示在预测当前时刻的值时,我们将考虑过去多少个时刻的值。在AR( p )模型中,p 就是我们要使用的时间滞后的数目。这个参数的选取通常是基于实际数据和模型的性能。例如,如果你有一个每日的时间序列数据,可能p 就选取为7,表示我们认为过去一周的数据对预测明天的值有影响。通常,我们会尝试不同的 p 值,并使用交叉验证,或者基于模型预测能力的一些信息准则(如AIC,BIC)来选择最佳的 p。(相关的概念,后面都会讲到哈)

  • 在测试阶段,等号右边的Y有时是真实值,有时是预测值,这是因为当我们预测未来的时候,我们可能没有未来的真实值,所以不得不使用之前的预测值作为输入。具体来说,如果我们要预测时间t+1的值,我们可以使用到时间t为止的所有真实值;但是如果我们要预测时间t+2的值,我们就没有时间t+1的真实值,所以我们必须使用我们在时间t+1的预测值。这个过程将持续下去,因此,越往未来预测,我们依赖的预测值就越多。这也就是为什么我们说,时间序列预测中的误差会随着时间的推移而累积。

以 AR(3) 模型为例,假设我们正在预测从时间 t+1 开始的未来四个时刻的值(即预测 t+1, t+2, t+3 和 t+4 时刻的值)

预测的时刻使用的真实数据使用的预测数据
t+1 Y t , Y t − 1 , Y t − 2 Y_t, Y_{t-1}, Y_{t-2} Yt,Yt1,Yt2-
t+2 Y t , Y t − 1 Y_t, Y_{t-1} Yt,Yt1 Y ^ t + 1 \hat{Y}_{t+1} Y^t+1
t+3 Y t Y_t Yt Y ^ t + 1 , Y ^ t + 2 \hat{Y}_{t+1}, \hat{Y}_{t+2} Y^t+1,Y^t+2
t+4- Y ^ t + 1 , Y ^ t + 2 , Y ^ t + 3 \hat{Y}_{t+1}, \hat{Y}_{t+2}, \hat{Y}_{t+3} Y^t+1,Y^t+2,Y^t+3

在表中,“预测的时刻”列表示我们正在预测的时间,“使用的真实数据”列表示进行预测所依赖的实际值,“使用的预测数据”列表示进行预测所依赖的预测值。我们可以看到,当预测时间越远(即预测 t+2, t+3 或 t+4 的值)时,我们必须使用更多的预测值,因为我们无法获取那么远的未来的实际值。这就解释了为什么在预测过程中,我们有时需要使用实际值,有时需要使用预测值。

大家现在应该对建模过程已经有了一定的了解,现在我们再进一步解释一下这个过程:当我们考虑自回归模型(AR)的数学和概念性质时,我们更关注时间序列的结构,尤其是如何用过去的数据来预测当前的数据。对于AR( p )模型,当前时间点的值被看作是过去p个时间点值的线性组合。让我们来看一下这个流程:

  1. 假设你有一组时间序列数据 Y 0 , Y 1 , Y 2 , . . . , Y t {Y_0, Y_1, Y_2, ..., Y_t} Y0,Y1,Y2,...,Yt,你想要预测下一个时间点的值,也就是 Y t + 1 Y_{t+1} Yt+1

  2. 根据AR(\p)模型,你会用过去p个观测值来做这个预测。这些观测值是 Y t − p + 1 , Y t − p + 2 , . . . , Y t − 1 , Y t {Y_{t-p+1}, Y_{t-p+2}, ..., Y_{t-1}, Y_t} Ytp+1,Ytp+2,...,Yt1,Yt

  3. AR(\p)模型的公式如下:
    Y t + 1 = c + φ 1 Y t + φ 2 Y t − 1 + . . . + φ p Y t − p + 1 + ε t + 1 Y_{t+1} = c + φ_1Y_t + φ_2Y_{t-1} + ... + φ_pY_{t-p+1} + ε_{t+1} Yt+1=c+φ1Yt+φ2Yt1+...+φpYtp+1+εt+1
    其中,c是常数项, φ 1 φ_1 φ1, φ 2 φ_2 φ2, …, φ p φ_p φp是模型参数, ξ t \xi_t ξt是随机误差项。

  4. 通过最小化误差项,我们可以估计模型参数φ。在最小二乘法中,我们试图找到参数值,使得所有时间点上的预测值与实际观测值之间的残差(误差的平方)之和最小。

  5. 一旦我们得到模型参数,我们就可以用过去p个观测值来预测下一个时间点的值,即 Y t + 1 Y_{t+1} Yt+1

这就是训练AR模型的过程。这个过程的核心是:通过学习历史数据,我们能得到一个模型,它能够捕捉到历史数据中的某种模式或者趋势,然后我们使用这个模型去预测未来的数据。

6. 结语

在本文中,深入探讨了AR模型,这是理解和掌握时间序列分析的重要步骤。具体解释了AR模型的基本概念和前提假设并比较了AR模型和多元线性回归的异同,明确了AR模型在建模过程中的特点和流程。希望这篇文章能够帮助你深化对AR模型的理解,为进一步学习时间序列分析打下坚实的基础。

最后,感谢您阅读这篇文章!如果您觉得有所收获,别忘了点赞、收藏并关注我,这是我持续创作的动力。您有任何问题或建议,都可以在评论区留言,我会尽力回答并接受您的反馈。如果您希望了解某个特定主题,也欢迎告诉我,我会乐于创作与之相关的文章。谢谢您的支持,期待与您共同成长!

期待与您在未来的学习中共同成长。

  • 44
    点赞
  • 181
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 3
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

算法小陈

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值