2009-10-25 5 views
2

Я создал эвристику (ANN, но это не важно), чтобы оценить вероятность события (результаты спортивных игр, но это тоже не важно). Учитывая некоторые входы, эта эвристика подсказывает, каковы вероятности события. Что-то вроде: Учитывая тезисы, команда B как 65% шансов на победу.Как проверить качество оценки вероятностей?

У меня есть большой набор входных данных, для которых я теперь получил результат (ранее играемые игры). Какую формулу/метрику я мог бы использовать, чтобы определить точность моего оценщика.

Проблема, которую я вижу, заключается в том, что если оценщик говорит, что событие имеет вероятность 20%, и событие на самом деле происходит. Я не могу сказать, правильно ли я ошибаюсь. Возможно, это неправильно, и это событие было более вероятным. Может быть, это правильно, случай, когда около 20% шансов произойти и произошло. Может быть, это неправильно, у этого события действительно низкие шансы на успех, скажем, 1 в 1000, но на этот раз случилось.

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

У кого-нибудь есть идеи?

ответ

3

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

Вас интересует независимо от того, выдает ли ваша оценка (ANN, например) калибровочную вероятность или нет?

Если нет, то есть все, что имеет значение, является упорядочением рангов, максимизация области под кривой ROC (AUROC) является довольно хорошим обзором производительности метрики. Другие - статистика «KS», лифт. Их много, и они подчеркивают разные аспекты производительности.

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

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

Обычно истинный показатель, который вы пытаетесь оптимизировать, - «доллары». Это часто сложно представить математически, но, начиная с этого, это ваш лучший снимок, чтобы подобрать подходящую и вычислительно приемлемую метрику.

+0

Большое спасибо Мэтт, я посмотрю на вероятности, которые вы предлагаете, но я думаю, вы действительно поняли, что я пытаюсь сделать. Это выводит откалиброванные вероятности. –

+0

Похоже, что оценка Brier - это то, что я искал. Благодаря! –

1

В любом случае, это зависит от используемой вами функции решения.

В случае задачи бинарной классификации (прогнозирование произошедшего события или нет [ex: win]) простая реализация заключается в прогнозировании 1, если вероятность больше 50%, 0 в противном случае.

Если у вас есть проблема с многокласными (прогнозирование того, какое из событий K произошло [ex: win/draw/lose]), вы можете предсказать класс с наивысшей вероятностью.

И способ оценки эвристики - вычислить ошибку путем сравнения фактического класса каждого входа с прогнозом вашей эвристики для этого экземпляра.

Обратите внимание, что вы обычно разделите свои данные на части для поездов/испытаний, чтобы улучшить (unbiased) оценки производительности.

Другие инструменты для оценки существуют, например, ROC curves, что является способом отображения характеристик в отношении истинных/ложных сообщений.

+0

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

+0

Да, но вы проверяете его на данные, которые имеют реальную реализацию события (действительно ли команда выиграла или нет), и вы хотите, чтобы ваши вероятности были как можно ближе к фактическому результату (в идеале, хотите выиграть = 100% потеряно = 0% для игры, где команда B выиграла) – Amro

+1

Не обязательно. Если основной процесс «действительно случайный», попытка предсказать результат каждого события не имеет смысла. Если бы я дал вам несбалансированную монету и попросил вас дать мне вероятность, что она приземлится на головы, вы бы измерили фактическую частоту голов, и ваша оценка была бы такой вероятностью. Вы не сможете найти модель, которая предсказывает результат для индивидуального броска. – Mathias

1

Как вы заявили, если вы прогнозируете, что событие имеет 20% случаев - и 80% не произойдет - наблюдение за единственным изолированным событием не скажет вам, насколько хорош или плох ваш оценщик. Однако, если у вас был большой выбор событий, для которых вы предсказали 20% -ный успех, но обратите внимание, что по этому образцу 30% удалось, вы можете начать подозревать, что ваш оценщик выключен.
Одним из подходов было бы группировать ваши события по прогнозируемой вероятности появления и наблюдать фактическую частоту по группам и измерять разницу. Например, в зависимости от того, сколько данных у вас есть, группируйте все события, где вы прогнозируете появление от 20% до 25%, и вычисляете фактическую частоту появления по группе - и измеряете разницу для каждой группы. Это должно дать вам представление о том, является ли ваш оценщик предвзятым, и, возможно, для каких диапазонов он выключен.

+0

Это кажется хорошей идеей и простой. Я не знаю, есть ли у меня достаточно данных для создания достаточно групп, но если это так, это было бы многообещающе. –

Смежные вопросы