Purpose and workload fit
Combines member forecasts using a stepwise median or recent-error weights. The combination must earn backtest promotion like other candidates.
History and runtime requirements
At least one member must have enough history; unavailable members are omitted. Error weighting adds historical forecast windows, so requirements grow with members and horizon.
Inputs must be regularly sampled, gap-free, and finite. Outputs retain the metric unit, such as CPU cores, memory bytes, or requests per second. The sample interval determines the duration of a step. Minimum history permits execution; it does not establish forecast quality.
This method does not use covariates; target metrics are forecast separately.
Parameter reference
On narrow screens, swipe the parameter table horizontally to read all columns.
| Parameter / type | Default / range / unit | Meaning and use |
|---|---|---|
membersstring | "ewma,holt_winters,theta" No additional range | Comma-separated 2–6 member IDs, built with their own defaults. Required-parameter methods and combination itself cannot be members. |
modestring | "inverse_error" inverse_error / median | inverse_error weights by recent errors; median takes the median forecast at each step. |
error_windowsint | 4 ≥ 1; ≤ 20 | Historical forecast windows for member error estimates; used by inverse_error. |
under_weightfloat | 2 ≥ 1; ≤ 5 | Multiplier on underestimation errors when computing combination weights. |
sharpnessfloat | 2 ≥ 1; ≤ 6 | Exponent of inverse-error weights; larger values concentrate weight on the best members. |
recent_stepsint | 3 ≥ 0; ≤ 20 | Recent observations included in member error estimates. |
trim_ratiofloat | 3 ≥ 0; ≤ 20 | Exclude members whose error exceeds this multiple of the best member error. |
Configuration example
Edit parameters in Algorithm management. This is a parameter object, not a complete config.yaml. Seasonal examples assume five-minute sampling; adjust for your actual interval. Omitted optional values use the defaults above.
{
"members": "ewma,holt_winters,theta",
"mode": "inverse_error",
"error_windows": 4,
"under_weight": 2,
"sharpness": 2,
"recent_steps": 3,
"trim_ratio": 3
}Tuning and tradeoffs
members contains 2–6 comma-separated IDs that can be built with defaults, excluding combination. Members do not inherit saved settings from model management. Higher under_weight penalizes underestimation; higher sharpness concentrates weight on stronger members.
Shared parameters: shifts and quantiles
| Parameter / type | Default / range / unit | Meaning and use |
|---|---|---|
reset_on_changebool | false No additional range | Use history after a detected level shift, preserving enough points for the underlying method. |
change_thresholdfloat | 8 ≥ 3; ≤ 50 | Minimum shift relative to robust noise; used only with reset_on_change. |
change_min_shiftfloat | 0.2 ≥ 0; ≤ 5 | Minimum relative level shift; 0.2 means 20%. Used only with reset_on_change. |
quantile_levelfloat | 0 ≥ 0; ≤ 0.99 | Zero disables conformal calibration; otherwise must be above 0.5 and at most 0.99. Calibrates an upper forecast using earlier forecast errors. |
calibration_windowsint | 8 ≥ 3; ≤ 50 | Historical windows for conformal calibration; more windows add forecast calls and history requirements. |
quantile_level uses a 0–1 scale; percentile uses 1–100. Calibration runs extra historical forecasts. Check history and runtime budgets before increasing windows; coverage is an evaluation target, not a guarantee.
Use in a module
- Save parameters and check history, sample interval, and horizon.
- Enable module prediction. Fixed mode runs the selected method; dynamic mode uses centrally enabled methods.
- Run rolling backtests and earn version promotion before adoption. Re-run backtests after changes affecting model identity.
- Review error, peak underestimation, runtime, and adoption reasons in Observe or Recommend before separately authorizing admission and replica actions.
For insufficient history, invalid settings, timeouts, or invalid output, inspect run reasons. Without eligible forecasts, the module follows its schedules, fallback, and protection rules.