Шпаргалка про статистические ошибки и точность алгоритмов.

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

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

Target в США, это как наша Лента. На основе анализа данных (очень большого объёма) они рекомендуют товары, рассылая скидки по обычной почте (это США, помним!). И там один папаша удивился, что дочке приходит каталог от таргета, а там скидки на товары для беременных… Он в общем пришёл на них орать… А они попросили для начала тест сделать. В общем, по изменившимся предпочтениям в покупке, они раньше самой девушки узнали, что ей пора озаботится коляской.

В данном случае мы набирали совпадение реальной ситуации и предсказания. Это называется True Positive вариант.

Если бы девочка покупала по своей персональной карте (ну или кредитке, в зависимости от того, как привязываются в Target’е информация) вещи для своей беременной подруге, а ей бы прислали после этого каталог, то алгоритм допустил бы ошибку первого рода (False Positive решение).

Если бы каталог для беременных ей не прислали, проанализировав её покупки, то это была бы ошибка второго рода (False Negative вариант). При классическом объяснении этой темы, всегда говорят о том, что False Negative — это вероятность счесть больного человека здоровым, когда ты строишь гипотезы.

Ну и остаётся вариант, когда девушка не беременна и каталог ей не присылают — алгоритм верно справился и ничего не произошло. Это True Negative вариант.

Уровень значимости и мощность критерия (или алгоритма)

wikipedia_table

Вероятность ошибки первого рода называется уровнем значимости. Как правило, именно этим уровнем и руководствуются, выбирая алгоритмы для проверки гипотез в статистике. Она обозначает вероятность отклонить гипотезу, которая на самом деле верна (на картинке слева — верные значения)

Вероятность ошибки второго рода — это вероятность принять гипотезу, когда она на самом деле не верна. Но сама по себе вероятность ошибки второго рода никому не нужна, а нужна величина 1 – эта вероятность. Это — мощность критерия. Она показывает, насколько хорошо алгоритм разделяет близкие гипотезы, когда классы очень схожи.

В нашем примере, повышение чувствительности алгоритма приведёт к увеличению риска ошибки первого рода (ложная тревога, False Positive), а понижение чувствительности — к увеличению риска ошибки второго рода (False negative, пропуск тех людей, которым можно дать скидки на товары, которые их могут заинтересовать).

ROC-кривая, кривая ошибок

Значение ошибки первого рода или второго рода не даёт информации о том,  насколько хорош алгоритм в целом. Для того, чтобы понять насколько хорош алгоритм или критерий, есть отличная метрика — ROC-кривая. Она отображает сразу и долю правильно распознанных классов и долю неправильно отвергнутых гипотез. При этом главное число тут — AUC — area under curve. Чем она больше, тем лучше, при этом 0.5 соответствует простой догадке, а 1 — 100% верным предсказаниям.