预测方法

平台提供 14 种算法,并可接入外部模型服务,覆盖基线、趋势、周期、历史相似性和组合预测。算法是否适用,应通过相同业务窗口的回测与实测比较判断。

算法关注的负载特征
Naive / Seasonal Naive最近值延续或历史周期重复,作为比较基线。
EWMA平滑短期波动,强调近期观测。
Holt-Winters水平、趋势与季节变化,可配置季节模式和阻尼。
Theta结合平滑与趋势,适用于带噪声的序列。
MSTL拆分日、周等季节形状,理解多重周期。
Seasonal Profile按时段与星期建立周期画像,使用历史分位数。
Peak Envelope跟踪峰值包络的变化,关注资源高水位。
Histogram Percentile以衰减历史分位数辅助规格推荐。
KNN寻找相似历史窗口,参考其后续变化。
Ridge AR用滞后、日历与可用协变量建模。
Random Forest / GBDT通过回归树学习历史特征与需求的关系。
Combination组合多个成员的结果,按配置处理权重与误差。

逐个查阅参数与配置

每种方法都有独立的参数手册:默认值、类型、范围、单位、历史要求、配置示例与调参取舍。模型服务在“模型管理”中配置,其余内置方法在“算法管理”中配置。

算法 / 模型说明
Naive · 持续值将最后一个观测值延续到整个预测范围,作为所有候选的基本对照。适合检查数据与预测链路,不能提前识别周期或突增。
Seasonal Naive · 季节持续重复前一个周期对应位置的值,用于规律重复的负载,也是周期模型的比较基线。前一周期的异常会被重复。
EWMA · 指数平滑平滑近期波动后将水平延续到未来。适合作为低成本、重视近期负载的候选,不会直接外推日周期。
Histogram Percentile · 历史分位数对带时间衰减的历史取百分位,并将该值作为未来各步的水平。适合关注资源高水位的规格比较,不刻画峰值发生的具体时刻。
Random Forest · 随机森林对抽样后的历史特征训练多棵回归树并平均,支持非线性关系与协变量。训练成本高于简单统计方法。
KNN · 历史相似窗口寻找与当前窗口相似的历史片段,参考其后续轨迹。适合历史中曾出现过的峰谷形态,不擅长没有历史先例的新变化。
Holt-Winters · 趋势与季节分离水平、趋势和季节变化。支持加性或乘性季节,以及阻尼趋势,适合有周期且水平缓慢变化的负载。
模型服务 · 预测与微调通过 HTTP 调用外部时序模型。模型管理中配置服务,模块中选择预测方式。服务不可用时本次候选失败,其他算法继续按资格参与。
Theta · 平滑与漂移将平滑水平与线性趋势斜率的一半结合,支持先去季节。适合作为带噪声趋势序列的候选,预测下限为 0。
MSTL · 多重季节分解同时分离日、周季节形状,对去季节后的序列使用 Theta。本项目采用固定季节形状的迭代分解,不是随时间变化的 LOESS 分解。
Seasonal Profile · 周期画像按一天中的时段和周几分桶,对每个桶取衰减百分位。适合“工作日上午忙、周末安静”等有时钟规律的负载。
Peak Envelope · 峰值包络先计算滚动最大值包络,再用稳健斜率外推,关注高水位而非平均值。适合内存锯齿、缓存增长等形态。
Combination · 组合预测对多个成员的预测逐步取中位数,或按近期误差加权。组合本身也需要回测晋升,不默认优于单个成员。
Ridge AR · 岭回归自回归用滞后值、可选 UTC 日历特征与协变量拟合线性关系。适合稳定的线性依赖,作为低成本机器学习候选。
GBDT · 梯度提升树逐棵拟合残差,学习滞后、日历与协变量的非线性关系。可预测均值附近的点值,也可直接训练分位数目标。

配置前先确认这些约定

  • 步数不是分钟:周期步数 = 周期秒数 ÷ 采样步长秒数。5 分钟采样时,日周期为 288、周周期为 2016;预测步数也按同一步长换算。
  • 参数表是新配置的默认值,不会覆盖已经保存的参数。必填项没有默认值;未填写的可选项自动补默认值,未知参数和非法类型会被拒绝。
  • 算法参数与运行策略分开:历史天数、采样步长、预测周期在模块配置;算法页配置模型参数、预算与采用门槛。参数示例是 JSON 对象,不应直接贴进 config.yaml 顶层。
  • 最低历史是可运行门槛,不是准确率保证。直接多步、互斥 KNN、分位校准会增加历史或计算需求;历史不足时增加真实历史窗口,不用复制数据凑样本。
  • 分位配置不同:percentile=95 是历史第 95 百分位;quantile_level=0.9 是保形校准;GBDT 的 alpha 与模型服务的 service_quantile 各有独立语义。
  • 算法支持协变量不等于已知未来指标:只读取起点之前的数据,未来步沿用最后观测值。日历特征和 KNN 时刻筛选按 UTC,周期画像单独使用 utc_offset_minutes。

外部模型与后台微调

模型服务支持 finetune、unitshub_chronos 和 unitshub_timesfm 协议。先配置可达的服务地址;只有 finetune 支持后台微调。预测不等待微调完成:继续使用服务上已有的副本,没有副本时用预训练模型。回测与变更回放只评估预训练模型,微调副本的效果看在线预测的实测回填。 模型服务完整参数 →

平台级统一配置

在算法管理中维护启用状态、参数、权重、运行预算与采用门槛。启用预测并选择动态算法的模块会使用平台已启用的算法,无需逐个创建实例或手动绑定。

历史不足、参数不完整或运行超时的候选应显示明确原因。检查算法运行情况,避免仅凭排名或模型名称判断。

平台级运行设置

设置配置与作用
启用状态动态预测使用已启用的方法。固定算法模式仍运行模块指定的方法,不能用平台禁用状态代替模块的预测开关。
权重参与评分排名,默认 1;不是对预测值直接乘以这个倍数,也不是保证某算法一定被采用。
训练时间预算0 使用平台默认预算;正数按秒限制,最多 3600 秒。增加树数、直接多步或分位校准前检查预算。超时的候选按失败处理。
晋升门槛最少评估点数、相对误差改善、峰值容忍度共同约束候选。基线无需晋升;分位预测另看覆盖率和 pinball 损失。

这些是算法记录上的设置,不属于各页 JSON 参数对象。平台参数影响多个动态预测模块,保存前先通过回测或变更预览比较影响。

派生与公式算法

可以基于内置方法创建派生算法,或定义带参数的公式算法。保存前检查公式结果和输入要求。参数或实现变化影响版本与采用资格,应重新比较效果。

如何选择和采用

先确定预测视野与历史窗口,再比较资源误差、峰值低估、稳定性与耗时。多算法的可用预测可参与前瞻共识,算法排名不等于唯一的执行依据。

选择模块的预测方式

新建模块默认关闭“启用预测”:继续采集历史,推荐使用兜底默认值,不运行算法。需要模型预测时,再打开预测并选择模式。

预测模式怎样形成建议适合的场景
不预测使用固定默认配置,不运行算法,不作为异常降级。先积累数据,或明确按默认配置运行。
固定算法只运行指定算法,不按评分切换;非基线算法仍须通过回测晋升。使用已经选定的模型,保持预测方法明确。
动态算法运行平台已启用的算法,结合评分、近期误差和采用门槛形成建议;动态副本决策综合合格候选的投票。持续比较多种方法,适应负载规律变化。

固定算法可继续运行模块指定的方法,即使该算法在平台级被禁用;它不受模块最低综合分的筛选,但仍受版本晋升和资源安全约束。预测方式独立于观察、推荐、准入和自动模式,启用模型不会直接授权写入集群。

周期模型也要跟上近期变化

对适用的周期与长记忆算法,平台比较近期预测和实际值,在明显上涨时增加短期修正,并随时间衰减。下降默认不跟随修正,减少短暂回落带来的容量风险。组合预测还会加重低估误差的影响、排除表现明显较差的成员,让近期表现参与权重计算。

调整模型或短期修正参数后,应重新回测晋升。长期周期规律与短期修正都不能替代资源上下界和执行保护。