【发布时间】:2018-10-28 10:44:05
【问题描述】:
这可能是一个很简单的问题,但是acf lag.max = 0时究竟计算了什么?
当 lag.max = 1 时,我假设它只计算给定先前观察的自协方差(当 type = "covariance"),因此给定时间 t 的观察,它正在检查 t- 观察的协方差1,对于所有的观察。那么当 lag.max = 0 时产生的数字是多少呢?我注意到它非常接近数据的实际方差,但并不完全相同。
【问题讨论】:
标签: r time-series
这可能是一个很简单的问题,但是acf lag.max = 0时究竟计算了什么?
当 lag.max = 1 时,我假设它只计算给定先前观察的自协方差(当 type = "covariance"),因此给定时间 t 的观察,它正在检查 t- 观察的协方差1,对于所有的观察。那么当 lag.max = 0 时产生的数字是多少呢?我注意到它非常接近数据的实际方差,但并不完全相同。
【问题讨论】:
标签: r time-series
acf 函数使用 type = "covariance",计算滞后 0 到 lag = lag.max 的数据的协方差。如果 lag.max 为 0,则 'acf(your_data,lag.max = 0, type = 'covariance')' 的输出实际上与使用 cov 计算数据的协方差相同:'cov(your_data,your_data) '。数值差异是因为 acf 默认情况下会向下舍入显着性数字。还要知道本质上“acf”使用type =“covariance”计算函数“cov”在第二个参数中移动数据的起点,如下所示:
n <- length(your_data)
cov(your_data[1:(n-nlag)],your_data[(1+nlag):n]) # for lag nlag
【讨论】: