如何理解自相关和偏自相关图

42 sec read

前几篇的时间序列预测的文章中,都用到了自相关(ACF)和偏自相关(PACF)图,但是理解起来还是存在一些问题。今天就针对这2个概念,重点进行了解和学习。

数据集:澳大利亚墨尔本10年最低气温 链接: https://pan.baidu.com/s/17sVPK8iI-dlC4W6oGpd-Xg 提取码: jtei

相关与自相关

统计中的相关性说的是两个变量间的相关程度。我们假设如果每个变量都符合正态分布,可以使用皮尔逊相关系数(Pearson correlation coefficient)来统计变量间的相关性。皮尔逊相关系数是-1和1之间的数字分别描述负相关或正相关。值为零表示无相关。

自相关(英语:Autocorrelation),也叫序列相关,是一个信号于其自身在不同时间点的互相关。非正式地来说,它就是两次观察之间的相似度对它们之间的时间差的函数。它是找出重复模式(如被噪声掩盖的周期信号),或识别隐含在信号谐波频率中消失的基频的数学工具。自相关函数在不同的领域,定义不完全等效。在某些领域,自相关函数等同于自协方差。

由于时间序列的相关性与之前的相同系列的值进行了计算,这被称为序列相关或自相关。一个时间序列的自相关系数被称为自相关函数,或简称ACF。这个图被称为相关图或自相关图。

以下是利用statsmodels库中使用plot_acf()函数计算和绘制“每日最低气温”自相关图:

这个示例创建了一个2D的平面图,显示沿x轴的延迟值以及y轴上的相关性(-1到1之间)。置信区间被画成圆锥形。默认情况下,置信区间这被设置为95%。

默认情况下,图中显示的是所有的延迟值,这让真实情况掩藏了,我们可以将x轴上的延迟值限制为50,让图更容易看懂。

偏自相关函数(PACF)

偏自相关函数用来度量暂时调整所有其他较短滞后的项 (y_{t-1}, y_{t-2}, ..., y_{t-k-1}) 之后,时间序列中以 k 个时间单位(y_{t}y_{t-k})分隔的观测值之间的相关。

偏自相关是剔除干扰后时间序列观察与先前时间步长时间序列观察之间关系的总结。在滞后k处的偏自相关是在消除由于较短滞后条件导致的任何相关性的影响之后产生的相关性。一项观察的自相关和在先验时间步上的观测包括直接相关和间接相关。这些间接相关是线性函数观察(这个观察在两个时间步长之间)的相关。偏自相关函数试图移除这些间接相关。

下面的示例使用statsmodels库中的plot_pacf()来计算和绘制最低每日温度数据集里的前50个滞后的偏自相关函数:

ACF和PACF图的直观认识

时间序列的自相关函数和偏自相关函数的平面图描述了完全不同的情形。我们可以使用ACF和PACF图来探索一些信息。

自回归直观认识(intuition)

考虑由自回归(AR)过程产生的滞后时间为k的时间序列。我们知道,ACF描述了一个观测值与另一个观测值之间的自相关,包括直接和间接的相关性信息。这意味着我们可以预期AR(k)时间序列的ACF强大到(如同使用了)k的滞后,并且这种关系的惯性将继续到之后的滞后值,随着效应被削弱而在某个点上缩小到没有。我们知道,PACF只描述观测值与其滞后(lag)之间的直接关系。这表明,超过k的滞后值(lag value)不会再有相关性。这正是ACF和PACF图对AR(k)过程的预期。

滑动平均直观认识(Moving Average Intuition)

考虑由滑动平均(MA)过程产生的滞后(lag)时间为k的时间序列。请记住,滑动平均过程是先前预测的残留偏差的时间序列的自回归模型。考虑滑动平均模型的另一种方法是根据最近预测的错误修正未来的预测。我们期望MA(k)过程的ACF与最近的lag值之间的关系显示出强烈的相关性,然后急剧下降到低或者无相关性。根据定义,这解释了整个过程是如何产生的。对于PACF,我们预计图会显示与滞后(lag)的关系,以及滞后(lag)之前的相关。再次强调,这正是MAF(k)过程的ACF和PACF图的预期。

自相关和偏自相关用于测量当前序列值和过去序列值之间的相关性,并指示预测将来值时最有用的过去序列值。了解了此内容,您就可以确定 ARIMA 模型中过程的顺序。更具体来说,

  • 自相关函数 (ACF)。延迟为 k 时,这是相距 k 个时间间隔的序列值之间的相关性。
  • 偏自相关函数 (PACF)。延迟为 k 时,这是相距 k 个时间间隔的序列值之间的相关性,同时考虑了间隔之间的值。

截尾与拖尾是什么鬼?

截尾是指时间序列的自相关函数(ACF)或偏自相关函数(PACF)在某阶后均为0的性质(比如AR的PACF);拖尾是ACF或PACF并不在某阶后均为0的性质(比如AR的ACF)。

  • 截尾:在大于某个常数k后快速趋于0为k阶截尾
  • 拖尾:始终有非零取值,不会在k大于某个常数后就恒等于零(或在0附近随机波动)

自回归移动平均模型(ARMA(p,q))是时间序列中最为重要的模型之一,它主要由两部分组成: AR代表p阶自回归过程,MA代表q阶移动平均过程,其公式如下:

    \[z_t=\varphi _{1}z_{t-1}+\varphi _{2}z_{t-2}+...+\varphi _{p}z_{t-p}+\alpha _{t}-\theta _{1}\alpha _{t-1}-...-\theta _{p}\alpha _{t-p}\]

模型的简化形式为:

    \[\varphi _{p}(B)z_{t} = \theta _{q}(B)\alpha _(t)\]

其中:

    \[\varphi _{p}(B) = 1 - \varphi _{1}B - \varphi _{2}B^2 - ... - \varphi _{p}B^p\]

    \[\theta _{q}(B) = 1 - \theta _{1}B - \theta _{2}B^2 - ... - \theta _{q}B^q\]

依据模型的形式、特性及自相关和偏自相关函数的特征,总结如下:

在时间序列中,ARIMA模型是在ARMA模型的基础上多了差分的操作。

参考链接:

打赏作者
微信支付标点符 wechat qrcode
支付宝标点符 alipay qrcode

使用Prophet进行时间序列预测

Prophet是Facebook开源的预测工具,相比ARIMA模型,Prophet真的是非常的简单。只要读入两
1 min read

采用时间序列预测股价变化

时间序列简介 在数学上,随机过程被定义为一族时间随机变量,即{x(t),t∈T},其中T表示时间t的变动范围。
5 min read

SARIMAX:季节性ARIMA

在先前的使用Python创建季节性ARIMA模型中,出现了SARIMAX模型。在上一篇的文章中并没有讲清楚SA
18 sec read

发表评论

电子邮件地址不会被公开。 必填项已用*标注