Purpose and workload fit
Fits and averages regression trees on sampled historical features, supporting nonlinear relationships and covariates. More costly than simple statistical methods.
History and runtime requirements
At least lags + 4×min_samples_leaf + 1 observations; the training window must retain enough samples.
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.
Supports covariates on the same sample grid, using only observations before the forecast origin. Future covariates carry the last observed value; future business demand is not assumed known.
Parameter reference
On narrow screens, swipe the parameter table horizontally to read all columns.
| Parameter / type | Default / range / unit | Meaning and use |
|---|---|---|
lagsint | Required; no default ≥ 1; ≤ 2000; steps | Number of preceding target observations used as features. |
calendar_featuresbool | false No additional range | Include UTC daily and weekly sine/cosine features. |
n_estimatorsint | 50 ≥ 1; ≤ 500 | Number of trees; more trees increase fitting cost. |
max_depthint | 6 ≥ 1; ≤ 12 | Maximum tree depth; deeper trees can overfit. |
min_samples_leafint | 5 ≥ 1 | Minimum observations per leaf. |
feature_ratiofloat | 0.6 ≥ 0.05; ≤ 1 | Fraction of features selected for each tree. |
sample_ratiofloat | 0.8 ≥ 0.05; ≤ 1 | Training sample fraction for bootstrap sampling. |
training_window_stepsint | 0 ≥ 0; steps | Use only this many recent observations for training; zero uses all available history. |
covariate_lagsint | 3 ≥ 1; ≤ 48; steps | Lag count per covariate. Future steps carry forward the last observed covariate; ignored without covariates. |
seedint | 42 ≥ 0; ≤ 1000000 | Random seed for reproducible forest fitting. |
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.
{
"lags": 24,
"n_estimators": 50,
"max_depth": 6,
"min_samples_leaf": 5,
"training_window_steps": 2000,
"seed": 42
}Tuning and tradeoffs
Start with bounded tree count, depth, and training window. More trees cost more; deeper trees can fit noise. Keep the seed fixed for reproducible comparisons against Ridge AR and baselines.
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.