本文概述
如果你想学习R课程中的时间序列分析入门, 请点击此处。
计算自相关
自相关或滞后相关用于评估时间序列是否取决于其过去。对于长度为n的时间序列x, 我们考虑n-1对观测值相隔一个时间单位。第一个这样的对是(x [2], x [1]), 下一个是(x [3], x [2])。每个这样的对都具有(x [t], x [t-1])的形式, 其中t是观察指数, 在这种情况下, 我们从2变为n。可以将x的lag-1自相关估计为这些(x [t], x [t-1])对的样本相关性。
通常, 我们可以手动创建这些对观测值。首先, 创建两个向量x_t0和x_t1, 每个向量的长度为n-1, 这样行对应于(x [t], x [t-1])对。然后应用cor()函数估计lag-1自相关。
幸运的是, acf()命令提供了一个快捷方式。将acf(…, lag.max = 1, plot = FALSE)应用于序列x会自动计算lag-1自相关。
最后, 请注意, 这两个估计值略有不同, 因为它们在样本协方差的计算中使用略有不同的缩放比例, 即1 /(n-1)与1 / n。尽管后者将提供有偏差的估计, 但是在时间序列分析中更可取, 并且所得的自相关估计仅相差(n-1)/ n倍。
在本练习中, 你将练习lag-1自相关的手动和自动计算。时间序列x及其长度n(150)已被加载。该系列显示在右侧的图中。
使用说明
- 创建两个向量x_t0和x_t1, 每个向量的长度为n-1, 这样行对应于(x [t], x [t-1])对。
- 使用预先编写的代码确认x_t0和x_t1是(x [t], x [t-1])对。
- 使用plot()查看x_t0和x_t1的散点图。
- 使用cor()查看x_t0和x_t1之间的相关性。
- 将acf()与x一起使用可自动计算lag-1自相关。将lag.max参数设置为1以产生单个延迟周期, 并将plot参数设置为FALSE。
- 使用预先编写的代码确认差异因子为(n-1)/ n。
如果这有意义, 请继续进行下一个练习!如果没有, 这是一个概述视频。
自相关概述视频
自相关功能
可以在许多时滞上估计自相关, 以更好地评估时间序列与其过去的关系。通常, 我们最感兴趣的是系列与其最近的过去之间的关系。
acf(…, lag.max = …, plot = FALSE)函数将估计从0、1、2 …直至参数lag.max指定的值的所有自相关。在上一个练习中, 你通过将lag.max参数设置为1来关注lag-1自相关。
在本练习中, 你将探索acf()命令的其他一些应用程序。时间序列x再次为你预加载, 并显示在右侧的图中。
使用说明
- 使用acf()可以查看x的从0到10的自相关。将lag.max参数设置为10, 并将plot参数保持为FALSE。
- 在滞后10处复制并粘贴自相关估计(ACF)。
- 在滞后5处复制并粘贴自相关估计(ACF)。
可视化自相关函数
估计许多时滞的自相关函数(ACF)使我们能够评估时间序列x与过去的关系。数值估计对于详细计算很重要, 但是将ACF可视化为滞后函数也很有用。
实际上, 默认情况下, acf()命令会生成一个图形。它还为lag.max(要显示的最大滞后数)做出默认选择。
三个时间序列x, y和z已加载到R环境中, 并在右侧绘制。时间序列x表现出很强的持久性, 这意味着当前值与其进行后续处理的值紧密相关。时间序列y显示一个周期模式, 其周期长度约为四个观测值, 这意味着当前值相对于其之前的四个观测值相对接近。时间序列z没有显示任何清晰的模式。
在本练习中, 你将绘制每个时间序列的估计自相关函数。在由acf()生成的图中, 每个自相关估计的延迟在水平轴上表示, 每个自相关估计的垂直栏的高度表示。回想一下, 滞后0处的ACF始终为1。
最后, 每个ACF图形都包括一对蓝色的水平虚线, 分别代表以零为中心的滞后95%置信区间。这些用于确定在给定滞后与零值零(即在该滞后没有自相关)下单个自相关估计的统计显着性。
使用说明
使用函数acf()的三个调用来显示三个时间序列(x, y和z)中每个序列的估计ACF。在调用acf()时无需指定其他参数。
如果你想从本课程中学习更多信息, 请点击这里。