【问题标题】:How to deal with a time series with multiple points at each time (in R)?如何处理每次都有多个点的时间序列(在 R 中)?
【发布时间】:2012-07-01 00:52:03
【问题描述】:

我有一个时间序列,在每个时间步都有一些不同的观察结果(对同一现象的测量,但来自不同的位置),看起来它可能具有弱循环模式,但我不确定。我将如何在 R 中实现 acf 函数以更好地了解正在发生的事情?我可以按原样在整个时间序列上调用它吗?我是否需要按位置分隔时间序列,以便每个日期只有一个观察值?我需要先拟合模型并查看残差吗?

【问题讨论】:

  • 为什么不也对位置进行建模呢? 'nlme::lme' 确实提供了在混合效应模型中对 ARMA 相关结构进行建模的工具。
  • 很好的建议,我没有考虑过。我试试看。

标签: r statistics time-series


【解决方案1】:

这取决于您希望如何存储它们。我通常以xtszoo 为生死,他们(强烈)更喜欢不同且(严格)单调递增的索引值——也就是xts 的时间戳。

因此,在一种情况下,相对于数据大小,我的冲突“相对较少”,并且最小增量“仍然很小”到中值增量,我通过使时间戳唯一来捏造。事实上,我经常这样做,并且经常与作者发送邮件,以至于 xts 最终得到了make.time.unique() ...

【讨论】:

  • 我的数据以漂亮、整洁的时间步长出现(一年每两周一次),但我从每个日期都有 5 个观察值,所有测量值都来自不同的位置。我是否应该对这些进行平均并将它们视为一个时间序列?或者按位置单独查看它们?我想我可能会因为按位置单独查看它们而丢失一些信息,因为如果我这样划分,我一次只有相对较少的数据。
  • 很难说——要么将它们分开(但“稀疏”),要么保留它们(但信息松散,需要“捏造”)。但是,嘿,你是主题专家,所以我们让你决定:)
【解决方案2】:

我发现了一个巧妙的技巧来解决这个问题。我按位置划分数据,然后将它们连接成一个长时间序列。不过,问题在于我不想考虑从一个系列结束到下一个系列开始的滞后,所以我在系列之间插入了一堆 NA 并使用了参数 na.action= na.pass 并将 lag.max 设置为我插入的 NA 的数量。在这种情况下,我的数据跨越一年,每两周观察一次(26 个时间增量长),所以我在每个系列之间插入了 26 个 NA。

new.time.series<- c(Loc1Series, rep(NA,26), Loc2Series, rep(NA,26), Loc3Series,     rep(NA,26))
acf(new.time.series, na.action=na.pass, lag.max=30)

这让我可以利用我的所有数据来找到一种模式,而如果我一次尝试这个分析一个位置,由于数据稀疏,我会发现意义不大。

【讨论】:

    猜你喜欢
    • 2019-04-01
    • 1970-01-01
    • 2016-11-04
    • 2016-08-16
    • 1970-01-01
    • 1970-01-01
    • 2020-03-25
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多