滞后时间为0的acf()函数

时间:2018-10-28 10:44:05

标签: r time-series

这可能是一个非常简单的问题,但是当acf lag.max = 0时,究竟计算了什么?

当lag.max = 1时,我假设它只是根据给定的先前观测值来计算自协方差(当类型=“协方差”时),因此给定在时间t处的观测值,它正在与在t-时的观测值检查协方差1,用于所有观察。那么,当lag.max = 0时生成的数字是多少?我注意到它与数据的实际差异非常接近,但并不完全相同。

1 个答案:

答案 0 :(得分:0)

使用类型=“协方差”的acf函数,计算从滞后0到滞后= lag.max的数据的协方差。如果lag.max为0,则'acf(your_data,lag.max = 0,type ='covariance')'的输出实际上与使用cov计算数据的协方差相同:'cov(your_data,your_data) '。数值上的差异是因为默认情况下acf将有效数字四舍五入。也要本质上了解使用type =“ covariance”的“ acf”,计算函数“ cov”,将数据的起点移动到第二个参数中,如下所示:

 n <- length(your_data)
 cov(your_data[1:(n-nlag)],your_data[(1+nlag):n]) # for lag nlag