问小白 wenxiaobai
资讯
历史
科技
环境与自然
成长
游戏
财经
文学与艺术
美食
健康
家居
文化
情感
汽车
三农
军事
旅行
运动
教育
生活
星座命理

自回归模型(AR)详解

创作时间:
作者:
@小白创作中心

自回归模型(AR)详解

引用
CSDN
1.
https://blog.csdn.net/qq_41990294/article/details/144288599

最近看到一些模型使用了自回归方法,这里就学习一下整理一下相关内容方便以后查阅。

自回归模型(AR)

AR 模型的引入

考虑如图所示的单摆系统。设$x_t$为第$t$次摆动过程中的摆幅。根据物理原理,第$t$次的摆幅$x_t$由前一次的摆幅$x_{t-1}$决定,即有$x_t=a_1x_{t-1}$。考虑到空气振动的影响,我们往往假设
$$
x_t=a_1x_{t-1}+\varepsilon_t, \quad t\geq1
$$
其中,随机干扰$\varepsilon_t \sim N(0, \sigma^2)$。

设初始时刻$x_0=1$,现在取不同的$a_1$和$\sigma$值进行实验。实验结果如下图。

可以看出,参数$a_1$对序列的稳定性起到决定性的作用,而噪声强度$\sigma^2$决定了序列的波动程度。

在这里,我们称第一个公式为一阶自回归模型。更一般地,可以考虑序列值$x_t$可由前$p$个时刻的序列值及当前的噪声表出,即
$$
x_t=a_1x_{t-1}+a_2x_{t-2}+\cdots+a_px_{t-p}+\varepsilon_t
$$
其中,$a_j$为参数,${\varepsilon_t}$为白噪声。

AR 模型的定义

如果$\varepsilon_t$为白噪声,服从$N(0,\sigma^2)$,$a_0, a_1, ..., a_p(a_p\neq 0)$为实数,就称$p$阶差分方程
$$
X_t=a_0+a_1X_{t-1}+a_2X_{t-2}+\cdots+a_pX_{t-p}+\varepsilon_t, \quad t\in\mathbb{Z}
$$
是一个$p$阶自回归模型,简称$AR(p)$模型,称$a = (a_{0},a_{1},...,a_{p})^{T}$是$AR(p)$模型中的自回归系数。满足上述模型的时间序列${X_t}$称为$AR(p)$序列。

当$a_0 = 0$时,称为零均值$AR(p)$序列,即
$$
X_t=a_1X_{t-1}+a_2X_{t-2}+\cdots+a_pX_{t-p}+\varepsilon_t, \quad t\in\mathbb{Z}
$$
需要指出的是,对于$a_0 \neq 0$的情况,我们可以通过零均值化的手段把一般的$AR(p)$序列变为零均值$AR(p)$序列。

参数的估计方法

要使用AR模型进行预测或分析,我们需要根据实际数据估计参数$\phi_1, \phi_2, \dots, \phi_p$和噪声项的方差$\sigma^2$。参数估计方法包括:

  • 最小二乘法(OLS):将 AR 模型视为线性回归模型,用 OLS 来估计参数。对于 AR(p) 模型,可将$(x_{t-1}, x_{t-2}, \dots, x_{t-p})$作为自变量,$x_t$为因变量,构建线性方程组,求解参数。

  • 极大似然估计(MLE):在高斯噪声假设下,可采用MLE方法,通过最大化似然函数来得到参数估计。

  • Yule-Walker方程:Yule-Walker方程是基于自相关函数推导出的方程组,可以直接求解AR模型参数。这在理论研究和快速估计中非常有用。

模型阶数选择

确定 AR 模型的阶数$p$是实际应用中的一个关键步骤。过低的阶数可能无法充分捕捉序列的特征,过高的阶数又会导致过拟合和模型复杂度增加。常用的阶数选择标准包括:

  • 赤池信息准则(AIC):AIC = $2k - 2\ln(L)$,其中$k$是参数个数,$L$为似然函数值。AIC倾向较复杂模型,但不宜过于简单。

  • 贝叶斯信息准则(BIC):BIC = $\ln(N)k - 2\ln(L)$,其中$N$为样本量。BIC惩罚项更大,倾向更简单的模型。

  • HQ准则(Hannan-Quinn):介于 AIC 和 BIC 之间的准则。

一般来说,通过对不同阶数的模型拟合并计算AIC、BIC、HQ等指标,选择使这些准则达到最低值的阶数作为最终模型的阶数。

平稳性与因果性条件

AR模型适用于平稳时间序列,因此研究 AR 模型时需要确保模型的平稳性。一个$AR(p)$模型的平稳性条件可以通过其特征方程来判断:
$$
1 - \phi_1 z - \phi_2 z^2 - \cdots - \phi_p z^p = 0.
$$
如果该特征方程的根都落在单位圆之外(即绝对值大于1),那么该$AR(p)$模型是平稳的。平稳性保证了模型参数的统计性质和预测稳定性。如果时间序列不平稳,可对数据进行差分、去趋势或其他平稳化处理后再建模(这类模型可扩展为ARIMA模型)。

自相关与偏自相关函数

AR模型参数与时间序列的自相关特性密切相关。通过自相关函数(ACF)和偏自相关函数(PACF),我们可以获得有助于选择AR阶数的信息。

对于$AR(p)$模型,偏自相关函数在滞后阶数$p$处通常会出现截断,这为阶数选择提供了直观的参考。

优缺点总结

优点

  • 模型简单易懂,参数有明确的统计学含义。
  • 算法成熟,估计方法(OLS、MLE、Yule-Walker)简单且高效。
  • 对短期预测十分有效,在数据平稳且线性特征显著时表现良好。

缺点

  • 不适用于非线性序列,需要扩展方法或非线性模型来处理。
  • 对非平稳序列需预处理,否则无法保证参数估计的有效性。
  • 长期预测不如短期预测准确,对突发性、非线性、复杂行为的序列无能为力。

自相关(Autocorrelation)与偏自相关(Partial Autocorrelation)

自相关(Autocorrelation)与偏自相关(Partial Autocorrelation)是时间序列分析中的两个重要统计工具,用于刻画序列中不同时间点之间的相关关系结构。通过自相关和偏自相关函数(分别记为ACF与PACF),我们可以更清晰地了解序列的动态特性,并为模型阶数选择(如AR模型中的阶数$p$)提供依据。

基本概念与定义

自相关函数(ACF)

自相关描述同一时间序列在不同时间滞后(lag)下的相关程度。对于一个离散时间序列${x_t}$,其均值为$\mu$,自相关可以定义为同一序列在时间间隔为$k$(又称滞后数)的两个值之间的线性相关程度。

形式化定义:

设$\gamma(k)$为时间序列在滞后数为$k$时的协方差,$\gamma(0)$为序列的方差,则自相关函数(Autocorrelation Function, ACF)为:
$$
\rho(k) = \frac{\gamma(k)}{\gamma(0)} = \frac{E[(x_t - \mu)(x_{t-k} - \mu)]}{E[(x_t-\mu)^2]}.
$$
其中:

  • $\rho(k)$为滞后$k$的自相关系数,取值范围为[-1, 1]。
  • 当$\rho(k)$接近1或-1时,表示序列在滞后$k$处具有较强的正相关或负相关。
  • 当$\rho(k)$接近0时,表示在滞后$k$处序列的值与过去的值几乎没有线性关系。

通过计算序列在不同滞后下的自相关,可以构建一组自相关系数,并将其作为自相关函数ACF对滞后数$k$绘制得到ACF图。

样本自相关系数

在实际应用中,由于未知总体参数,我们通常使用样本自相关系数来估计ACF:
$$
\hat{\rho}(k)=\frac{\sum_{t=k+1}^N(x_t-\bar{x})(x_{t-k}-\bar{x})}{\sum_{t=1}^N(x_t-\bar{x})^2}
$$
$\bar{x}$是样本均值,$N$是样本大小。

偏自相关函数(PACF)

偏自相关(Partial Autocorrelation)描述的是在考虑中间滞后项的影响后,两个时间点之间的“净”相关度。

偏自相关函数衡量的是在控制了中间所有滞后项的影响后,时间序列在滞后$k$处的直接相关性。也就是说,PACF$\alpha(k)$是在考虑了滞后1到滞后$k-1$的影响后,$x_t$与$x_{t-k}$之间的净相关性。

$$
x_t=\beta_0+\beta_1x_{t-1}+\beta_2x_{t-2}+\cdots+\beta_kx_{t-k}+\epsilon_t
$$
偏自相关函数$\alpha(k)$就是回归系数$\beta_k$。

ACF与PACF图在模型识别中的作用

在AR模型中,ACF与PACF图是选择模型阶数的重要视觉和理论依据。

  • 纯AR模型中的特征

对于一个$AR(p)$模型:
$$
x_t = \phi_1 x_{t-1} + \phi_2 x_{t-2} + \cdots + \phi_p x_{t-p} + \epsilon_t,
$$

  • ACF图通常会表现为在前几个滞后可能较大(可能逐渐衰减)的自相关,然后在高阶滞后趋近于0。

  • PACF图对于$AR(p)$模型有一个明显特征:从滞后$p$之后,偏自相关系数会快速趋近于0,而且在$p$阶截断。也就是说,偏自相关函数在滞后数超过$p$时通常不显著。

  • 纯MA模型中的特征

若是一个$MA(q)$模型(非AR结构),则ACF在$q$阶后截断(即ACF在滞后$q$后接近0),而PACF表现为渐进衰减,不会像AR模型那样干净地截断。

  • ARMA模型中的特征

对于混合模型$ARMA(p, q)$,ACF和PACF都不会出现干净的截断,而是呈现混合的渐进衰减特性。透过ACF和PACF的形态,可以尝试区分AR、MA及ARMA等模型结构。

通过观察ACF和PACF的截断与衰减模式,我们能够初步推断合适的模型类别与阶数。例如:

  • 如果PACF在$p$阶截断,而ACF渐进衰减,那么这可能是$AR(p)$模型。
  • 如果ACF在$q$阶截断,而PACF渐进衰减,那么这可能是$MA(q)$模型。
  • 如果两者都渐进衰减,那么可能是$ARMA$模型,需要更进一步检验。

工具与代码实现

  • 导入库并加载数据
import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
from statsmodels.graphics.tsaplots import plot_acf, plot_pacf
from statsmodels.tsa.arima_process import ArmaProcess

# 生成AR(1)模型的数据
np.random.seed(42)
phi = 0.6
ar = np.array([1, -phi])  # 注意符号
ma = np.array([1])        # MA部分
arma_process = ArmaProcess(ar, ma)
simulated_data = arma_process.generate_sample(nsample=100)
  • 绘制ACF和PACF图
fig, ax = plt.subplots(2, 1, figsize=(12,8))
# 绘制ACF图
plot_acf(simulated_data, lags=20, ax=ax[0])
ax[0].set_title('Autocorrelation Function (ACF)')
# 绘制PACF图
plot_pacf(simulated_data, lags=20, ax=ax[1], method='ywm')
ax[1].set_title('Partial Autocorrelation Function (PACF)')
plt.tight_layout()
plt.show()

自回归移动平均模型(Autoregressive Moving Average Model,ARMA)

自回归移动平均模型(Autoregressive Moving Average Model,简称ARMA)是时间序列分析中一种经典且广泛应用的统计模型。它结合了自回归(Autoregressive, AR)移动平均(Moving Average, MA)两种模型的特点,用于描述和预测平稳时间序列数据。ARMA模型在经济学、金融学、气象学、工程学等多个领域都有着重要的应用。

基本概念与定义

自回归(AR)模型

自回归(Autoregressive, AR)模型假设当前时间点的值是其前若干时间点值的线性组合,加上一个白噪声误差项。AR模型用于捕捉时间序列中的自相关性。

AR(p)模型的数学表达式为:
$$
x_t = \phi_1 x_{t-1} + \phi_2 x_{t-2} + \cdots + \phi_p x_{t-p} + \epsilon_t
$$
其中:

  • $x_t$是时间序列在时刻$t$的值。
  • $\phi_1, \phi_2, \dots, \phi_p$是自回归系数。
  • $\epsilon_t$是白噪声误差项,满足$E[\epsilon_t] = 0$和$Var(\epsilon_t) = \sigma^2$。
移动平均(MA)模型

移动平均(Moving Average, MA)模型假设当前时间点的值是前若干时间点误差项的线性组合,加上一个当前的白噪声误差项。MA模型用于捕捉时间序列中的随机波动。

MA(q)模型的数学表达式为:
$$
x_t = \epsilon_t + \theta_1 \epsilon_{t-1} + \theta_2 \epsilon_{t-2} + \cdots + \theta_q \epsilon_{t-q}
$$
其中:

  • $x_t$是时间序列在时刻$t$的值。
  • $\theta_1, \theta_2, \dots, \theta_q$是移动平均系数。
  • $\epsilon_t$是白噪声误差项,满足$E[\epsilon_t] = 0$和$Var(\epsilon_t) = \sigma^2$。
ARMA模型的定义

自回归移动平均(Autoregressive Moving Average, ARMA)模型结合了AR和MA模型的特点,用于描述具有自回归和移动平均特征的时间序列数据。

ARMA(p, q)模型的数学表达式为:
$$
x_t = \phi_1 x_{t-1} + \phi_2 x_{t-2} + \cdots + \phi_p x_{t-p} + \epsilon_t + \theta_1 \epsilon_{t-1} + \theta_2 \epsilon_{t-2} + \cdots + \theta_q \epsilon_{t-q}
$$
其中:

  • $p$是自回归部分的阶数。
  • $q$是移动平均部分的阶数。
  • $\phi_i$和$\theta_j$分别是AR和MA部分的系数。
  • $\epsilon_t$是白噪声误差项。

ARMA模型适用于平稳时间序列数据,能够捕捉序列中的长期依赖性(通过AR部分)和短期波动性(通过MA部分)。

ARMA(p, q)模型的数学公式

综合AR和MA模型,ARMA(p, q)模型的数学公式如下:
$$
x_t = \phi_1 x_{t-1} + \phi_2 x_{t-2} + \cdots + \phi_p x_{t-p} + \epsilon_t + \theta_1 \epsilon_{t-1} + \theta_2 \epsilon_{t-2} + \cdots + \theta_q \epsilon_{t-q}
$$
可以将其表示为:
$$
\phi(B) x_t = \theta(B) \epsilon_t
$$
其中:

  • $\phi(B) = 1 - \phi_1 B - \phi_2 B^2 - \cdots - \phi_p B^p$是AR多项式。
  • $\theta(B) = 1 + \theta_1 B + \theta_2 B^2 + \cdots + \theta_q B^q$是MA多项式。
  • $B$是滞后算子,$B x_t = x_{t-1}$。

参考资料

© 2023 北京元石科技有限公司 ◎ 京公网安备 11010802042949号