Определение значимости разницы между двумя значениями ошибок - PullRequest
6 голосов
/ 30 января 2010

Я оцениваю ряд различных алгоритмов, работа которых заключается в прогнозировании вероятности наступления события.

Я тестирую алгоритмы на наборах данных большого размера. Я измеряю их эффективность с помощью «Среднеквадратической ошибки», которая является квадратным корнем из ((сумма ошибок) в квадрате). Ошибка - это разница между прогнозируемой вероятностью (значение с плавающей запятой между 0 и 1) и фактическим результатом (либо 0,0, либо 1,0).

Итак, я знаю RMSE, а также количество выборок, на которых был протестирован алгоритм.

Проблема в том, что иногда значения RMSE довольно близки друг к другу, и мне нужен способ определить, является ли различие между ними случайным или представляет реальную разницу в производительности.

В идеале, для данной пары значений RMSE я хотел бы знать, какова вероятность того, что одно действительно лучше другого, так что я могу использовать эту вероятность в качестве порога значимости.

Ответы [ 3 ]

9 голосов
/ 31 января 2010

MSE - среднее значение, и, следовательно, применима центральная предельная теорема. Таким образом, проверка, являются ли два MSE одинаковыми, аналогична проверке, равны ли два средних. Трудность по сравнению со стандартным тестом, сравнивающим два способа, заключается в том, что ваши выборки коррелированы - оба происходят из одних и тех же событий. Но разница в MSE равна среднему значению разностных квадратов ошибок (средние значения линейны). Это предполагает вычисление t-критерия для одной выборки следующим образом:

  1. Для каждого x вычислить ошибку e для процедур 1 и 2.
  2. Вычислить разницу квадратов ошибок (e2^2-e1^2).
  3. Рассчитать среднее из различий.
  4. Рассчитать стандартное отклонение разностей.
  5. Рассчитать t-статистику как mean/(sd/sqrt(n)).
  6. Сравните вашу t-статистику с критическим значением или вычислите p-значение. Например, отклонить равенство на уровне 5%, если |t|>1.96.

RMSE является монотонной трансформацией MSE, поэтому этот тест не должен давать существенно других результатов. Но будьте осторожны, чтобы не предполагать, что MRSE является RMSE.

Большей проблемой должно быть переоснащение. Обязательно рассчитайте всю статистику MSE, используя данные, которые вы не использовали для оценки вашей модели.

4 голосов
/ 31 января 2010

Вы вступаете в обширную и спорную область не только вычислений, но и философии. Тесты значимости и выбор модели являются предметом серьезных разногласий между байесовцами и частыми лицами. Комментарий Тристона о разделении набора данных на наборы обучения и проверки не понравился бы байесовскому.

Могу ли я предположить, что RMSE не является подходящим показателем для вероятностей. Если выборки независимы, правильная оценка составляет сумма логарифмов вероятностей, присвоенных фактическим результатам . (Если они не независимы, у вас в руках беспорядок.) Я описываю оценку «подключаемой» модели. Правильное байесовское моделирование требует интегрирования по параметрам модели, что в вычислительном отношении чрезвычайно сложно. Байесовский способ регулирования модели подключаемого модуля заключается в добавлении штрафа к баллу за маловероятные (большие) параметры модели. Это называется «снижение веса».

Я начал свой путь открытия, читая Нейронные сети для распознавания образов Кристофера Бишопа. Я использовал его и Practical Optimization от Gill, и др. для написания программного обеспечения, которое мне очень помогло.

0 голосов
/ 01 февраля 2010

Я отвечаю здесь на вопросы в комментариях. Слишком большая тема для комментариев.

Версия Cliff Notes.

Типы оценок, которые мы говорим о вероятности измерения. (Подходит ли это для того, что вы делаете, это другой вопрос.) Если вы предполагаете, что выборки независимы, вы получаете «общую» вероятность, просто умножая все вероятности вместе. Но это обычно приводит к абсурдно малым числам, поэтому эквивалентно вы добавляете логарифмы вероятностей. Чем больше, тем лучше. Ноль идеален.

Вездесущая квадратичная ошибка, -x ^ 2, где x - ошибка модели, происходит из (часто неоправданного) предположения о том, что обучающие данные содержат наблюдения (измерения), искаженные «гауссовским шумом». Если вы посмотрите в Википедии или где-то еще определение гауссовского (нормального) распределения, вы обнаружите, что оно содержит термин e ^ (- x ^ 2). Возьмите натуральный логарифм этого и вуаля! -X ^ 2. Но ваши модели не выдают наиболее вероятные значения «до шума» для измерений. Они производят вероятности напрямую. Поэтому нужно просто добавить логарифмы вероятностей, присвоенных наблюдаемым событиям. Эти наблюдения предполагаются бесшумными. Если данные обучения говорят о том, что это произошло, это произошло.

Ваш оригинальный вопрос остается без ответа. Как определить, отличаются ли две модели «значительно»? Это неопределенный и сложный вопрос. Это предмет многих споров и даже эмоций и злобы. Это также не тот вопрос, на который вы хотите получить ответ. Что вы хотите знать, так это то, какая модель приносит вам наилучшую ожидаемую прибыль, учитывая все обстоятельства, включая стоимость каждого пакета программного обеспечения и т. Д.

Мне скоро придется это прекратить. Это не место для курса по моделированию и вероятности, и я не совсем квалифицирован как профессор.

...