Преимущества, недостатки и основные подводные камни
Итак, вы обучили модель, что теперь? Или вы обучили несколько моделей; как решить, какой из них лучше? Хорошо, давай спросим у Google. Хм, Google предлагает множество показателей, которые можно использовать для оценки вашей модели (моделей). Но теперь это становится мета-проблемой: какую метрику следует использовать, чтобы определить, какую модель использовать? Итак, вот список некоторых распространенных показателей с указанием их преимуществ, недостатков и нюансов для начала:
- Средняя абсолютная погрешность (MAE)
- Среднеквадратичная ошибка (MSE)
- Среднеквадратичная ошибка (RMSE)
- Нормализованная среднеквадратичная ошибка (NRMSE)
- Среднеквадратичная ошибка журнала (RMSLE)
- Средняя абсолютная процентная погрешность (MAPE)
Для следующих разделов y - истинное значение, y-hat - прогнозируемое значение, n - количество тестовых экземпляров, а i изменяется от 1 до n. Кроме того, все метрики оцениваются на невидимом тестовом наборе.
Средняя абсолютная ошибка
Средняя абсолютная ошибка - очень интуитивный и поэтому популярный показатель. Это просто среднее расстояние между предсказанными и истинными значениями. Чтобы избежать взаимоисключающих ошибок, мы берем абсолютное значение для каждой вычисляемой ошибки. Лучшей моделью обычно является модель с самым низким значением MAE. Однако есть несколько особенностей, которые следует учитывать при выборе MAE в качестве метрики.
Несмотря на простоту интерпретации, MAE имеет несколько недостатков. Например, он не сообщает вам, имеет ли ваша модель тенденцию к завышению или занижению оценки, поскольку любая информация о направлении уничтожается при взятии абсолютного значения. Кроме того, показатель может быть нечувствительным к большим выбросам. Взгляните на пример ниже.
Слева модель немного не там и там. Однако справа модель пропускает отметки в хвостовой части с гораздо большим отрывом, будучи идеальной в начале и в середине. Тем не менее, MAE для обоих одинаковы. Если вы решили использовать эту метрику, неплохо было бы построить график ошибок, чтобы увидеть любые выбросы, такие как случай 2. В общем, если вы хотите метрику, которая штрафует большие ошибки, вам повезет больше в другом месте.
Среднеквадратичная ошибка
Это подводит меня к среднеквадратическим ошибкам. Как и MAE, мы уничтожаем информацию о направлении, когда исправляем каждую вычисленную ошибку. MSE также всегда больше или равно 0. Однако теперь мы можем различать две модели, указанные выше.
Интересно, что MSE связана с печально известным компромиссом смещения и дисперсии. Можно показать, что ожидаемая тестовая MSE для данной тестовой точки может быть записана как [1]:
где нижний индекс 0 - это индекс точки тестовых данных, а ϵ - это неснижаемый шум или шум в данных.
Дисперсия - это величина, на которую изменяется y-шляпа, когда мы меняем обучающий набор. Обычно более гибкие методы имеют более высокую степень вариативности. Дисперсия также зависит от того, сколько данных у нас есть. Чем больше набор обучающих данных, тем меньше дисперсия. Следовательно, мы можем интерпретировать MSE для данной точки тестовых данных с точки зрения смещения модели и случайного шума в пределах огромных данных.
Смещение возникает, когда мы пытаемся оценить сложные отношения между предикторами и целями с помощью чего-то более простого. Например, мы часто предполагаем, что x и y имеют линейные или полиномиальные отношения, потому что мы знаем форму этих уравнений, что сводит проблему к нескольким параметрам, которые мы можем оценить. На самом деле, у x и y может не быть такой связи.
Наконец, одним из основных недостатков MSE является то, что единицы y возведены в квадрат, что означает, что конечные результаты легко интерпретировать неверно.
Среднеквадратичная ошибка Рура
Как насчет того, чтобы извлечь квадратный корень? RMSE и MSE очень похожи, за исключением того, что RMSE более удобен, потому что он имеет ту же единицу, что и любой y.
Тем не менее, пробовали ли вы когда-нибудь изменить свои цели, чтобы посмотреть, подходите ли вы лучше? Как, например, взять журнал y. Затем вы вычисляете RMSE обоих подходов и видите, что один выше другого. Это несправедливое сравнение, потому что два значения имеют разные единицы измерения. Способ обойти это - разделить на некоторое свойство y, чтобы получить безразмерную метрику, называемую нормализованной среднеквадратичной ошибкой.
Нормализованная среднеквадратическая ошибка
У меня нет здесь уравнений, потому что есть много вещей, на которые можно разделить среднеквадратичное значение. Некоторые распространенные варианты - это среднее значение y, разница между максимальным и минимальным значением y, стандартное отклонение и межквартильный диапазон. Когда выбирать тонкий бизнес, и [2] может предоставить более подробное объяснение, если вам интересно.
Среднеквадратичная ошибка журнала
Я думаю, что эта метрика была введена Kaggle несколько лет назад [3]. Этот показатель следует использовать, если вы хотите указать, как наказываются ошибки. В этом случае мы говорим метрике, чтобы она наказывала недооценку больше, чем переоценку. Например, предположим, что y = 1. Если наша модель дает y-hat = 0, то ошибка составляет [log (1/2)] ² = 0,09. Однако, если модель дает y-hat = 2, тогда ошибка составляет [log (3/2)] ² = 0,03. Если бы мы использовали MSE, то наша ошибка была бы 1 в любом случае.
Также метрика принимает относительную шкалу истинных и прогнозируемых значений. Например, если y = 9 и y-hat = 99, тогда ошибка равна 1. Если, с другой стороны, y = 99 и y-hat = 999, то ошибка все равно 1. Таким образом, эта метрика удобна. когда диапазон ваших целевых значений велик, и вы не хотите штрафовать за большие ошибки, когда и предсказанные, и истинные значения велики.
Однако мне не удалось найти обсуждение некоторых подводных камней, о которых следует помнить здесь. Если вы посмотрите на график log (x), вы увидите, что x не может быть меньше или равным 0. Это означает, что аргумент внутри нашего логарифма (y-hat + 1 / y + 1) не может быть равен до или меньше 0. Затем добавляется ограничение, что y не может быть -1. В противном случае все это взорвется.
Средняя абсолютная ошибка в процентах
MAPE выглядит как двоюродный брат MAE с дополнительным преимуществом, заключающимся в том, что он не имеет единиц измерения. Однако введение разделения также имеет ряд серьезных недостатков. Например, при очень маленьком y_i или y_i = 0 MAPE может взорваться или вообще не быть вычислимым. Он также наследует проблему от MAE, а именно: нет ли верхней границы того, насколько большой может быть каждая ошибка (даже если в названии написано «процент»).
Заворачивать
Надеюсь, вам понравился список и вы узнали что-то новое. Что дальше, это только мое мнение. Я часто вижу упоминание об «интерпретируемости», когда читаю об этих показателях. Я не совсем уверен, что означает «интерпретируемость» и есть ли вообще консенсус по этому поводу. Мои объяснения и то, как я понимаю эти показатели, часто основаны на их поведении в определенных ситуациях. В целом, насколько мы должны подчеркивать «интерпретируемость» метрики, когда есть другие метрики, которые ведут себя больше так, как мы хотим, но их труднее интерпретировать?
Оставайся на связи
Мне нравится писать о науке о данных и науке. Если вам нравится этот пост, подпишитесь на меня в Medium, присоединитесь к моему списку рассылки или станьте членом Medium (я буду получать ~ 50% от ваших членских взносов, если вы воспользуетесь этой ссылкой), если вы не т уже. Увидимся в следующем посте! 😄
Источники
[1] Гарет Джеймс, Даниэла Виттен, Тревор Хасти, Роберт Тибширани. Введение в статистическое обучение: с приложениями в R (2013)
[2] Отто, С.А. (7 января 2019 г.). Как нормализовать RMSE [сообщение в блоге]. Https://www.marinedatascience.co/blog/2019/01/07/normalizing-the-rmse/
[3] https://www.kaggle.com/carlolepelaars/understanding-the-metric-rmsle
[4] https://en.wikipedia.org/wiki/Mean_absolute_percentage_error