Перейти к основному содержимому

Оценка качества регрессионных прогнозов

В задаче регрессии строится прогноз y^(x)\hat{y}(\mathbf{x}) вещественной целевой переменной yy.

О качестве регрессионных прогнозов судят по ошибкам модели на объектах отдельной валидационной выборки.

εn=y^(xn)yn,n=1,2,...N.\varepsilon_n=\hat{y}(\mathbf{x}_n)-y_n,\quad n=1,2,...N.
Несмещённая оценка качества

Напомним, что оценивать качество работы модели необходимо на данных, которые модель увидела впервые (валидационной выборке), а не на тех данных, на которых настраивались параметры модели (обучающей выборке). Иначе мы получим слишком оптимистичные ошибки (лучше, чем на самом деле).

Если валидационная выборка использовалась для подбора гиперпараметров, то и в этом случае модель уже заглядывала в данные, и тогда её нужно оценивать на другой отдельной валидационной выборке, объекты которой модель увидит впервые.

Mean squared error (MSE)

Среднеквадратичная ошибка (mean squared error, MSE) используется как для настройки параметров модели, так и для оценки её качества на новых данных, и считается по формуле:

MSE=1Nn=1N(y^(xn)yn)2\text{MSE}=\frac{1}{N}\sum_{n=1}^N (\hat{y}(\mathbf{x}_n)-y_n)^2

Коэффициент детерминации

Коэффициент детерминации R2R^2 по сути определяется также среднеквадратичной ошибкой и вычисляется по формуле:

R2=11Nn=1N(y^(xn)yn)21Nn=1N(yny)2R^2 = 1 - \frac{\frac{1}{N}\sum_{n=1}^N (\hat{y}(\mathbf{x}_n)-y_n)^2}{\frac{1}{N}\sum_{n=1}^N (y_n-\overline{y})^2}

Он принимает значения от -\infty до 1, а чем он выше, тем прогноз в среднем лучше по сравнению с прогнозированием константой, в качестве которой берется средний отклик. Значение 1 соответствует идеально точным прогнозам, а значение 0 - прогнозам, по качеству неотличимым от прогнозирования средним значением.

Root mean squared error (RMSE)

Корень из среднеквадратичной ошибки (root mean squared error (RMSE)) вычисляется по формуле:

RMSE=MSE=1Nn=1N(y^(xn)yn)2\text{RMSE}=\sqrt{\text{MSE}}=\sqrt{\frac{1}{N}\sum_{n=1}^N (\hat{y}(\mathbf{x}_n)-y_n)^2}

и её рекомендуется использовать вместо MSE, поскольку она будет измерять ошибку в той же размерности, в которой строится прогноз. Например, если предсказывается сколько клиент потратит на сервис в рублях, то RMSE будет измерять погрешность также в рублях, в то время как MSE будет измерять погрешность в рублях в квадрате (руб2) и будет несравнимым напрямую со значением прогноза.

Mean absolute error (MAE)

Средний модуль ошибки (mean absolute error, MAE) вычисляется по формуле:

MAE=1Nn=1Ny^(xn)yn\text{MAE} = \frac{1}{N}\sum_{n=1}^N \vert \hat{y}(\mathbf{x}_n)-y_n \vert

MAE также измеряется в той же размерности, что и прогнозируемая величина. По сравнению с RMSE, MAE обладает преимуществом, что её значение меньше подвержено влиянию выбросов (outliers), т.е. нетипичных объектов, на которых мы получили очень большую ошибку прогноза.

MSE и RMSE будет учитывать не саму величину ошибки, а её квадрат, что приведёт к завышенному влиянию на них наблюдений-выбросов.

Доля плохо предсказанных объектов

Чтобы сосредоточить внимание на плохо спрогнозированных объектах, можно вычислять долю объектов, на которых ошибка оказалась выше определённого порога hh:

BadFreq=1Nn=1NI{y^(xn)yn>h}\text{BadFreq} = \frac{1}{N}\sum_{n=1}^N \mathbb{I} \{ \vert \hat{y}(\mathbf{x}_n)-y_n \vert > h \}

Эта мера полезна для контроля доли ситуаций, в которых модель дала совсем неудовлетворительный прогноз.

Средняя относительная ошибка

Часто важно не абсолютное значение ошибки, а относительное. Например, при прогнозировании спроса на редко покупаемые товары, такие как автомобили, ошибка на 1,2,3 может оказаться существенной. Но эта же величина ошибки будет несущественной, если речь идёт о часто покупаемых товарах, таких как молоко и хлеб, поскольку оцениваемая величина для магазина измеряется в тысячах. Для этого усредняют не абсолютные, а относительные значения ошибки, как показано ниже.

Макроусреднённая относительная ошибка

MAPE (mean absolute percentage error) вычисляет макроусреднённую (macro averaging) относительную ошибку по формуле:

MAPE=1Nn=1Ny^(xn)ynyn\text{MAPE} = \frac{1}{N}\sum_{n=1}^N \frac{ \vert \hat{y}(\mathbf{x}_n)-y_n \vert } {|y_n|}

Если в качестве откликов возможны нулевые значения yny_n, то, чтобы не делить на ноль, можно штрафовать прогнозы нуля большой, но фиксированной константой, либо нормировать в этих случаях на небольшую положительную константу a0.1a \sim 0.1:

MAPE’=1Nn=1Ny^(xn)ynmax{yn,a}\text{MAPE'} = \frac{1}{N}\sum_{n=1}^N \frac{ \vert \hat{y}(\mathbf{x}_n)-y_n \vert } {\max\{|y_n|,a\}}

Микроусреднённая относительная ошибка

Мера WAPE (weighted average percentage error) вычисляется как микроусреднение относительных ошибок (micro averaging) по формуле:

WAPE=1Nn=1Ny^(xn)ynn=1Nyn\text{WAPE} = \frac{1}{N} \frac{\sum_{n=1}^N \vert \hat{y}(\mathbf{x}_n)-y_n \vert } {\sum_{n=1}^N|y_n|}

Такая мера ошибки полезна при прогнозировании спроса на товары, которые покупались редко (когда часто yn=0y_n=0).