Skip to main content
NeuralForecastAdapter wraps a trained NeuralForecast object. Two things about it differ from the other adapters, and both come from how neuralforecast models are configured.

The horizon comes from the model

NeuralForecastAdapter takes no horizon argument. A neuralforecast model is built with its own h, and the adapter reads it. Copy the constructor call from the StatsForecast page, add horizon=, and you get a TypeError. If the NeuralForecast holds several models they must all agree on h.
scaler_type matters as much as it does for a boosted model These eight series span three orders of magnitude. scaler_type="standard" normalises per series inside the model; without it, the network fits the largest series and ignores the rest — the same failure the MLForecast page documents for unscaled trees.

Quantile capability depends on the loss

This is the package’s clearest example of a capability that is a property of the instance, not the class. A neuralforecast model trained with a point loss cannot produce quantiles; the same class trained with MQLoss can. So NeuralForecastAdapter overrides supports() to inspect the loss.
Train the same architecture with a quantile loss and the answer changes. MQLoss needs the quantile levels it will be asked for — alpha=0.1 means the pair (0.05, 0.95).
The check is the first thing calibrate_cv does, so the failure above cost nothing — no cross-validation ran. That is the rule the package holds to everywhere: capability errors surface where the forecaster is bound, never inside predict.

Measured coverage

Both land under the 90% target, at 85.6% and 86.3%, on three days the models were not trained through. Two causes are mixed together: the models are deliberately undertrained, for the reason in the note below, and 20 calibration windows is a thin sample from which to take a 90% quantile for each of 24 horizon steps. The MQLoss model with CQR beats the point model with split conformal on all three numbers — better coverage, narrower, lower Winkler. That is the shape CQR has when a model’s own quantiles carry real information about where its errors fall, and it is worth contrasting with the StatsForecast page, where CQR loses for exactly the opposite reason.
max_steps=100 is a documentation setting Both models here train for 100 steps so this page builds in seconds. That is far short of convergence, and the intervals are correspondingly wide — conformal prediction is honest about an undertrained model rather than hiding it. Raise max_steps for anything real; the calibration code is unchanged.

Next

  • StatsForecast — per-series statistical models.
  • MLForecast — a global gradient-boosted model.
  • CQR — what the MQLoss path above feeds.
  • Adapters — the capability matrix in full.