You need to enable JavaScript to run this app. 如何将auto.arima拟合值整理为含季节、国家列的目标数据框
优惠活动
大模型
产品
解决方案
定价
更多

如何将auto.arima拟合值整理为含季节、国家列的目标数据框

解决代码

你可以直接使用以下调整后的代码得到符合要求的结果:

library(forecast)
library(dplyr)

# 逐列拟合ARIMA、提取拟合值,拼接为目标结构数据框
Auto_arima_fitted_values <- df[-1] %>%
  # 对每个国家的时间序列拟合auto.arima后提取拟合值
  lapply(function(country_series) fitted(auto.arima(country_series))) %>%
  # 转换为数据框
  as.data.frame() %>%
  # 把原季节列放在第一列,后续为各国拟合值列
  bind_cols(Season = df$Season, .)

调整逻辑

  • 原代码错误原因:你之前直接对auto.arima返回的模型对象做行绑定,得到的是每行对应一个国家、每列对应模型各类属性的结构,自然无法直接提取逐行匹配的拟合值。
  • 调整后逻辑:对每个国家的序列拟合模型后,先单独提取长度和原序列完全一致的拟合值向量,再按列拼接后和原季节列合并,最终结构完全匹配需求:第一列为季节,第二到第五列依次为四个国家的拟合值,缺失位置也会和原数据保持一致返回NA。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.15 02:54:03