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

StatsForecast中season_length与freq参数的关联及设置疑问

关于StatsForecast中freq与season_length参数的配置说明

结论先行:你应该把freq设为周度(比如"W"),season_length设为4,具体原因和参数关联逻辑如下:

1. 两个参数的本质作用

  • freq:用于明确你的原始数据的时间粒度,是模型识别时间序列连续性、生成未来预测时间戳的核心依据。你用的是周度数据就必须设为周度对应的代码(比如"W"或指定周起始的"W-SUN"),绝对不能改成月度——否则模型会错误判定数据间隔为月度,直接打乱时间序列的连续性逻辑,预测结果完全失效。
  • season_length:用于定义季节性周期的长度,也就是你认为数据在多少个原始时间步长后会重复季节性规律。你认定季节性是月度,而原始数据是周度,一个月约对应4周,所以设为4,模型就会以每4个周数据为一个周期去捕捉季节性波动。

2. 你的场景配置示例

假设你的数据是每周一条记录,代码配置参考如下:

from statsforecast import StatsForecast
from statsforecast.models import AutoARIMA

# 初始化StatsForecast对象,匹配数据粒度和季节性周期
sf = StatsForecast(
    models=[AutoARIMA(season_length=4)],  # 以4周为一个季节性周期
    freq="W"  # 声明原始数据为周度粒度
)

3. 二者的关联逻辑

freq是基础锚点,它确定了数据的时间单位;season_length是基于这个单位的周期计数,公式可以简单理解为:
season_length = 你认定的季节性周期时长 ÷ 原始数据的时间粒度

比如:

  • 若数据是日度,季节性为周度,则season_length=7,freq设为"D"
  • 若数据是月度,季节性为年度,则season_length=12,freq设为"M"

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.29 15:12:39