gluonts.ev package#

class gluonts.ev.Aggregation(axis: Union[int, NoneType] = None)[source]#

Bases: object

axis: Optional[int] = None#
get() numpy.ndarray[source]#
step(values: numpy.ndarray) None[source]#
class gluonts.ev.Coverage(q: float)[source]#

Bases: object

q: float#
class gluonts.ev.DerivedEvaluator(name: str, evaluators: Dict[str, gluonts.ev.evaluator.Evaluator], post_process: Callable)[source]#

Bases: gluonts.ev.evaluator.Evaluator

An Evaluator for metrics that are derived from other metrics.

A derived metric updates multiple, simpler metrics independently and in the end combines their results as defined in post_process.

evaluators: Dict[str, gluonts.ev.evaluator.Evaluator]#
get() numpy.ndarray[source]#
post_process: Callable#
update(data: ChainMap[str, numpy.ndarray]) None[source]#
class gluonts.ev.DirectEvaluator(name: str, stat: Callable, aggregate: gluonts.ev.aggregations.Aggregation)[source]#

Bases: gluonts.ev.evaluator.Evaluator

An Evaluator which uses a single function and aggregation strategy.

aggregate: gluonts.ev.aggregations.Aggregation#
get() numpy.ndarray[source]#
stat: Callable#
update(data: ChainMap[str, numpy.ndarray]) None[source]#
class gluonts.ev.Evaluator(name: str)[source]#

Bases: object

get() numpy.ndarray[source]#
name: str#
update(data: ChainMap[str, numpy.ndarray]) None[source]#
class gluonts.ev.MAECoverage(quantile_levels: Collection[float])[source]#

Bases: object

static mean(quantile_levels: Collection[float], **coverages: numpy.ndarray) numpy.ndarray[source]#
quantile_levels: Collection[float]#
class gluonts.ev.MAPE(forecast_type: str = '0.5')[source]#

Bases: object

Mean Absolute Percentage Error

forecast_type: str = '0.5'#
class gluonts.ev.MASE(forecast_type: str = '0.5')[source]#

Bases: object

Mean Absolute Scaled Error

forecast_type: str = '0.5'#
class gluonts.ev.MSE(forecast_type: str = 'mean')[source]#

Bases: object

Mean Squared Error

forecast_type: str = 'mean'#
class gluonts.ev.MSIS(alpha: float = 0.05)[source]#

Bases: object

Mean Scaled Interval Score

alpha: float = 0.05#
class gluonts.ev.Mean(axis: Optional[int] = None, partial_result: Optional[Union[List[numpy.ndarray], numpy.ndarray]] = None, n: Optional[Union[int, numpy.ndarray]] = None)[source]#

Bases: gluonts.ev.aggregations.Aggregation

Map-reduce way of calculating the mean of a stream of values.

partial_result represents one of two things, depending on the axis: Case 1 - axis 0 is aggregated (axis is None or 0):

First sum values according to axis and keep track of number of entries summed over (n) to divide by in the end.

Case 2 - axis 0 is not being aggregated:

In this case, partial_result is a list of means that in the end gets concatenated to a np.ndarray. As this directly calculates the mean, n is not used.

get() numpy.ndarray[source]#
n: Optional[Union[int, numpy.ndarray]] = None#
partial_result: Optional[Union[List[numpy.ndarray], numpy.ndarray]] = None#
step(values: numpy.ndarray) None[source]#
class gluonts.ev.MeanSumQuantileLoss(quantile_levels: Collection[float])[source]#

Bases: object

static mean(**quantile_losses: numpy.ndarray) numpy.ndarray[source]#
quantile_levels: Collection[float]#
class gluonts.ev.MeanWeightedSumQuantileLoss(quantile_levels: Collection[float])[source]#

Bases: object

static mean(**quantile_losses: numpy.ndarray) numpy.ndarray[source]#
quantile_levels: Collection[float]#
class gluonts.ev.Metric(*args, **kwds)[source]#

Bases: typing_extensions.Protocol

class gluonts.ev.ND(forecast_type: str = '0.5')[source]#

Bases: object

Normalized Deviation

forecast_type: str = '0.5'#
static normalized_deviation(sum_absolute_error: numpy.ndarray, sum_absolute_label: numpy.ndarray) numpy.ndarray[source]#
class gluonts.ev.NRMSE(forecast_type: str = 'mean')[source]#

Bases: object

RMSE, normalized by the mean absolute label

forecast_type: str = 'mean'#
static normalize_root_mean_squared_error(root_mean_squared_error: numpy.ndarray, mean_absolute_label: numpy.ndarray) numpy.ndarray[source]#
class gluonts.ev.OWA(forecast_type: str = '0.5')[source]#

Bases: object

Overall Weighted Average

static calculate_OWA(smape: numpy.ndarray, smape_naive2: numpy.ndarray, mase: numpy.ndarray, mase_naive2: numpy.ndarray) numpy.ndarray[source]#
forecast_type: str = '0.5'#
class gluonts.ev.RMSE(forecast_type: str = 'mean')[source]#

Bases: object

Root Mean Squared Error

forecast_type: str = 'mean'#
static root_mean_squared_error(mean_squared_error: numpy.ndarray) numpy.ndarray[source]#
class gluonts.ev.SMAPE(forecast_type: str = '0.5')[source]#

Bases: object

Symmetric Mean Absolute Percentage Error

forecast_type: str = '0.5'#
class gluonts.ev.Sum(axis: Optional[int] = None, partial_result: Optional[Union[List[numpy.ndarray], numpy.ndarray]] = None)[source]#

Bases: gluonts.ev.aggregations.Aggregation

Map-reduce way of calculating the sum of a stream of values.

partial_result represents one of two things, depending on the axis: Case 1 - axis 0 is aggregated (axis is None or 0):

In each step, sum is being calculated and added to partial_result.

Case 2 - axis 0 is not being aggregated:

In this case, partial_result is a list that in the end gets concatenated to a np.ndarray.

get() numpy.ndarray[source]#
partial_result: Optional[Union[List[numpy.ndarray], numpy.ndarray]] = None#
step(values: numpy.ndarray) None[source]#
class gluonts.ev.SumAbsoluteError(forecast_type: str = '0.5')[source]#

Bases: object

forecast_type: str = '0.5'#
class gluonts.ev.SumQuantileLoss(q: float)[source]#

Bases: object

q: float#
class gluonts.ev.WeightedSumQuantileLoss(q: float)[source]#

Bases: object

q: float#
static weight_sum_quantile_loss(sum_quantile_loss: numpy.ndarray, sum_absolute_label: numpy.ndarray) numpy.ndarray[source]#
gluonts.ev.absolute_error(data: Dict[str, numpy.ndarray], forecast_type: str) numpy.ndarray[source]#
gluonts.ev.absolute_label(data: Dict[str, numpy.ndarray]) numpy.ndarray[source]#
gluonts.ev.absolute_percentage_error(data: Dict[str, numpy.ndarray], forecast_type: str) numpy.ndarray[source]#
gluonts.ev.absolute_scaled_error(data: Dict[str, numpy.ndarray], forecast_type: str) numpy.ndarray[source]#
gluonts.ev.coverage(data: Dict[str, numpy.ndarray], q: float) numpy.ndarray[source]#
gluonts.ev.error(data: Dict[str, numpy.ndarray], forecast_type: str) numpy.ndarray[source]#
gluonts.ev.mean_absolute_label(axis: Optional[int] = None) gluonts.ev.evaluator.DirectEvaluator[source]#
gluonts.ev.quantile_loss(data: Dict[str, numpy.ndarray], q: float) numpy.ndarray[source]#
gluonts.ev.scaled_interval_score(data: Dict[str, numpy.ndarray], alpha: float) numpy.ndarray[source]#
gluonts.ev.seasonal_error(time_series: numpy.ndarray, seasonality: int, time_axis=0) numpy.ndarray[source]#

The mean abs. difference of a time series, shifted by its seasonality.

Some metrics use the seasonal error for normalization.

gluonts.ev.squared_error(data: Dict[str, numpy.ndarray], forecast_type: str) numpy.ndarray[source]#
gluonts.ev.sum_absolute_label(axis: Optional[int] = None) gluonts.ev.evaluator.DirectEvaluator[source]#
gluonts.ev.symmetric_absolute_percentage_error(data: Dict[str, numpy.ndarray], forecast_type: str) numpy.ndarray[source]#