Шрифт:
Интервал:
Закладка:
Комбинированное измерение «точности» для вероятностей
Хотя ROC-кривая оценивает, насколько хорошо алгоритм делит людей на группы, а калибровочный график показывает, означают ли вероятности то, о чем они говорят, было бы лучше найти какую-то простую комбинированную меру, объединяющую обе характеристики в одно число, которое мы могли бы использовать для сравнения алгоритмов. К счастью, синоптики еще в 1950-е годы придумали, как это сделать.
Если мы прогнозируем какую-нибудь числовую величину (например, температуру завтра в полдень в определенном месте), то точность прогноза обычно характеризуется ошибкой – разностью между предсказанной и реальной температурой. В отношении нескольких дней, как правило, вычисляют среднеквадратичную ошибку (MSE) – среднее значение квадратов отдельных ошибок; это аналог критерия наименьших квадратов, используемый в регрессионном анализе.
Особенность применения данного метода для вероятностей состоит в использовании критерия наименьших квадратов как при прогнозировании количества, но с учетом того, что будущее наблюдение дождя имеет значение 1, а его отсутствие – 0. Табл. 6.2 показывает, как это будет работать для некой вымышленной синоптической системы. Для понедельника вероятность дождя в прогнозе равнялась 0,1, но дождя не было (истинный отклик 0), поэтому ошибка составляет 0–0,1 = –0,1. При возведении в квадрат получим 0,01. Повторим это для всей недели. Тогда среднее арифметическое из всех ошибок B – мера точности прогнозов этого синоптика. В нашем случае B ≈ 0,11[131]. Такая среднеквадратичная ошибка известна как показатель Бриера (названа в честь метеоролога Гленна Бриера, который описал этот метод в 1950 году).
Таблица 6.2
Вымышленные прогнозы «вероятности осадков»: будет дождь завтра в полдень в определенном месте или нет. Наблюдаемые результаты: 1 = был дождь, 0 = дождя не было. «Ошибка» – это разность между прогнозом и наблюдением, а показатель Бриера B – это среднеквадратичная ошибка. Показатель Бриера BC для климатических данных основан на использовании средних долговременных данных для дождя в это время года, и в нашем случае предполагается, что вероятность дождя составит 20 % для всех дней
К сожалению, сам по себе показатель Бриера не так легко истолковать, а потому трудно определить, насколько квалифицированно работает тот или иной синоптик. Лучше всего сравнивать его с контрольным показателем, основанным на исторических записях о климате. Такие климатические прогнозы не учитывают текущих условий и просто оценивают вероятность осадков как долю тех случаев, когда в этот день шел дождь. Подобный прогноз может делать кто угодно без каких-либо навыков – в табл. 6.2 мы условно считаем, что для каждого дня на этой неделе вероятность дождя составит 20 %. Это даст нам показатель Бриера, рассчитанный по климатическим историческим данным (мы назвали его BC), равный 0,28.
Любой приличный алгоритм прогнозирования должен работать лучше того, который основан только на исторических данных для этого дня, и наша система действительно улучшила показатель Бриера: BC – B = 0,28 – 0,11 = 0,17. Затем синоптик получает оценку мастерства, которая отражает пропорциональное уменьшение контрольного показателя – в нашем случае 0,61[132]. Иными словами, наш алгоритм на 61 % лучше, чем примитивный метод, использующий только исторические данные о климате.
Конечно, идеальная цель – оценка 100 %, однако такое возможно только в случае, когда показатель Бриера равен 0, то есть мы абсолютно точно предсказываем, будет дождь или нет. Это требует от синоптика особого мастерства, и реальные оценки качества работы при прогнозировании дождя сейчас составляют около 0,4 для прогнозов на следующий день и 0,2 для недельного прогноза[133]. Конечно, самый ленивый прогноз – это просто сказать: все, что происходит сегодня, будет происходить и завтра. Это обеспечивает идеальное соответствие с историческими данными (сегодняшним днем), но для предсказания будущего не слишком эффективно.
Если вернуться к примеру с «Титаником», то наивный алгоритм просто приписывает каждому пассажиру вероятность выживания 39 %, то есть долю выживших во всем тренировочном наборе. Такой алгоритм не использует никаких данных об отдельных людях и, по сути, эквивалентен прогнозированию погоды по историческим климатическим данным без учета текущих обстоятельств. Показатель Бриера для этого «не требующего умений» правила равен 0,232.
Напротив, показатель Бриера для простого дерева классификации составляет 0,139, то есть дает 40-процентное уменьшение по сравнению с наивным алгоритмом и поэтому демонстрирует значительные умения. Другой способ интерпретации числа 0,139: именно его вы бы получили, если бы приписали всем выжившим 63-процентные шансы на выживание, а всем погибшим – 63-процентные шансы на гибель. Посмотрим, можно ли улучшить показатель с помощью более сложных моделей, но сначала предупреждаю: они не должны быть слишком сложными.
Переобучение
Нам необязательно останавливаться на простом дереве классификации, показанном на рис. 6.3. Мы могли бы его усложнить, добавив больше ветвей, что позволило бы правильно классифицировать больше случаев из тренировочного набора, поскольку мы идентифицировали бы все больше и больше его особенностей.
На рис. 6.6 показано дерево, построенное с учетом многих уточняющих факторов. Его точность на тренировочном наборе составляет 83 %, то есть больше, чем у первоначального маленького дерева. Но при использовании алгоритма на тестовом наборе точность упадет до 81 %, то есть будет такой же, как и у маленького дерева, а показатель Бриера составит 0,150 – явно хуже, чем 0,139 для исходного дерева. Мы слишком хорошо подогнали наш алгоритм под тренировочный набор данных, и в результате его прогностическая способность начала снижаться.
Рис. 6.6