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

ML.NET SSA预测模型回测结果异常及参数配置疑问

ML.NET SSA预测回测问题解答

操作可能存在的问题

  • 回测输入数据适配错误:你用1993年数据回测时,是否确保输入的初始序列长度完全匹配模型训练时的*seriesLength参数?SSA模型对输入序列长度有严格要求,训练时指定的seriesLength*是模型预期的输入序列长度,回测时若输入的1993年数据长度与该参数不匹配,会导致模型无法正确提取特征,进而出现预测偏差。
  • 模型加载后参数不一致:保存和加载模型时,是否保证预测代码中使用的*windowSize、seriesLength、horizon*与训练时完全一致?若加载后修改这些参数,模型内部特征提取逻辑会与训练阶段不兼容,必然引发异常结果。

参数微调影响结果的原因

SSA(奇异谱分析)的核心是通过滑动窗口将时间序列分解为不同成分,这两个参数直接决定分解的维度和精度:

  • windowSize:控制滑动窗口大小,决定模型能捕捉的时间序列周期特征长度。你的数据是严格线性递增、无周期性的,当*windowSize过大时,模型会试图捕捉不存在的周期模式,反而干扰对线性趋势的拟合;较小的windowSize*更适合捕捉短期线性变化,因此结果更接近预期。
  • seriesLength:指定模型输入的时间序列长度,需要足够长以覆盖模型要学习的趋势。你的训练数据是36个月(1993-1995),当*seriesLength*设为7时,回测用的1993年数据是12个月,虽然长度足够,但模型训练时习惯用更长的序列片段提取特征,回测时用较短的初始序列(相对训练片段),模型无法充分学习完整线性趋势,导致偏差。

能否用该模型做回测?

可以,但需满足以下条件:

  • 回测时输入的初始序列长度严格等于训练模型时指定的*seriesLength参数。比如训练时seriesLength=5,回测就要输入连续5个月的历史数据;训练时seriesLength=7*,回测就得输入连续7个月的数据。
  • 回测的初始序列必须是训练数据中连续的一段,且模型在训练阶段已学习到该段数据之后的趋势(你的数据是严格线性递增,这点满足)。
  • 重新加载模型后,所有预测相关参数(windowSize、seriesLength、horizon)必须与训练阶段完全一致,不可随意调整。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.21 23:29:57