Skip to content

check_X_actual_required

yohou.utils.validation.check_X_actual_required(X_actual, observation_horizon, context)

Validate X_actual is provided when required for recursive prediction.

Consolidates duplicated validation in point and interval forecasters.

Parameters

Name Type Description Default
X_actual DataFrame or None

Actual exogenous features (X_actual).

required
observation_horizon int required
context str

Context for error message (e.g., "predict", "predict_interval").

required

Raises

Type Description
ValueError

If X_actual is None but observation_horizon > 0 (recursive prediction needs X_actual).

See Also

Source Code

Show/Hide source
def check_X_actual_required(
    X_actual: pl.DataFrame | None,
    observation_horizon: int,
    context: str,
) -> None:
    """Validate X_actual is provided when required for recursive prediction.

    Consolidates duplicated validation in point and interval forecasters.

    Parameters
    ----------
    X_actual : pl.DataFrame or None
        Actual exogenous features (``X_actual``).
    observation_horizon : int
        Observation horizon value.
    context : str
        Context for error message (e.g., "predict", "predict_interval").

    Raises
    ------
    ValueError
        If X_actual is None but observation_horizon > 0 (recursive prediction needs
        X_actual).

    See Also
    --------
    - [`check_forecasting_horizon_positive`][yohou.utils.validation.check_forecasting_horizon_positive] : Validate forecasting horizon is positive.
    - [`check_sufficient_rows`][yohou.utils.validation.check_sufficient_rows] : Validate DataFrame has enough rows for an operation.

    """
    if observation_horizon > 0 and X_actual is None:
        raise ValueError(
            f"For recursive predictions with observation_horizon > 0, "
            f"X_actual must be provided for {context}. "
            f"Got observation_horizon={observation_horizon} but X_actual=None."
        )