Back to models
Metric

MeanSquaredErrorPercentage

Mean Squared Error Percentage (MSE%) and root-MSE% forecasting error metrics.

Calculates the mean squared error percentage between the true and predicted values. Optionally, the root mean squared error percentage (RMSE%) can be computed by setting square_root=True.

The Mean Squared Error Percentage (MSE%) is calculated as:

\[\begin{split}\\text{MSE%} = \\frac{ \\frac{1}{n} \\sum_{i=1}^{n} (y_i - \\hat{y}_i)^2 } { \left| \\sum_{i=1}^{n} \\frac{y_i}{n} \right| }\end{split}\]

where: - \(y_i \) are the true values, - \(\hat{y}_i \) are the predicted values, - \(n \) is the number of observations.

If square_root is set to True, the Root Mean Squared Error Percentage (RMSE%) is computed:

\[\begin{split}\\text{RMSE%} = \\sqrt{ \\text{MSE%} }\end{split}\]

Quickstart

python
from sktime.performance_metrics.forecasting import MeanSquaredErrorPercentage

estimator = MeanSquaredErrorPercentage(multioutput='uniform_average', multilevel='uniform_average', square_root=False, by_index=False)

Parameters(4)

square_rootbool, default = False
Whether to take the square root of the metric
multioutput‘uniform_average’ (default), 1D array-like, or ‘raw_values’

Whether and how to aggregate metric for multivariate (multioutput) data.

  • If 'uniform_average' (default), errors of all outputs are averaged with uniform weight.

  • If 1D array-like, errors are averaged across variables, with values used as averaging weights (same order).

  • If 'raw_values', does not average across variables (outputs), per-variable errors are returned.

multilevel{‘raw_values’, ‘uniform_average’, ‘uniform_average_time’}

How to aggregate the metric for hierarchical data (with levels).

  • If 'uniform_average' (default), errors are mean-averaged across levels.

  • If 'uniform_average_time', metric is applied to all data, ignoring level index.

  • If 'raw_values', does not average errors across levels, hierarchy is retained.

by_indexbool, default=False

Controls averaging over time points in direct call to metric object.

  • If False (default), direct call to the metric object averages over time points, equivalent to a call of the evaluate method.

  • If True, direct call to the metric object evaluates the metric at each time point, equivalent to a call of the evaluate_by_index method.