如何计算 r 中的自相关


自相关衡量连续时间间隔内时间序列与其自身滞后版本之间的相似程度。

有时也称为“序列相关”或“滞后相关”,因为它衡量变量的当前值与其历史值之间的关系。

当时间序列中的自相关性较高时,只需参考过去的值即可轻松预测未来值。

如何计算 R 中的自相关

假设我们在 R 中有以下时间序列,显示 15 个不同时期内某个变量的值:

 #define data
x <- c(22, 24, 25, 25, 28, 29, 34, 37, 40, 44, 51, 48, 47, 50, 51)

我们可以使用tseries库中的acf()函数计算时间序列中每个滞后的自相关:

 library (tseries)

#calculate autocorrelations
acf(x, pl= FALSE )

     0 1 2 3 4 5 6 7 8 9 10 
 1.000 0.832 0.656 0.491 0.279 0.031 -0.165 -0.304 -0.401 -0.458 -0.450 
    11 
-0.369 

结果解释方式如下:

  • 滞后 0 处的自相关为1
  • 滞后 1 处的自相关为0.832
  • 滞后 2 处的自相关为0.656
  • 滞后 3 处的自相关为0.491

等等。

我们还可以使用lag参数指定要显示的滞后数:

 #calculate autocorrelations up to lag=5
acf(x, lag=5, pl= FALSE )

Autocorrelations of series 'x', by lag

    0 1 2 3 4 5 
1.000 0.832 0.656 0.491 0.279 0.031

如何在 R 中绘制自相关函数

我们可以通过不使用pl=FALSE参数来在 R 中绘制时间序列的自相关函数:

 #plot autocorrelation function
acf(x)

R 中的自相关

x 轴显示滞后数,y 轴显示该滞后数处的自相关。默认情况下,绘图从 lag = 0 开始,并且在 lag = 0 时自相关始终为1

您还可以使用main参数为绘图指定不同的标题:

 #plot autocorrelation function with custom title
acf(x, main=' Autocorrelation by Lag ') 

R 中的自相关图

其他资源

如何用 Python 计算自相关
如何在 Excel 中计算自相关

添加评论

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