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

仅12个月度数据启用Prophet年度季节性引发版本依赖结果差异

问题背景与反馈

问题提交说明

我已在Prophet的GitHub仓库提交该问题

问题观察

当使用恰好12个月度观测数据,并设置yearly_seasonality=True拟合Prophet模型时,模型出现欠识别情况(符合预期)。因此,即使代码和数据完全相同,不同版本的Prophet/cmdstanpy可能会收敛出差异极大的趋势-季节性分解结果。

测试中,一个环境能推导出合理的未来预测值,而另一个环境却生成了大幅负向预测——尽管所有训练数据均为严格正值。对模型组件的分析显示,这些差异源于该配置下趋势与年度季节性的权衡方式不同。

目前,当仅用一个年度周期的数据启用年度季节性时,系统无任何警告或防护机制,这可能导致生产环境中出现不稳定且依赖版本的预测结果。

环境信息

Azure ML Studio

  • prophet: 1.1.4
  • cmdstanpy: 1.2.5

本地环境(VSCode)

  • prophet: 1.2.1
  • cmdstanpy: 1.3.0

最小可复现示例

import pandas as pd
from prophet import Prophet

y = [
    361.0602049, 33880.23, 29431.62, 17337.68, 208032.5, 515776.5,
    848975.0, 837513.2, 1237904.0, 2246456.0, 1982927.0, 2421611.0
]

df = pd.DataFrame({
    "ds": pd.date_range("2025-01-01", periods=12, freq="MS"),
    "y": y
})

m = Prophet(
    yearly_seasonality=True,
    weekly_seasonality=False,
    daily_seasonality=False
)

m.fit(df)

future = m.make_future_dataframe(periods=3, freq="MS")
fcst = m.predict(future)

print(fcst[["ds", "trend", "yearly", "yhat"]])

观测到的行为

Azure环境(prophet 1.1.4)

2026-01 trend = -5.36M, yearly = -7.08M → yhat = -12.4M
趋势变为大幅负值,预测结果为大幅负值(如-10M至-12M)

本地环境(prophet 1.2.1)

2026-01 trend = +2.25M, yearly = +0.67M → yhat = +2.92M

其他未来月份也存在相同差异。

问题/请求

  1. 恳请分享此类场景的最佳实践处理方案?
  2. 是否可以添加警告或防护机制,避免在仅用一个年度周期数据时启用年度季节性?

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.11 16:05:03