如何计算 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)
x 轴显示滞后数,y 轴显示该滞后数处的自相关。默认情况下,绘图从 lag = 0 开始,并且在 lag = 0 时自相关始终为1 。
您还可以使用main参数为绘图指定不同的标题:
#plot autocorrelation function with custom title acf(x, main=' Autocorrelation by Lag ')