File size: 751 Bytes
45e60de |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 |
from typing import List
from gluonts.dataset.split import split
from gluonts.dataset.common import Dataset
from gluonts.model.forecast import Forecast
from gluonts.evaluation.backtest import _to_dataframe, Evaluator
def score_predictions(
dataset: Dataset,
predictions: List[Forecast],
prediction_length: int,
seasonality: int,
):
_, test_template = split(dataset, offset=-prediction_length)
test_data = test_template.generate_instances(prediction_length)
ts_iterator = map(_to_dataframe, test_data)
evaluator = Evaluator(
quantiles=[0.1, 0.2, 0.3, 0.4, 0.5, 0.6, 0.7, 0.8, 0.9], seasonality=seasonality
)
metrics, _ = evaluator(ts_iterator=ts_iterator, fcst_iterator=predictions)
return metrics
|