r - 自相关不规则时间序列 R

标签 r

我必须计算不规则(即非等距)时间序列的自相关value(time)

time[hr] value

1    3
2    5
3    7
5    9
7    16
12    17    
13    19
16    25
19    27
21    30

使用acf函数可以仅指定滞后(即点数)

acf(df$value,lag.max = 10,type = "correlation",plot = FALSE, na.action = na.pass)

但是就我而言,这并不对应于确定的时间间隔。

我想要的是计算指定时间间隔的自相关函数(例如 3 hr)。

有什么帮助吗?

谢谢

最佳答案

为了澄清,lag.max 参数确定两个系列之间的最大时间偏移(滞后),而不是要使用的点数(即,您正在比较 x_t 与 x_t-h ; lag.max 是 h) 的最大值。在您的示例中,总共有 10 个数据点,因此如果您假设至少需要 3 个数据点来估计它们的相关性,则最多 lag.max=7

听起来也许您有来自连续时间函数的样本,但 ACF 是在离散时间间隔上定义的。因此,要使用 acf(),您需要首先用 NA 填写未观察到的时间,此时时间滞后将以小时为单位表示(即,你想要什么)。

假设上面的数据位于 data.frame df 中,那么

df2 <- data.frame(time=seq(min(df$time), max(df$time)), value=NA)
df2[df$time,"value"] <- df$value
acf(df2$value, lag.max=10, type="cor", plot=FALSE, na.action=na.pass)

# Autocorrelations of series ‘df2$value’, by lag
#
#     0      1      2      3      4      5      6      7      8      9     10 
# 1.000  0.716  0.665  0.415  0.166  0.194  0.046  0.007  0.029  0.008 -0.041 

关于r - 自相关不规则时间序列 R,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26869961/

相关文章:

R 计算均值、中值、方差与频率分布的文件

r - 为什么 R 在以下代码中使用 lm.predict 函数时表现异常?

r - scale_fill_discrete 和 scale_fill_manual - 图例选项混淆

r - 为维恩图添加标题和副标题

r - 绘制所有子组 - 维恩图

r - 识别二进制列

r - 沿线串查找坐标 x 距离

r - 数据框 - 在 R 中添加具有条件的出现次数

r - 按 r 中 data.table 中的组累积识别新值

r - dplyr: case_when 涉及很多案例