什么是自回归模型?

发布日期 2024年6月12日
Two individuals are working in a contemporary office setting, focusing on computer screens displaying code and data. The workspace includes multiple monitors, a tablet stand, and a coffee mug, suggesting a tech-driven environment. The atmosphere is professional and collaborative, with muted tones and sleek furniture.
By Joshua Noble

什么是自回归模型?

自回归建模是一种最常用于时间序列分析和预测的机器学习技术,它使用时间序列中先前时间步长的一个或多个值来创建回归模型。

这是一种简单但功能强大的时间序列分析技术,如果您的数据包含跨时间步长的相关性,则可以提供高度可解释且有效的预测。跨时间步长的相关性称为自相关性,因为它是衡量值与自身相关程度的指标。纯线性过程将在整个时间序列中与其自身完美自相关,从而可以使用自回归过程根据先前的值准确地预测下一个值。完全随机的过程(如白噪声)不会有自相关性,因为我们无法通过过去的值来预测当前或未来的值。

时间序列是随时间推移对同一变量或一组变量进行的一系列测量。通常,在均匀间隔的时间进行测量,例如每小时、每月或每年。 举个例子,我们可能会有一个值来衡量一个国家的航空旅客数量,并且每个月都会进行测量。在这种情况下,y 代表测量的乘客人数,并强调测量值随时间的推移而存在。t 的值用作下标而不是通常的 i,以表示 y t 代表任何时间的 y 值。

自回归模型是指我们将时间序列中的值回归到同一时间序列中的先前值上。例如,yt-1 上回归的 yt 使用 y 的前一个值,即称为滞后值)来预测 y 的当前值。在这个简单的回归模型中,前一个时间段的因变量已成为预测变量。误差表示简单线性回归模型中所有常见的误差假设。我们通常将自回归的顺序视为用于预测当前值的序列中先前值的数量。因此,回归到 yt-1 上的 yt 是一阶自回归,写作 AR(1)。

自回归定义

在多元线性回归中,回归的输出是多个输入变量的线性组合。在自回归模型中,输出是以过去 p 个数据点的线性组合表示的未来数据点。p 是方程中包含的滞后数。AR(1) 模型的数学定义为:

 xt=δ+ϕ1xt-1+αt

xt-1 是一阶滞后的过去序列值

ϕ 是该滞后的计算系数

Alpha t 是白噪声(如随机性)

Delta 定义为

 δ=(1-∑pi=1ϕi)μ

对于阶数为 p 的自回归模型,其中 P 是针对滞后计算的协变量总数,而 μ 是过程均值。

当向模型中添加更多滞后时,我们会向方程中添加更多系数和滞后变量:

 xt=δ+ϕ1xt-1+ϕ2xt-2+αt

前述模型是二阶自回归模型,因为它包含两个滞后项。

阶数为 p 的自回归方程的一般形式为

 xt=δ+ϕ1xt-1...ϕpxt-p+αt

要使用自回归模型进行时间序列预测,我们利用当前时间值和任何历史数据来预测下一个时间步长。例如,一个具有 2 个滞后项的 AR 模型可能会预测未来一个时间步长,如下所示:

 xt+1=δ+ϕ1xt+ϕ2xt-1+αt+1

估算系数

计算每个滞后项系数的最常见方法是最大似然估计 (MLE) 或使用最小二乘法 (OLS) 估计。这些方法在拟合线性模型的回归时存在局限性,而在拟合自回归模型时也同样存在。根据您使用的是 Python 或是 R 和库,除了 MLE 或 OLS 之外,还可以使用 Yule-Walker 或 Burg 方法。

许多库允许用户选择用于从所有候选模型中选择模型的标准。例如,您可能希望使用模型系数来最小化 Akaike 信息准则或贝叶斯信息准则,具体取决于您的用例和数据。

选择 AR 模型的阶数

自相关计算时间序列与其自身的滞后版本之间的相关性。滞后是指移动时间序列的时间单位的数量。滞后为 1 表示将当前序列与前一个时间步长进行比较。滞后为 2 表示与再之前的时间步长进行比较。特定滞后的自相关程度显示了数据的时间依赖性。如果自相关性很高,说明当前值与该滞后值之间存在很强的关系。如果自相关性较低或接近于零,则表示关系较弱或根本没有关系。

可视化自相关的常用方法是计算自相关函数 (ACF) 或 ACF 图,以显示不同滞后项下的自相关系数。

横轴表示滞后项,纵轴表示自相关值。ACF 图中的显著峰值或模式可以揭示数据的潜在时间结构。AR 模型中滞后阶数 (p) 的选择通常依赖于对 ACF 图的分析。在 AR (p) 模型中,时间序列的当前值表示为其过去 p 值的线性组合,系数通过 OLS 或 MLE 确定。自相关性也用于评估时间序列是否平衡。对于平稳的时间序列,自相关性应随着滞后的增加而逐渐减小,但如果 ACF 图未显示下降趋势,则数据可能包含非平稳因素。您可以点击这里了解更多关于自相关性的信息。

自回归模型的变体

标准自回归时间序列模型有许多不同的变体,旨在解决其挑战和缺陷。

矢量自回归模型

普通的自回归统计模型适用于单变量数据集,即每个周期的数据集中只能包含一个值。向量自回归模型 (VAR) 的开发旨在实现多变更时间序列的自回归。它们的结构使每个变量都是自身过去滞后和其他变量过去滞后的线性函数。想象一下,您有一个由两个不同测量值组成的时间序列,即每月的飞机航班数量和每月的城际铁路出行次数。在 VAR 模型中,您可以通过包含对方的值的回归来预测每个值。将铁路编码为 X r,将飞机旅行编码为 Xa,我们会得到:

 xt,r=αr+ϕ11xt-1,a+ϕ12xt-1,r+ϵt,r 

 xt,a=αa+ϕ11xt-1,a+ϕ12xt-1,r+ϵt,a 

ARMA 和 ARIMA

普通自回归模型可能无法处理具有强烈趋势的时间序列。自回归模型的两种常见变体是自回归移动平均 (ARMA) 和自回归整合移动平均 (ARIMA) 模型。当数据具有强烈趋势时,这些变体尤其有用。移动平均建模是另一种时间序列预测方法,ARIMA 将这两种方法结合,因此而得名。ARIMA 模型也有一些变体。其中最常见的扩展之一是向量 ARIMA (VARIMA),用于多变量数据。另一种常见的扩展之一是季节性 ARIMA (SARIMA),适用于强烈季节性数据。您可以点击这里了解更多关于 ARIMA 模型的信息。

自回归条件异方差

当时间序列数据平稳且时间序列中的方差没有变化时,自回归模型的表现更为可靠。为了消除方差的变化,通常会对非平稳数据进行时间差分处理,然后拟合自回归模型。有时,这种差异是有意义的,数据科学家希望将其保留下来。自回归条件异方差方法 (ARCH) 提供了一种方法,可对时间序列中随时间变化的方差变化进行建模,例如波动率的增加或减少。这种方法的扩展被称为广义自回归条件异方差 (GARCH),允许该方法支持随时间波动的变化。例如,在同一序列中增加和减少波动性。

当时间序列方差变化存在非随机过程时,自回归条件异方差或 ARCH 算法可以使用自回归技术对数据集波动率的变化进行建模和预测。常规自回归模型并不能对整个数据集的方差变化进行建模。因此,数据科学家可能会使用 box-cox 变换来减少数据集中的方差。但是,如果方差的变化是自相关的,那么使用 ARCH 进行建模可以预测过程何时可能开始变化。这种方法被称为波动率预测,常用于计量经济学和金融分析。例如,在处理股票价格数据时,人们可能不仅希望对潜在定价进行建模,还想要预测价格何时开始发生剧烈变化。

Mixture of Experts | 12 月 12 日,第 85 集

解码 AI:每周新闻摘要

加入我们世界级的专家小组——工程师、研究人员、产品负责人等将为您甄别 AI 领域的真知灼见,带来最新的 AI 资讯与深度解析。

自回归的其他应用

尽管自回归模型通常与时间序列数据相关联,但其他建模应用也可以使用不同类型的数据。

自然语言处理

自回归建模技术生成令牌序列的可能性,例如,在预测文本中建议可能的下一个字母或单词。自回归语言模型计算给定字符串中先前令牌的每个可能令牌的可能性。给定字符串“老鼠吃了”,一个见过大量英语句子的模型可能会认为分配“奶酪”的概率比“作业”的概率更大。此概率通过自回归过程分配,该过程使用字符串中的所有先前令牌为语言模型中的每个令牌分配概率。

空间数据

自回归原理的另一应用是将值的位置用作序列,并在目标位置回归所有相关位置。比如,我们可能认为工厂与站点的距离会影响空气质量读数。自回归模型将使用其他站点的读数作为滞后值,并将与工厂的距离作为滞后因素。

作者

Joshua Noble

Data Scientist

相关解决方案
IBM watsonx.ai

使用面向 AI 构建器的新一代企业级开发平台 IBM watsonx.ai,可以训练、验证、调整和部署生成式 AI、基础模型和机器学习功能。使用一小部分数据,即可在很短的时间内构建 AI 应用程序。

了解 watsonx.ai
人工智能 (AI) 解决方案

借助 IBM 业界领先的人工智能专业知识和解决方案组合,让人工智能在您的业务中发挥作用。

深入了解 AI 解决方案
AI 咨询与服务

通过增加 AI 重塑关键工作流程和运营,最大限度提升体验、实时决策和商业价值。

深入了解人工智能服务
采取后续步骤

一站式访问跨越 AI 开发生命周期的功能。利用用户友好型界面、工作流并访问行业标准 API 和 SDK,生成功能强大的 AI 解决方案。

  1. 深入了解 watsonx.ai
  2. 预约实时演示