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

使用月度数据训练DeepAR时间序列模型出现单位不支持错误如何解决

为什么月度数据不被支持?

这个报错来自Pandas 2.0及以上版本的规则调整:M(月末)、Y(年末)这类时间单位的长度不固定,比如不同月份天数在28-31天不等,2月还会随闰年变化,无法对应唯一的固定时长,因此Pandas废弃了这类单位在timedelta计算中的使用。而SageMaker DeepAR的底层逻辑依赖Pandas做时间偏移计算,传入freq="M"时就会触发该报错。

如何在DeepAR上训练月度数据?

直接将freq参数替换为Pandas当前支持的月度偏移量别名即可:

  • 如果你的数据是按月末统计的,设置freq = "ME"
  • 如果你的数据是按月初统计的,设置freq = "MS"

这两个参数和原"M"的业务逻辑完全一致,不需要修改其他的数据集结构、prediction_length、context_length等配置,仅替换freq值就能正常运行。如果后续运行仍有索引对齐问题,可以提前把数据集的时间索引统一转换为pd.PeriodDtype(freq="ME")(对应月末)或者对齐到固定月末/月初的datetime64类型。

是否可以通过设置日度等效参数适配月度数据?

不建议这么操作。月度的天数没有固定值,强行设置等效天数会导致时间偏移计算错误,出现预测窗口错位、时间序列对齐偏差的问题,会严重影响模型预测效果。DeepAR本身原生支持月度频率训练,仅需替换正确的freq参数即可,无需用日度参数绕路,反而增加不必要的出错概率。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.27 00:57:05