Skip to content

check_coverage_rates_parameter

yohou.testing.interval.check_coverage_rates_parameter(forecaster)

Check coverage_rates is list of floats in [0, 1].

Parameters

Name Type Description Default
forecaster BaseIntervalForecaster

Interval forecaster instance

required

Raises

Type Description
AssertionError

If coverage_rates is invalid

Source Code

Show/Hide source
def check_coverage_rates_parameter(forecaster) -> None:
    """Check coverage_rates is list of floats in [0, 1].

    Parameters
    ----------
    forecaster : BaseIntervalForecaster
        Interval forecaster instance

    Raises
    ------
    AssertionError
        If coverage_rates is invalid

    """
    coverage_rates = forecaster.fit_coverage_rates_

    assert isinstance(coverage_rates, list), f"coverage_rates should be list, got {type(coverage_rates)}"

    assert len(coverage_rates) > 0, "coverage_rates should not be empty"

    for rate in coverage_rates:
        assert isinstance(rate, int | float), f"Each coverage rate should be numeric, got {type(rate)} for {rate}"
        assert 0 <= rate <= 1, f"Coverage rates should be in [0, 1], got {rate}"