You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在R中为月度时间序列自动添加滚动均值并扩展18个月

在R中自动扩展月度时间序列(滚动均值法)

直接上可运行的解决方案,全程无需手动指定月份,完全依托ts对象的自动时间维护机制:

# 示例月度时间序列(替换成你的实际数据)
original_ts <- ts(rnorm(24), start = c(2022, 1), frequency = 12)

# 要生成的未来月份数
future_months <- 18

# 循环生成滚动均值扩展数据
for (i in 1:future_months) {
  # 计算最后3个月的均值
  next_value <- mean(tail(original_ts, 3))
  # 追加值并重新转为ts对象,自动维护月度时间戳
  original_ts <- ts(c(original_ts, next_value), 
                    start = start(original_ts), 
                    frequency = 12)
}

# 查看最终结果
original_ts
# 查看时间戳确认是否正确扩展
time(original_ts)

关键细节

  • tail(original_ts, 3):不管当前序列多长,始终取最近3个观测值,完美适配滚动计算需求
  • 每次追加后重新构造ts对象,让R自动处理时间递增——原序列是月度频率,新值会自动对应下一个月,完全不用手动指定后续月份的时间参数
  • 循环18次刚好生成未来18个月的数据,逻辑直接高效

如果你的原始ts对象已经是月度频率(frequency=12),直接替换示例中的original_ts即可,无需额外调整。

内容的提问来源于stack exchange,提问作者user20203146

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.10 17:16:03