Искусство статистики. Как находить ответы в данных Шпигельхалтер Дэвид
Подобные рассуждения привели к появлению новой области науки – судебной эпидемиологии, которая пытается использовать сведения, полученные из общей популяции, для заключения о том, что могло стать причиной конкретных событий. По сути, эта дисциплина обязана своим появлением людям, требующим компенсаций, но это очень интересная область для статистических рассуждений о причинно-следственных связях.
Правильная трактовка причинно-следственной связи по-прежнему остается предметом жарких споров в статистике, неважно, касается это фармацевтических препаратов или больших ушей, и без рандомизации редко удается сделать надежные выводы. Один творческий подход основывается на том, что многие гены распределяются по популяции фактически случайным образом, поэтому мы как будто рандомизированы при зачатии – получилась вот такая версия. Этот подход известен как менделевская рандомизация, названная так в честь Грегора Менделя, автора учения о наследственности[109].
Чтобы максимально учесть все возмущающие факторы и тем самым приблизиться к оценке реального эффекта воздействия, были разработаны и другие сложные статистические методы, в значительной степени основанные на важной идее регрессионного анализа. И за это мы снова должны поблагодарить богатое воображение Фрэнсиса Гальтона.
Выводы
• Причинность в статистическом анализе означает, что при нашем вмешательстве шансы различных исходов изменяются по определенной системе.
• Причинно-следственную связь трудно установить статистически, однако хорошо спланированные рандомизированные исследования – наилучшая возможная схема.
• Принципы слепоты, анализа по назначенному лечению и прочего позволяют проводить масштабные клинические исследования для выявления умеренных, но важных эффектов.
• Наблюдательные данные могут отличаться фоновыми факторами, которые влияют на видимые наблюдаемые взаимосвязи между воздействием и результатом. Они могут оказаться либо наблюдаемыми возмущающими, либо скрытыми факторами.
• Для поправки на прочие факторы существуют специальные статистические методы, однако всегда требуется уточнение о степени уверенности, с которой можно говорить о предполагаемой причинно-следственной связи.
Глава 5. Моделирование зависимости с помощью регрессии
Идеи, изложенные в предыдущих главах, позволяют визуализировать и находить характеристики данных, а также рассматривать зависимости между парами переменных. Эти базовые методы могут помочь нам проделать будущий довольно долгий путь, хотя в целом современные данные намного сложнее. Часто появляется список переменных, возможно, имеющих отношение к вопросу, одна из них нам особенно интересна при объяснении или прогнозировании, будь то риска развития рака для одного человека или будущего жителей целой страны. В этой главе мы познакомимся с идеей статистической модели – формальным представлением взаимоотношений между переменными, – которую сможем использовать для желаемого объяснения или прогноза. Это означает неизбежное появление определенных математических идей, однако базовые концепции должны быть понятны без применения алгебры.
Но прежде вернемся к Фрэнсису Гальтону. Он был одержим идеей сбора данных (что характерно для классического джентльмена-ученого Викторианской эпохи), и обращение к мудрости толпы для выяснения массы быка – это всего лишь один из примеров. Он использовал свои наблюдения для составления прогнозов погоды, оценки эффективности молитвы и даже для сравнения относительной красоты молодых женщин в различных частях страны[110]. Он также разделял интерес своего двоюродного брата Чарльза Дарвина к наследственности и намеревался изучить способы изменения личных характеристик людей от поколения к поколению. В частности, его заинтересовал такой вопрос:
Как предсказать будущий рост детей по росту их родителей?
В 1886 году Гальтон опубликовал данные о росте большой группы родителей и их взрослых детей. Характеристики выборки приведены в табл. 5.1[111]. Рост людей в выборке Гальтона близок к росту современных взрослых (как сообщалось, средний рост взрослых женщин и мужчин в Соединенном Королевстве в 2010 году составлял примерно 63 и 69 дюймов [160 и 175 сантиметров соответственно]), что говорит о том, что эти люди хорошо питались и обладали высоким социально-экономическим статусом[112].
Таблица 5.1
Характеристики выборки роста (в дюймах) 197 родительских пар и их взрослых детей, по данным Гальтона 1886 года. Для справки: 64 дюйма = 163 см, 69 дюймов = 175 см. Даже без построения диаграммы близость выборочных средних и медианы позволяет предположить, что распределение симметрично
Рис. 5.1 – это точечная диаграмма, где отображен рост 465 сыновей в зависимости от роста их отцов. Между ростом отцов и сыновей четко прослеживается корреляция, при этом коэффициент корреляции Пирсона равен 0,39. Как нам поступить, если мы хотим предсказать рост сына по росту его отца? Начать можно с построения прямой линии для прогноза: она позволит указать рост сына по росту отца. Первая мысль – провести линию точно «по диагонали», то есть при таком прогнозе рост сына будет точно таким же, как и у отца. Однако, оказывается, есть способ лучше.
Рис. 5.1
Точки отображают рост отцов и их сыновей, по данным Гальтона (многие отцы повторяются, потому что у них несколько сыновей). Для разделения точек добавлен случайный разброс, а диагональная пунктирная линия демонстрирует точное равенство между ростом отцов и сыновей. Сплошная линия – стандартная «прямая наилучшего соответствия» (регрессионная прямая). У каждой точки есть «остаток» (вертикальные пунктирные линии) – разность между наблюдаемым значением и значением, которое предсказывает регрессионная модель
Какую бы прямую мы ни выбрали, у любой точки данных будет остаток (вертикальные пунктирные линии на диаграмме), который представляет собой величину допускаемой ошибки при использовании для прогноза этой линии. Нам нужна линия, которая делает эти остатки маленькими, и стандартный способ ее провести – это выбор прямой по методу наименьших квадратов, то есть прямой, для которой сумма квадратов всех остатков будет наименьшей[113]. Уравнение для такой прямой получить несложно (см. глоссарий); этот метод разработан одновременно, но независимо друг от друга французскими математиками Адриеном-Мари Лежандром и Карлом Фридрихом Гауссом в конце XVIII века. Прямую часто называют прямой наилучшего соответствия, и с ее помощью определяется лучший прогноз, который мы можем сделать для роста сына, зная рост его отца.
Линия, построенная по методу наименьших квадратов на рис. 5.1, проходит через середину облака точек, отражая средние значения роста для отцов и сыновей, но не совпадая с диагональю, отображающей «равенство». Она ниже диагонали у отцов выше среднего и выше диагонали у отцов ниже среднего роста. Это означает, что у высоких отцов сыновья в среднем ниже их, а у низкорослых – в среднем выше их. Гальтон назвал это явление «регрессией[114] к посредственности», а позднее оно стало именоваться «регрессией к среднему значению», или «регрессом к среднему». Аналогичный феномен отмечается и для матерей и дочерей: дочери более высоких матерей в среднем ниже их, а низкорослых – в среднем выше. Это объясняет происхождение термина в названии главы: со временем любая стохастическая зависимость, определяемая по данным, стала называться регрессией.
В регрессионном анализе зависимой переменной (или переменной отклика) называется величина, которую мы хотим предсказать или объяснить; обычно ее откладывают по вертикальной оси y. Независимая переменная (или объясняющая переменная) – это величина, которую мы используем для прогноза или объяснения; обычно она откладывается по горизонтальной оси x. Наклон (точнее, угловой коэффициент) регрессионной прямой называется коэффициентом регрессии.
Табл. 5.2 показывает корреляцию между ростом родителей и потомков, а также наклон для регрессионных прямых[115]. Существует простая зависимость между угловыми коэффициентами, коэффициентом корреляции Пирсона и стандартными отклонениями и переменными[116]. В реальности если у зависимой и независимой переменной среднеквадратичные отклонения одинаковы, то угловой коэффициент просто совпадает с коэффициентом корреляции Пирсона, что и объясняет их сходство в табл. 5.2.
Таблица 5.2
Коэффициенты корреляции между ростом взрослых детей и родителей того же пола, а также коэффициенты регрессии для роста детей по отношению к росту родителей
Смысл углового коэффициента полностью зависит от наших предположений о взаимосвязи между изучаемыми переменными. Для корреляционных данных угловой коэффициент показывает, какое среднее изменение зависимой переменной можно ожидать, если значение независимой переменной изменится на единицу. Например, если Алиса на 1 дюйм выше Бетти, то мы можем предсказать, что взрослая дочь Алисы будет на 0,33 дюйма выше, чем взрослая дочь Бетти. Конечно, мы не ожидаем, что этот прогноз будет соответствовать их истинной разнице в росте, но это наилучшее предположение, которое мы можем сделать исходя из имеющихся данных.
Однако если мы предполагаем причинно-следственную связь, то у углового коэффициента будет совершенно иная интерпретация: это изменение, которого мы можем ожидать в зависимой переменной, если вмешаемся и изменим значение независимой переменной на единицу. Это точно не относится к примеру с ростом, так как рост нельзя изменить экспериментальным путем (по крайней мере, для взрослых). Даже с учетом описанных выше критериев Брэдфорда Хилла статистики, как правило, неохотно признают причинно-следственную связь без проведения эксперимента. Впрочем, некоторые исследователи, включая Джуда Перла, добились значительного прогресса в построении моделей причинной регрессии для наблюдательных данных[117].
Линия регрессии для роста отцов и сыновей – очень простой пример статистической модели. Федеральная резервная система США определяет модель как «представление некоторого аспекта мира, основанное на упрощающих предположениях»: по сути, какое-нибудь явление представляется в математической форме, встраивается в программное обеспечение, а затем создается упрощенная «воображаемая» версия реальности[118].
У статистических моделей есть два основных компонента. Первый – это математическая формула, которая выражает детерминистский, предсказуемый компонент, например формула прямой линии, позволяющая нам делать прогноз о росте сына, зная рост его отца. Однако такая детерминистская часть модели не будет идеальным отображением реального мира. Как мы видели на рис. 5.1, рост весьма сильно рассеян вокруг регрессионной прямой. Разница между тем, что предсказывает модель, и тем, что происходит на самом деле, – второй компонент модели, известный как остаточная ошибка, хотя важно помнить, что в статистическом моделировании термин «ошибка» означает не какой-то просчет, а неизбежную неспособность модели точно представить наблюдаемый мир. Поэтому в целом мы можем считать, что
наблюдение = детерминистская модель + остаточная ошибка.
Эта формула может быть истолкована как утверждение, что в статистическом мире то, что мы видим и измеряем, можно рассматривать как сумму систематической математической идеализированной формы и некоего случайного компонента, который пока нельзя объяснить. Классическая идея сигнала и шума.
Уменьшают ли камеры контроля скорости количество ДТП?
Этот раздел содержит простой урок: тот факт, что мы что-то делаем и что-то меняется, сам по себе не означает, что мы несем ответственность за результат. Похоже, людям трудно уловить эту простую истину, мы всегда стараемся придумать какое-то объяснение, причем гораздо охотнее, если лично находимся в центре ситуации. Конечно, иногда такая интерпретация верна: если вы щелкнете выключателем и зажжется свет, то обычно ответственны вы. Но иногда ваши действия определенно не отвечают за результат: если вы не взяли зонтик, а пошел дождь, в том нет вашей вины (хотя может показаться, что это так). Однако порой последствия наших действий менее ясны. Предположим, у вас болит голова, вы приняли аспирин, и боль прошла. Но откуда вам знать, что она не прекратилась бы, если бы вы не принимали таблетку?
У нас сильная психологическая склонность приписывать перемены какому-нибудь вмешательству, и это делает сравнения «до и после» ненадежными. Классический пример относится к камерам контроля скорости, которые обычно размещают в местах повышенной аварийности. Последующее снижение аварийности приписывают наличию камер. Но разве не понизился бы этот уровень в любом случае?
Полосы удач и неудач не бесконечны, и в конце концов все возвращается на круги своя – это тоже можно воспринимать как регресс к среднему, как у высоких отцов, имеющих более низких в среднем сыновей. Но когда мы убеждены, что полосы везения-невезения отражают постоянное состояние дел, мы ошибочно будем рассматривать возврат к нормальному состоянию как следствие какого-либо нашего вмешательства. Возможно, все это кажется вам очевидным, но эта простая идея имеет примечательные последствия:
• Преемникам футбольных тренеров, уволенных после череды неудач, лавры достаются всего лишь за возврат к нормальному состоянию.
• Управляющие фондами ухудшают показатели эффективности работы после нескольких успешных лет (и вероятного получения хороших бонусов).
• «Проклятие обложки Sport Illustrated»: как только спортсмены за свои достижения попадают на обложку этого известного журнала, их результаты резко ухудшаются.
Удача играет немалую роль в положении спортивных команд в турнирной таблице, а регресс к среднему означает, что можно ожидать того, что команды, преуспевающие в этом году, ухудшат игру в следующем, а плохо играющие сегодня улучшат ситуацию в будущем, особенно если команды примерно равны по силам. Напротив, видя такие изменения, мы можем подозревать, что работает регресс к среднему, и не стоит слишком обращать внимание на заявления о влиянии, скажем, новых методов тренировок.
В турнирных таблицах ранжируются не только спортивные команды. Рассмотрим таблицы Международной программы по оценке образовательных достижений учащихся (PISA), где сравниваются результаты преподавания математики в школах разных стран. Изменение положения страны в сводной таблице за 2003–2012 годы отрицательно коррелирует с начальным ее положением в списке. Иными словами, страны из верхней части списка имеют тенденцию опускаться, а из нижней части – подниматься: коэффициент корреляции равен –0,60. Однако определенные теоретические выкладки показывают, что если бы ранжирование было полностью случайным и действовал исключительно регресс к среднему, то для коэффициента корреляции можно было бы ожидать значения –0,71, которое не очень отличается от реально наблюдаемого[119]. Это говорит о том, что различия между странами меньше, чем заявляется, и что у изменений в таблицах мало общего с изменениями в методиках преподавания.
Регресс к среднему проявляется и в клинических испытаниях. В предыдущей главе мы узнали, что для правильной оценки нового лекарственного препарата нужно провести рандомизированные испытания, поскольку даже люди из контрольной группы демонстрируют улучшение состояния – так называемый эффект плацебо. Это часто истолковывают так: простой прием сахарной пилюли (предпочтительно красной) на самом деле благотворно влияет на здоровье человека. Но значительная часть улучшений у людей, не проходивших активного лечения, может приходиться на регресс к среднему, поскольку пациентов включают в испытания, когда у них есть определенные симптомы, а многие из симптомов пропали бы в любом случае. Так что если мы хотим знать подлинный эффект установки камер контроля скорости в местах повышенной аварийности, нам нужно подойти к этому вопросу так же, как к проверке фармацевтического препарата, и распределить камеры случайным образом. (После проведения таких исследований оказалось, что примерно две трети пользы от камер приходится на регресс к среднему[120].)
Если у нас есть несколько независимых переменных
Со времен первой работы Гальтона появилось множество расширений базовой идеи регрессии, в значительной степени подкрепленных современными вычислительными возможностями. Такие обобщения включают:
• несколько независимых (объясняющих) переменных;
• независимые переменные, которые не являются числами;
• зависимости, которые отображаются не прямыми, а кривыми, и гибко подстраиваются под закономерность в данных;
• зависимые переменные, которые не являются непрерывными.
В качестве примера наличия более одной независимой переменной рассмотрим, как рост сына или дочери зависит от роста их отца и матери. Теперь точки на диаграмме расположены в трех измерениях, и на странице книги изобразить это сложнее. Однако мы по-прежнему можем применить метод наименьших квадратов, чтобы вывести формулу, которая наилучшим образом предскажет рост потомства. В этом случае говорят о множественной линейной регрессии[121]. Когда у нас была всего одна независимая переменная, связь с зависимой переменной показывал наклон (угловой коэффициент) прямой, который одновременно интерпретировался как коэффициент в уравнении регрессии. Эту идею можно распространить на несколько независимых переменных.
В табл. 5.3 приведены результаты для семей Гальтона. Как можно интерпретировать показанные здесь коэффициенты? Прежде всего они являются частью формулы, которую можно использовать для прогнозирования роста взрослого потомства у конкретных отца и матери[122]. Одновременно они также иллюстрируют идею поправки для наблюдаемого отношения, учитывая третий, возмущающий фактор.
Таблица 5.3
Результаты множественной линейной регрессии для роста взрослого потомства в зависимости от роста их отцов и матерей. Отсекаемый на прямой отрезок (сдвиг) – это средний рост потомства (табл. 5.1). Коэффициенты линейной регрессии показывают прогнозируемое изменение в росте потомков при изменении среднего роста родителей на 1 дюйм
Например, мы видели в табл. 5.2, что угловой коэффициент регрессионной прямой, связывающей рост дочерей и матерей, равнялся 0,33 (вспомните, что угловой коэффициент прямой наилучшего приближения для точечной диаграммы – это всего лишь другое название коэффициента регрессии). Табл. 5.3 показывает, что если мы учтем еще и влияние роста отца, то этот коэффициент уменьшится до 0,30. Аналогично, если мы учтем при прогнозировании роста сына еще и рост матери, то коэффициент регрессии для отца снизится с 0,45 в табл. 5.2 до 0,41 в табл. 5.3. Таким образом, влияние роста одного родителя слегка снижается, если учитывать рост второго. Причиной может быть тот факт, что рост родителей не совсем независимая величина, ведь высокие женщины чаще выходят замуж за высоких мужчин. В целом эти данные говорят о том, что изменение роста отца на 1 дюйм сильнее сказывается на росте взрослого ребенка, чем изменение роста матери на 1 дюйм. Множественная регрессия часто используется, когда исследователей интересует одна объясняющая переменная, а остальные служат в качестве поправок для учета дисбаланса.
Давайте вернемся к шведскому исследованию опухолей мозга, о котором мы упоминали в главе 4, иллюстрируя то, как СМИ неверно трактуют причинность. В регрессионном анализе количество опухолей рассматривалось как зависимая переменная (переменная отклика), а образование как независимая (объясняющей) переменная. В регрессионную модель включались и другие факторы: возраст при диагностике, календарный год, регион Швеции, семейное положение и доход; все это считалось потенциальными возмущающими переменными. Поправка на возмущения была попыткой выделить чистую зависимость между образованием и опухолями мозга, однако полной адекватности здесь все равно никогда не добиться. Всегда будет оставаться подозрение, что могут срабатывать какие-то скрытые факторы, например, такой: более образованные люди больше заботятся о здоровье, поэтому активнее занимаются диагностикой.
В рандомизированном испытании нет необходимости вносить поправки из-за возмущающих факторов, поскольку случайное распределение по группам гарантирует, что все факторы, кроме изучаемого, будут равномерно сбалансированы между группами. Однако исследователи часто все равно проводят регрессионный анализ – на случай, если вкрадется какой-либо дисбаланс.
Различные виды зависимых переменных
Не все данные являются непрерывными измерениями, такими как рост. В статистическом анализе зависимые переменные часто могут иметь другой вид: доля случаев, когда произошло какое-нибудь событие (например, доля людей, переживших операцию), количество каких-нибудь событий (например, число выявленных случаев рака в год в определенном регионе) или продолжительность времени до определенного события (например, количество лет, которое пациент прожил после операции). Для каждого из таких видов зависимых переменных существуют собственные формы множественной регрессии, и соответственно меняется интерпретация получающихся коэффициентов[123].
Рассмотрим данные об операциях на сердце у детей, которые обсуждались в главе 2, где на рис. 2.5(a) показаны доли пациентов, переживших операцию, и количество операций, проведенных в каждой из больниц в 1991–1995 годах. На рис. 5.2 снова представлена точечная диаграмма и линия регрессии, которая построена без учета точки-выброса, соответствующей бристольской больнице.
Рис. 5.2
Модель логистической регрессии для данных об операциях на сердце у детей в возрасте до 1 года в больницах Соединенного Королевства в период с 1991 по 1995 год. В больницах, где больше пациентов, показатель выживаемости выше. Линия является частью кривой, которая никогда не достигнет 100 %, и не учитывает выброс, соответствующий бристольской больнице
Мы могли бы провести через эти точки прямую линейной регрессии, но тогда наивная экстраполяция говорила бы, что при очень большом количестве случаев выживаемость превысит 100 %, а это полный абсурд. Поэтому для показа долей была разработана логистическая регрессия, где кривая не выходит за рамки диапазона от 0 % до 100 %.
Даже без учета Бристоля в больницах с большим количеством пациентов выше показатели выживаемости, а коэффициент логистической регрессии (0,001) означает, что ожидаемый уровень смертности будет примерно на 10 % (относительно) ниже на каждые дополнительные сто операций, которые проводила больница детям до 1 года за четырехлетний период[124]. Конечно, еще раз повторим клише, что корреляция не означает причинно-следственной связи, и мы не можем заключить, что увеличение нагрузки приводит к повышению качества операций. Как мы уже упоминали, причинность может быть обратной: больницы с хорошей репутацией привлекают больше пациентов.
Этот спорный вывод, опубликованный в 2001 году, внес свою лепту в длительные, до сих пор продолжающиеся дискуссии о том, сколько больниц в Великобритании должны проводить подобные операции.
Более сложные модели регрессии
Методы, описанные в этой главе, прекрасно работали с момента их появления более века назад. Однако доступность огромных объемов данных и колоссальное увеличение вычислительных мощностей позволили создать более сложные модели. В широком смысле различные группы исследователей используют четыре основные стратегии моделирования:
• Достаточно простые математические представления зависимостей, такие как описанные в этой главе линейные регрессии. Статистики, как правило, предпочитают именно их.
• Сложные детерминистские модели, основанные на научном понимании физических процессов, например, используемые при прогнозировании погоды. Они предназначены для реалистичного воспроизведения механизмов, лежащих в их основе, и разрабатываются, как правило, прикладными математиками.
• Сложные алгоритмы, используемые для принятия решений и прогнозов, основанных на анализе большого количества прошлых случаев – например, для рекомендации книг, которые вы, возможно, хотели бы купить в сетевом магазине. Создаются в мире компьютерных наук и машинного обучения. Они часто будут «черными ящиками» в том смысле, что могут делать хорошие прогнозы, но их внутренняя структура в какой-то степени непостижима (см. следующую главу).
• Регрессионные модели, которые делают заключения о причинно-следственных связях; за них выступают экономисты.
Это значительные обобщения. К счастью, профессиональные барьеры рушатся, и, как мы увидим позже, формируется все более универсальный подход к моделированию. Но какая бы стратегия ни была принята, при создании и использовании модели возникают общие проблемы.
Хорошая аналогия состоит в том, что модель похожа на карту, а не на саму территорию. Все мы знаем, что одни карты лучше, чем другие: простой карты может быть достаточно для поездки из одного города в другой, но для прогулки в сельской местности нужно что-то более подробное. Британский статистик Джордж Бокс прославился бесценным афоризмом: «Все модели неверны, но некоторые полезны». Это поучительное заявление основывалось на опыте применения статистики в промышленных процессах, который позволял Боксу оценивать и силу моделей, и опасности излишней веры в них.
Но такие предостережения легко забываются. Как только какая-то модель принимается (и особенно тогда, когда она уходит из рук создателей, понимающих ее ограничения), она может превратиться в своего рода оракула. Финансовый кризис 2007–2008 годов в значительной степени был вызван чрезмерным доверием к сложным финансовым моделям, которые использовались для определения рисков, например ипотечных пакетов. Эти модели предполагали лишь умеренную корреляцию между неисполнением обязательств по ипотеке и успешно работали, пока рынок недвижимости процветал. Но когда условия изменились и возникли проблемы с выплатами, оказалось, что проблемы начались по всем фронтам: модели сильно недооценили риски из-за корреляций, которые оказались намного выше, чем предполагалось. Руководители просто не поняли хрупкости фундамента, на котором строились эти модели, упустив из виду тот факт, что модели всего лишь упрощение реального мира, то есть карты, а не территории. Результатом стал один из тяжелейших мировых кризисов в истории.
Выводы
• Регрессионные модели обеспечивают математическое представление отношений между набором независимых (объясняющих) переменных и зависимой переменной (переменной отклика).
• Коэффициенты в регрессионной модели показывают, какое изменение в отклике мы можем ожидать при изменении независимой переменной.
• Регресс к среднему наблюдается, когда отклонения возвращаются к долговременному среднему значению, поскольку такие выбросы были чисто случайными.
• Регрессионные модели могут включать различные виды зависимой и независимых переменных, а также нелинейные взаимосвязи.
• При интерпретации моделей нужно быть осторожным. Помните: «Все модели неверны, но некоторые полезны».
Глава 6. Алгоритмы, аналитика и прогнозирование
До сих пор акцент в этой книге делался на том, как статистика может помочь нам лучше понять, как устроен мир, будь то потенциальный вред от поедания сэндвичей с беконом или взаимосвязь между ростом родителей и их детей. По сути, это научное исследование, где выясняется, что происходит на самом деле, а что (если пользоваться терминами, введенными в предыдущей главе) – просто остаточная ошибка, к которой нужно относиться как к неизбежной изменчивости, поскольку ее нельзя смоделировать.
Однако основные идеи статистической науки сохраняются, когда мы пытаемся решить не научную, а практическую задачу. Желание найти сигнал в шуме уместно и тогда, когда нам просто нужен метод для конкретного случая в повседневной жизни. Тема этой главы – решение практических задач с помощью имеющихся данных, то есть использование какого-то алгоритма, механической формулы, которая будет автоматически выдавать ответ для каждого нового случая, возникающего без или с минимальным вмешательством человека. Фактически это уже не наука, а «технология».
У такого алгоритма есть два широких класса задач:
• Классификация (также известна как разделение, контролируемое обучение, обучение с учителем): сообщить, с какой ситуацией мы столкнулись. Например, пристрастия и предубеждения онлайн-покупателя или является ли объект в поле зрения робота ребенком или собакой.
• Прогнозирование: сообщить, что будет дальше. Например, какая погода будет на следующей неделе, какая может быть завтра цена акций, какие продукты может купить этот клиент и не выбежит ли тот ребенок перед нашим самоуправляемым автомобилем.
Хотя эти задачи и различаются в том смысле, что одна касается настоящего, а вторая – будущего, обе имеют одинаковую природу: взять набор наблюдений, относящихся к текущей ситуации, и сделать соответствующее заключение. Такой метод называется предсказательной аналитикой, но здесь мы уже вторгаемся на территорию искусственного интеллекта (ИИ), когда воплощенные в машинах алгоритмы используются либо для выполнения задач, которые обычно требуют участия человека, либо для предоставления людям советов экспертного уровня.
В узком смысле термин ИИ относится к системам, которые могут выполнять строго предписанные задачи, причем есть ряд крайне успешных примеров, основанных на машинном обучении, которые включают разработку алгоритмов посредством статистического анализа больших массивов данных, взятых из прошлого. Среди заметных успехов – системы распознавания речи, встроенные в телефоны, планшеты и компьютеры; программы типа Google Translate, которые не знакомы с грамматикой, зато научились подбирать тексты из необъятного опубликованного архива; программное обеспечение для компьютерного зрения, использующее прошлые изображения, чтобы «научиться» распознавать, например, лица на фотографиях или другие автомобили, попадающие в поле зрения самоуправляемого автомобиля. Наблюдается значительный прогресс и в системах, играющих в различные игры, таких как программное обеспечение DeepMind. Они изучают правила компьютерных игр и становятся опытными игроками, обыгрывающими чемпионов мира по шахматам и «Го», пока компьютер IBM Watson обыграл людей в викторине, где требуются общие знания. Эти системы начинались не с попыток закодировать человеческий опыт и знания, а с огромного числа примеров, и обучались методом проб и ошибок, как обычный ребенок, играя в игры сам с собой.
Опять же, подчеркнем, что это технологические системы, использующие прошлые данные для ответа на возникающие практические вопросы, а не научные системы, которые стремятся понять, как устроен мир: их следует оценивать исключительно по тому, насколько хорошо они выполняют ограниченную задачу, и, хотя форма изученных алгоритмов может натолкнуть на какие-то идеи, от них не ждут воображения или сверхчеловеческих способностей в обычной жизни. Здесь требуется ИИ «общего назначения», который выходит за рамки этой книги и (по крайней мере на данный момент) за рамки возможностей компьютеров.
С тех пор как в 1690-х годах Эдмунд Галлей вывел формулы для расчета страховых взносов и платежей, статистика имеет дело с алгоритмами, помогающими в принятии решений. Современное развитие науки о данных продолжает эту традицию, однако за последние годы масштабы собираемых данных и разрабатываемых продуктов изменились: появились так называемые большие данные.
Данные могут быть «большими» в двух разных смыслах. Во-первых, по числу примеров в базе данных: это могут быть отдельные люди, звезды в небе, школы, поездки на автомобиле или посты в социальных сетях. Количество примеров часто обозначают буквой n, и в начале моей деятельности n считалось «большим», когда превосходило 100. Но сегодня данные могут включать миллионы и миллиарды случаев.
Второй смысл термина «большие данные» – это измерение в каждом примере многих характеристик или признаков. Они часто обозначаются буквой p (возможно, от слова parameter). Если снова обратиться ко временам моей статистической юности, то обычно p не превышало 10 – мы знали не так много пунктов в медицинской карте отдельного человека. Но с получением доступа к миллионам генов человека проблемы геномики оказались в малых значениях n, но больших значениях p, то есть в наличии колоссального количества информации об относительно небольшом числе случаев.
А теперь мы вступили в эру задач с большими n и большими p, когда имеется огромное количество случаев, каждый из которых может быть очень сложным, – подумайте об алгоритмах, анализирующих все посты, лайки и дизлайки каждого из миллиардов подписчиков Facebook, чтобы определить, какие новости и рекламу показывать.
Такие новые захватывающие задачи привели в науку о данных массу новых людей. Но давайте еще раз вспомним утверждение, приведенное в начале книги: данные не говорят сами по себе. Это мы наполняем их смыслом, а потому с ними нужно обращаться умело и с осторожностью, чтобы избежать многих потенциальных ловушек при наивном использовании алгоритмов. В этой главе мы приведем примеры некоторых классических катастроф, но сначала рассмотрим фундаментальную задачу по сведению данных в нечто полезное.
Одна из стратегий при работе с чрезмерным количеством случаев – формирование групп по схожести – процедура, известная как кластеризация, или неконтролируемое обучение (обучение без учителя), поскольку мы должны определить эти группы сами, нас не предупреждают заранее об их существовании. Нахождение таких однородных кластеров может быть и конечной целью. Например, можно определить группы людей с одинаковыми предпочтениями или предубеждениями, установить их характеристики, дать название, придумать алгоритмы для классификации будущих случаев. А затем давать таким выявленным кластерам соответствующие рекомендации фильмов, политическую, коммерческую и социальную рекламу – в зависимости от мотивации людей, построивших алгоритм.
Прежде чем конструировать алгоритм для классификации или прогнозирования, возможно, придется сократить объем исходных данных по величине p до приемлемого размера, поскольку изначально она может быть очень большой (в каждом конкретном случае измерялось слишком много характеристик). Этот процесс называется конструированием признаков. Просто представьте, сколько измерений можно сделать на человеческом лице. Чтобы разрабатывать программное обеспечение для распознавания лиц и сравнения их с базой данных, можно ограничиться измерением нескольких важных признаков. Те измерения, которые не нужны для прогноза или классификации, можно определить с помощью визуализации данных или методов регрессионного анализа, а затем отбросить. Кроме того, уменьшить число признаков можно с помощью «составных» измерений, которые включают большую часть информации.
Последние разработки в области чрезвычайно сложных моделей (вроде тех, что относятся к так называемому глубокому обучению) предполагают, что необходимости в первоначальном этапе сокращения данных может и не быть, то есть один алгоритм способен обработать все исходные данные.
Классификация и прогнозирование
Сегодня доступно ошеломляющее количество различных методов для построения алгоритмов классификации и прогнозирования. Исследователи обычно используют то, к чему привыкли в ходе своей профессиональной деятельности: например, статистики предпочитают регрессионные модели, а специалисты по теории вычислительных машин и систем – логику на основе правил и нейронные сети, которые были альтернативными способами имитации человеческого познания. Реализация любого из этих методов требует специальных навыков и программного обеспечения, но сейчас появились удобные программы, которые позволяют выбирать методы с помощью меню и тем самым поощряют менее однобокий подход, когда эффективность важнее, чем философия моделирования.
Начав измерять и сравнивать практическую эффективность алгоритмов, люди неизбежно стали соревноваться, и сейчас такие платформы, как Kaggle.com, проводят конкурсы в сфере науки о данных. Какая-нибудь коммерческая или академическая организация предоставляет участникам набор данных: это может быть задача по обнаружению китов по зафиксированным звукам, регистрация темной материи по астрономическим данным или прогнозирование числа госпитализированных больных. В каждом случае конкурсантам предоставляется тренировочный (обучающий) набор данных для конструирования алгоритма, а также тестовый набор для определения его эффективности. Особенно популярен конкурс (привлекающий тысячи команд) по созданию алгоритма для следующей задачи.
Можно ли сказать, какие пассажиры выжили после гибели «Титаника»?
Во время своего первого рейса «Титаник» столкнулся с айсбергом и медленно затонул в ночь с 14 на 15 апреля 1912 года. Только около 700 из 2200 пассажиров и членов экипажа оказались в спасательных шлюпках и выжили, и последующие исследования и расчеты сосредоточились на том, что шансы попасть в шлюпку и выжить критически зависели от того, билет какого класса у вас был.
Алгоритм, прогнозирующий выживание, может на первый взгляд показаться странным выбором проблемы в рамках стандартного цикла PPDAC, поскольку такая ситуация вряд ли возникнет снова, поэтому не представляет никакой ценности для будущего. Но один человек помог мне найти мотивацию. В 1912 году Фрэнсис Сомертон уехал из Илфракомба в Северном Девоне, расположенного недалеко от того места, где я родился и вырос. Отправившись искать счастье в США, он купил билет третьего класса за 8 фунтов и 1 шиллинг на новенький «Титаник», оставив в Европе жену и маленькую дочь. Однако так и не добрался до Нью-Йорка – его надгробие находится на церковном кладбище в Илфракомбе (рис. 6.1). Точный прогнозирующий алгоритм сможет сказать нам: Фрэнсису Сомертону действительно просто не повезло или его шансы на самом деле были невелики.
Рис. 6.1
Надгробие Фрэнсиса Сомертона на кладбище в Илфракомбе. Надпись гласит: «Также Фрэнсис Уильям, сын вышеуказанного, который погиб при катастрофе “Титаника” 14 апреля 1912 года в возрасте 30 лет»
План – собрать имеющиеся данные и попробовать ряд различных методов для создания алгоритмов, предсказывающих тех, кто выжил. Это можно считать скорее проблемой классификации, чем прогнозирования, поскольку все события уже случились. Данные – это открытая информация о 1309 пассажирах «Титаника»: потенциальные предикторные (предсказывающие) переменные включают их полное имя, форму обращения, пол, возраст, класс на судне (первый, второй, третий), сумму, уплаченную за билет, были ли они частью семьи, место посадки на судно (Саутгемптон, Шербур, Куинстаун), а также неполные данные о некоторых номерах кают[125]. Зависимая переменная – это указатель, выжил человек (1) или нет (0).
На этапе анализа важно разделить данные на две части: тренировочный набор, используемый для создания алгоритма, и тестовый набор, который служит только для оценки эффективности – смотреть на тестовый набор до готовности алгоритма было бы серьезным жульничеством. Как и в конкурсе Kaggle, мы возьмем в качестве тренировочного набора случайную выборку из 897 случаев, а оставшиеся 412 человек составят тестовый набор.
Это реальные, а потому довольно загрязненные данные, требующие определенной предварительной обработки. У восемнадцати пассажиров отсутствует информация о плате за поездку, так что будем считать, что они заплатили медианную стоимость для своего класса. Были добавлены некоторые родители, братья и сестры для создания единой переменной, характеризующей размер семьи. Упростились обращения: «мадемуазель» было объединено с «мисс», «мадам» – с «миссис», и целый ряд обращений был закодирован как «редкие формы обращений»[126].
Следует пояснить, что даже для простой подготовки данных к анализу, кроме требуемых навыков кодирования, могут понадобиться серьезные знания и рассуждения – например, об использовании доступной информации о каютах для определения их положения на судне. Несомненно, я мог бы сделать эту работу лучше.
На рис. 6.2 показаны доли выживших для разных категорий из 897 пассажиров, выбранных в качестве тренировочного (обучающего) набора. Все эти признаки сами по себе обладают прогностической способностью: видно, что уровень выживаемости выше среди тех, кто путешествовал более высоким классом; среди женщин и детей; тех, кто больше заплатил за билет; среди имевших небольшую семью и тех, к кому обращались миссис, мисс или мастер[127]. Все это соответствует нашим предположениям.
Рис. 6.2
Сводные данные о выживании для тренировочного набора из 897 пассажиров «Титаника», показывающие процентную долю выживших для различных категорий людей
Однако эти параметры нельзя назвать независимыми. Пассажиры более высокого класса предположительно больше заплатили за билеты; можно также ожидать, что у них меньше детей, чем у бедных эмигрантов. Многие мужчины плыли в одиночку. Важным может быть и способ кодирования информации: следует ли рассматривать возраст как качественную переменную с делением на категории (см. рис. 6.2) или как непрерывную переменную? Участники конкурса потратили много времени на подробное рассмотрение таких деталей и кодирование с извлечением максимума информации, но мы перейдем прямо к прогнозированию.
Предположим, мы сделали (заведомо неверный) прогноз: «Никто не выжил». Тогда, учитывая, что зафиксирована смерть 61 % пассажиров, показатель правильности нашего прогноза для тренировочного набора данных составил бы 61 %. Если бы мы строили прогноз на более сложном правиле «Все женщины выживают, а все мужчины погибают», то мы бы верно классифицировали 78 % данных в тренировочном наборе. Эти примитивные правила – хорошие ориентиры, по которым можно измерять все улучшения, обеспечиваемые более изощренными алгоритмами.
Деревья классификации
Дерево классификации – пожалуй, самая простая форма алгоритма, поскольку состоит из серии вопросов типа «да/нет», где ответ на каждый вопрос определяет формулировку следующего вопроса, и так до тех пор, пока не будет получено заключение. На рис. 6.3 показано дерево классификации для данных по «Титанику», в котором в конце каждой ветки указана доля выживших для соответствующей категории. Легко видеть и выбранные факторы, и окончательный вывод. Например, Фрэнсис Сомертон в базе данных отмечен как «мистер», а потому попадает на левую ветвь. Окончание этой ветки включает 58 % данных тренировочного набора, из которых 16 % выжило. Поэтому мы можем оценить на основании ограниченной информации, что шансы на выживание у Сомертона составляли 16 %. Наш простой алгоритм определяет две группы с более чем 50-процентными шансами на выживание. Во-первых, это женщины и дети в первом и втором классе (если у них нет редкой формы обращения), 93 % которых спаслись. Во-вторых, женщины и дети в третьем классе, при условии, что они не из многодетных семей, – из них выжило 60 %.
Рис. 6.3
Дерево классификации для данных по «Титанику», в котором последовательность вопросов приводит пассажиров к концу ветви, где указаны доли выживших для групп из тренировочного набора. Согласно прогнозу, конкретный человек выживет, если в аналогичной группе доля выживших превышает 50 %. Такой прогноз предлагается только для двух категорий пассажиров: женщин и детей из третьего класса из небольших семей, а также всех женщин и детей из первого и второго класса – при условии, что у них нет редких форм обращений
Прежде чем смотреть, как реально конструируется такое дерево, нам нужно решить, какие показатели эффективности следует использовать в нашем конкурсе.
Оценивание эффективности алгоритма
Если алгоритмы будут сравниваться по точности, нужно решить, что означает «точный». В конкурсной задаче о «Титанике» на платформе Kaggle это просто процентная доля пассажиров в тестовом наборе, которых алгоритм правильно классифицировал. Поэтому, после того как участники конкурса сконструируют алгоритмы, они дают свой прогноз на переменную отклика для тестового набора, а Kaggle измеряет точность прогнозов. Мы представим результаты сразу для всего тестового набора (подчеркнем, что это не то же самое, что тестовый набор Kaggle[128]).
Если применить дерево классификации, приведенное на рис. 6.3, к тренировочным данным, для которых оно разработано, то оно даст точность 82 %. Если этот алгоритм использовать на тестовом наборе, точность слегка упадет – до 81 %. В табл. 6.1 приведено число разных типов ошибок, допущенных алгоритмом; эта таблица называется матрицей ошибок. Когда мы пытаемся определить выживших, процент верно предсказанных из числа реально выживших именуется чувствительностью алгоритма, а процент верно предсказанных из числа реально погибших – специфичностью. Эти термины взяты из медицинских диагностических исследований[129].
Таблица 6.1
Матрица ошибок дерева классификации для тренировочных и тестовых данных, где отображается точность (% правильно классифицированных), чувствительность (% правильно классифицированных выживших) и специфичность (% правильно классифицированных погибших)
Хотя общую точность выразить достаточно просто, это очень грубая мера эффективности, не учитывающая, с какой надежностью делается прогноз. Если мы посмотрим на кончики ветвей дерева классификации, то увидим, что разделение тренировочных данных не идеально: на всех ветвях кто-то выжил, а кто-то – нет. При грубом правиле распределения мы просто выбираем результат большинства, но можем поступить и иначе, присвоив каждому новому случаю вероятность выживания, соответствующую доле выживших в тренировочном наборе. Например, человеку с формой обращения «мистер» мы могли бы дать вероятность выживания 16 %, а не просто однозначно предсказать, что он погибнет.
Алгоритмы, которые дают не простую классификацию, а вероятность (или какое-то другое число), часто сравниваются с помощью ROC-кривых[130], которые изначально были разработаны во время Второй мировой войны для анализа радиолокационных сигналов. Ключевая идея – возможность варьировать пороговое значение, при котором дается прогноз выживания. В табл. 6.1 показан эффект использования порогового значения 50 % для прогноза выживания, при этом значения специфичности и чувствительности в тренировочном наборе соответственно равны 0,84 и 0,78. Однако мы могли бы потребовать более высокую вероятность для предсказания, что кто-то выживет, например 70 %; в этом случае специфичность и чувствительность составили бы 0,98 и 0,50 соответственно. При таком более строгом пороговом значении мы правильно определим только половину реально выживших, но зато сделаем о них очень мало ложных утверждений. Если взять все пороговые значения для предсказания выживания, то все возможные значения для специфичности и чувствительности образуют кривую. Обратите внимание, что при изображении ROC-кривой значения специфичности традиционно идут по горизонтальной оси, уменьшаясь от 1 до 0.
На рис. 6.4 изображены ROC-кривые для тренировочного и тестового набора. Если алгоритм распределяет числа случайным образом (то есть абсолютно бесполезен), то его ROC-кривая будет диагональной линией. У самых лучших алгоритмов ROC-кривые подходят близко к левому верхнему углу. Стандартный способ сравнения разных ROC-кривых – измерить площадь под ними. Для бесполезного алгоритма она равна 0,5, а для идеального – 1. Для нашего тестового набора для данных о «Титанике» площадь под кривой составляет 0,82. Оказывается, для этой площади есть изящная интерпретация: если мы выбираем истинно выжившего и истинно погибшего случайным образом, то с вероятностью 82 % алгоритм дает истинно выжившему большую вероятность выживания, чем истинно погибшему. Области свыше 0,80 представляют весьма хорошую эффективность разделения. Площадь под ROC-кривой – это способ измерить, насколько точно алгоритм отделяет выживших от погибших, но она не отражает сами вероятности. Категория специалистов, которые лучше всего знакомы с вероятностными прогнозами, – это синоптики.
Рис. 6.4
ROC-кривые для дерева классификации, приведенного на рис. 6.3, примененные к тренировочному (пунктирная линия) и тестовому (сплошная линия) набору данных. «Чувствительность» – доля правильно предсказанных выживших. «Специфичность» – доля правильно предсказанных погибших. Площади областей под кривыми равны 0,84 и 0,82 для тренировочного и тестового набора соответственно
Как узнать, насколько точны прогнозы «вероятности осадков»?
Предположим, мы хотим предсказать, будет ли завтра дождь в конкретном месте в конкретное время. Простейшие алгоритмы могут просто давать ответ в виде «да/нет», и он может оказаться правильным или неправильным. Более сложные модели могут выдавать вероятность дождя, что позволяет принимать более точные решения, ведь ваши действия при вероятности дождя в 50 % могут сильно отличаться от действий, если алгоритм выдаст 5-процентную вероятность.
На практике прогнозы погоды основываются на крайне сложных компьютерных моделях, которые включают подробные математические формулы, отображающие развитие погоды из текущего состояния, и каждый прогон модели дает детерминистский прогноз «да/нет» для дождя в конкретном месте на конкретное время. Поэтому для получения вероятностного прогноза модель нужно прогнать много раз при слегка различных начальных условиях, что создаст в итоге список различных «возможных вариантов будущего», где в некоторых вариантах пойдет дождь, а в некоторых – нет. Синоптики запускают ансамбль, скажем, из 50 моделей, и если дождь будет в 5 из них, то они говорят о вероятности осадков в 10 %.
Но как проверить, насколько хороши такие вероятности? Мы не можем создать простую матрицу ошибок, как в случае дерева классификации, потому что алгоритм никогда не утверждает категорически, пойдет дождь или нет. Мы можем начертить ROC-кривые, но они только показывают, получают ли дни с дождем более частые прогнозы, чем дни без дождя. Ключевая идея – необходимость в проверке-калибровке, то есть если мы возьмем все дни, когда синоптики говорили о вероятности дождя в 70 %, то дождь действительно должен идти примерно в 70 % таких дней. Синоптики относятся к этому очень серьезно – вероятности должны соответствовать фактам.
Так называемые калибровочные графики позволяют увидеть, насколько достоверны заявленные вероятности; на них показывается общее количество событий с конкретной вероятностью появления, и доля случаев, когда событие действительно произошло.
На рис. 6.5 представлен калибровочный график для простого дерева классификации, использованного для тестового набора. Мы хотим, чтобы точки лежали ближе к диагонали (то есть заявленные вероятности соответствовали реальной доле наблюдений). Вертикальные отрезки означают области, в которых будет находиться реальная доля в 95 % случаев для данной предсказанной вероятности. Если они пересекают диагонали, как на рис. 6.5, мы можем считать, что наш алгоритм хорошо откалиброван.
Рис. 6.5
Калибровочный график для простого дерева классификации, дающего вероятности выживания при катастрофе «Титаника». По горизонтальной оси отложены прогнозы, по вертикальной – наблюдаемая доля выживших. Мы хотим, чтобы точки лежали на диагонали – это показывает, что вероятности надежны и означают именно то, о чем говорят
Комбинированное измерение «точности» для вероятностей
Хотя 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
Чрезмерно подогнанное к данным дерево классификации для данных о «Титанике». Как на рис. 6.3, процентная доля в конце каждой ветви – это доля выживших из тренировочного набора; каждый новый пассажир, по прогнозу, выживет, если эта доля больше 50 %. Довольно странный перечень вопросов подтверждает мысль, что дерево слишком приспособлено к конкретным случаям в тренировочном наборе
Такое явление называется переобучением, или переподгонкой[134], и считается одним из самых важных вопросов при конструировании алгоритмов. Слишком усложняя алгоритм, мы фактически начинаем подгонять его под шум, а не под сигнал. Рэндел Манро (карикатурист, автор веб-комикса xkcd) придумал прекрасную иллюстрацию к переобучению, предложив правдоподобные «правила»,которых до определенного момента придерживались американские президенты, но в итоге каждое все равно нарушалось[135]. Например:
• Никто из республиканцев не становился президентом, не победив в Палате представителей или Сенате – до Эйзенхауэра в 1952 году.
• Католики не могут победить – до Кеннеди в 1960 году.
• Никто не становился президентом после развода – до Рейгана в 1980 году.
И так далее, включая некоторые совершенно вычурные правила, скажем, такое:
• Никто из действующих президентов-демократов без боевого опыта не выигрывал у человека, чье первое имя дает больше очков в «Скрэббл»[136] – до тех пор, пока Билл Клинтон не победил Боба Доула в 1996 году (имя Билл дает шесть очков в «Скрэббл», а имя Боб – семь).
Переобучение происходит, когда мы заходим слишком далеко в стремлении приспособиться к локальным обстоятельствам, в благородном, но ложном порыве устранить смещение и учесть всю имеющуюся информацию. В обычных условиях мы бы аплодировали такой цели, однако эта очистка означает, что у нас становится меньше данных для работы и поэтому падает надежность. Стало быть, переобучение приводит к уменьшению смещения, но за счет большей неопределенности или разброса в оценках, поэтому защиту от него иногда называют дилеммой смещения – дисперсии.
Мы можем проиллюстрировать эту тонкую идею на следующем примере. Представьте огромную базу данных о продолжительности человеческой жизни, которая используется для предсказания вашего будущего здоровья, – например, ваши шансы дожить до 80 лет. Мы могли бы взять ваших сверстников с таким же, как у вас, социально-экономическим положением и посмотреть, что с ними случилось. Например, если их 10 тысяч и из них 80-летнего возраста достигли 8 тысяч, то можно оценить, что шансы дожить до 80 лет у вас и подобных вам людей составляют 80 %, причем можно быть вполне уверенным в этом числе, ведь оно основано на очень большой выборке.
Но такая оценка использует всего пару признаков, по которым вы сопоставляетесь с другими случаями из базы данных, и игнорирует множество индивидуальных характеристик, способных повлиять на наш прогноз, например недостаток внимания к своему здоровью или вредные привычки. Поэтому можно применить другую стратегию – найти более похожих на вас людей, скажем с тем же весом, ростом, артериальным давлением, уровнем холестерина, сходной физической активностью, которые курят, пьют, едят столько же, как и вы, и так далее. Предположим, что сопоставляя все больше и больше личных характеристик, мы сузили поиск до двух человек в базе данных, которые почти идеально совпадают с вами. Допустим, один дожил до 80, а второй – нет. Значит ли это, что ваши шансы достичь этого возраста равны 50 %? Эта величина в каком-то смысле имеет меньшее смещение, поскольку выборка вам максимально соответствует, но поскольку в ней всего два человека, оценка менее надежна, то есть у нее больше дисперсия.
Интуитивно понятно, что где-то между этими двумя крайними случаями есть золотая середина, и найти этот баланс трудно, но важно. Методы для устранения переобучения включают регуляризацию, когда поощряются сложные модели, но при этом влияние переменных приближается к нулю. Но, пожалуй, чаще всего используется простая, но мощная идея перекрестной проверки при конструировании алгоритма.
Важно проверять любые прогнозы на независимом тестовом наборе, который не использовался при обучении алгоритма, но мы это можем сделать только после окончания процесса разработки. Это укажет нам на наличие переобучения, но не поможет строить алгоритм. Однако мы можем сымитировать этот независимый тестовый набор, выделив на него, скажем, 10 % из тренировочных данных. Тогда мы отработаем алгоритм на оставшихся 90 %, а протестируем на выделенных 10 %. При этом процедуру можно провести не один раз – в нашем случае десять, ведь мы можем каждый раз брать в качестве тестового набора разные 10 процентов данных, и тогда у нас будет десять повторов – иными словами, десятикратная перекрестная проверка[137].
Все алгоритмы, описанные в данной главе, имеют какие-то настраиваемые параметры, которые предназначены главным образом для контроля сложности итогового алгоритма. Например, стандартная процедура построения дерева классификации – сначала сконструировать очень сложное дерево со множеством ветвей, намеренно сделав его переобученным, а затем обрезать дерево до чего-то более простого и надежного. Такая обрезка контролируется параметром сложности, который можно выбирать с помощью процедуры перекрестной проверки. Для каждой из создающихся при этом десяти выборок строится дерево для каждого из ряда параметров сложности. Затем для каждого значения параметра вычисляется средняя предсказательная эффективность по всем десяти перекрестным проверкам. До определенного момента эта средняя эффективность улучшается, а потом падает – когда деревья становятся слишком сложными. Оптимальное значение для параметра сложности – то, которое дает оптимум при перекрестной проверке, и далее оно используется для построения дерева на всем тренировочном наборе, которое и будет итоговым вариантом.
Десятикратная перекрестная проверка применялась как для выбора параметра сложности для дерева на рис. 6.3, так и для выбора параметров настройки во всех моделях, которые мы рассмотрим далее.
Регрессионные модели
Из главы 5 мы узнали, что суть регрессионной модели – построить простую формулу для предсказания результата. Переменной отклика для ситуации с «Титаником» будет результат типа «да/нет», который указывает, выжил человек или нет, поэтому логистическая регрессия уместна (как и в случае с операциями на сердце у детей, см. рис. 5.2).
В табл. 6.3 приведены результаты подбора для логистической регрессии. При обучении использовался бустинг[138] – итеративная процедура, призванная уделять повышенное внимание сложным случаям: неверно классифицированные люди из тренировочного набора получали при следующей итерации повышенный вес. Последовательность итераций создавалась с помощью десятикратной перекрестной проверки.
Таблица 6.3
Коэффициенты для признаков в логистической регрессии для данных о выживании пассажиров «Титаника»: отрицательные коэффициенты понижают шансы на выживание, а положительные – повышают
Для общей оценки выживаемости можно добавлять коэффициенты для признаков конкретного пассажира. Например, Фрэнсис Сомертон начинает с параметра 3,20. Затем вычитается 2,30 за то, что он плыл в третьем классе, и еще 3,86 за обращение «мистер», но потом добавляется 1,43, так как он был мужчиной в третьем классе. Еще 0,38 он теряет, поскольку его семья состоит из одного человека. В итоге его общая оценка составляет –1,91, что переводится в вероятность выживания 13 %, то есть чуть меньше, чем те 16 %, которые давало простое дерево классификации[139].
Это «линейная» система, но обратите внимание, что в нее входят некоторые сложные комбинированные признаки, например положительный балл за сочетание мужчины и третьего класса несколько компенсирует значительные отрицательные баллы за третий класс и обращение «мистер», которые уже были учтены. Хотя мы сосредоточены на предсказательной эффективности, эти коэффициенты действительно дают определенное понимание важности различных признаков.
Существует множество более сложных регрессионных подходов для работы с масштабными сложными задачами – например, нелинейные модели или процесс LASSO, который одновременно оценивает коэффициенты и выбирает подходящие предикторные переменные, фактически считая их коэффициенты нулевыми[140].
Более сложные методы
Деревья классификации и регрессионные модели возникают из несколько различных философий моделирования: деревья пытаются построить простые правила, которые определяют группы случаев со сходными ожидаемыми результатами, в то время как регрессионные модели сосредоточены на весах, которые придаются тому или иному признаку, безотносительно к тому, что еще наблюдалось для этого случая.
Специалисты по машинному обучению используют не только деревья классификации и регрессии, они разработали множество альтернативных, более сложных методов для создания алгоритмов. Например:
• Случайные леса – состоят из большого количества деревьев, каждое из которых производит какую-то классификацию. Итоговая классификация определяется большинством голосов – процесс известен как бэггинг[141].
• Методы опорных векторов – пытаются найти линейные комбинации признаков, которые лучше всего разделяют различные результаты.
• Нейронные сети – включают слои узлов, каждый узел зависит от предыдущего слоя с какими-то весами, то есть получается нечто вроде ряда логистических регрессий, наложенных друг на друга. Веса определяются с помощью процедур оптимизации; подобно случайным лесам, можно построить и усреднить несколько нейронных сетей. Нейронные сети с большим количеством слоев известны как модели глубокого обучения: говорят, что Inception – система распознавания образов Google – имеет больше двадцати слоев и свыше 300 тысяч параметров для оценки.
• Метод k-ближайших соседей – классифицирует объект в соответствии с большинством случаев среди ближайших соседей в тренировочном наборе, то есть присваивает объекту тот класс, который чаще всего встречается среди его k соседей.
В табл. 6.4 приведены результаты применения некоторых из этих методов к данным о «Титанике»; параметры настройки выбирались с помощью десятикратной перекрестной проверки, а в качестве критерия оптимизации использовались ROC-кривые.
Таблица 6.4
Эффективность различных алгоритмов для тестового набора данных о «Титанике»: полужирным шрифтом выделены наилучшие результаты. Сложные алгоритмы оптимизировались по максимизации площади под ROC-кривой
Высокая точность простейшего правила «все женщины выживают, все мужчины погибают», которая либо превосходит точность более сложных алгоритмов, либо лишь незначительно им уступает, демонстрирует неадекватность грубой «точности» как меры эффективности. Метод случайного леса дает наилучшее различение, отражаемое площадью под ROC-кривой, а (что, вероятно, удивительно) наилучший показатель Бриера дают вероятности из простого дерева классификации. Поэтому явного алгоритма-победителя нет. Позже, в главе 10, мы проверим, можно ли уверенно заявлять о победителе по каждому из этих критериев, поскольку преимущество лидеров настолько невелико, что его можно объяснить случайными отклонениями, например распределением, кто из пассажиров оказался в тренировочном наборе, а кто – в тестовом.
Это отражает общую озабоченность тем, что алгоритмы, выигрывающие соревнования на платформе Kaggle, имеют тенденцию к колоссальной сложности – и все ради крохотного итогового преимущества, необходимого для победы. Основная проблема в том, что эти алгоритмы напоминают непостижимые черные ящики – они выдают прогноз, но почти невозможно понять, что творится у них внутри. Здесь можно выделить три негативных аспекта. Во-первых, чрезвычайная сложность сильно затрудняет реализацию и модернизацию: когда Netflix предложила приз в миллион долларов за рекомендательные системы, победитель оказался настолько сложным, что Netflix его не использовала. Во-вторых, мы не знаем, откуда взялось такое заключение и насколько мы можем быть в нем уверены: нам приходится либо принимать, либо отказываться от него. Более простые алгоритмы легче для понимания. В-третьих, не понимая, как алгоритм выдает ответ, мы не можем исследовать его на наличие неявных, но систематических ошибок в отношении определенных участников сообщества – об этом мы подробно поговорим далее.
Все это указывает на то, что количественная эффективность может быть не единственным критерием алгоритма: как только она становится «достаточно хорошей», порой куда разумнее отказаться от попыток дальнейших небольших увеличений ради сохранения простоты.
Так кто оказался самым везучим на «Титанике»?
Таким выжившим можно считать человека с самым высоким показателем Бриера при усреднении по всем алгоритмам. Им стал Карл Даль, 45-летний норвежско-австралийский столяр[142], путешествовавший в одиночку в третьем классе и заплативший за билет столько же, сколько и Фрэнсис Сомертон; два алгоритма даже дали ему 0 % шансов на выживание. Попав в ледяную воду, он забрался на спасательную шлюпку № 15, несмотря на то что некоторые на шлюпке пытались столкнуть его обратно. Возможно, он просто применил силу.
Это резко контрастирует с судьбой Фрэнсиса Сомертона из Илфракомба, чья смерть, как мы видели, вполне вписывается в общую закономерность. Его жене Ханне Сомертон досталось всего 5 фунтов (меньше, чем Фрэнсис потратил на билет), а не успешный муж в Америке.
Проблемы алгоритмов
Алгоритмы способны демонстрировать замечательную эффективность, однако по мере увеличения их роли в обществе актуализируются и их потенциальные проблемы. На данный момент можно выделить четыре основные.
• Недостаток робастности (устойчивости). Алгоритмы создаются по связям, и в случае непонимания лежащих в их основе процессов они могут оказаться слишком чувствительны к изменениям. Даже если нас волнует исключительно точность, а не научная истина, нам по-прежнему нужно помнить базовые принципы цикла PPDAC и этапы перехода от данных, полученных из какой-то выборки, к утверждениям, касающимся всей целевой совокупности. Для предсказательной аналитики эта целевая совокупность включает будущие случаи, и если все остается по-прежнему, то алгоритмы, сконструированные по прошлым данным, должны работать хорошо. Но порой мир меняется. Мы уже отмечали провал алгоритмов при изменениях в финансовом мире 2007–2008 годов. Еще один яркий пример – попытка компании Google предсказать тенденции распространения вируса гриппа на основании закономерностей в поисковых запросах пользователей. Сначала все работало хорошо, но в 2013 году алгоритм начал резко завышать прогнозы для гриппа. Одно из объяснений – изменения, внесенные Google в поисковую систему, могли привести к большему количеству ключевых слов, указывавших на грипп.
• Отсутствие учета статистического разброса. Автоматическое ранжирование на основе ограниченного объема данных будет ненадежным. В США учителей оценивали и наказывали в соответствии с коэффициентом роста знаний их учеников за год, что проявлялось в невероятно резких изменениях в годовой оценке учителей: в Вирджинии, например, у четверти учителей фиксируется разница более чем в 40 баллов (по шкале 1–100 баллов) от года к году[143]. Но как такое может быть, ведь хорошие учителя обычно хороши и в этом году, и в следующем.
• Неявное смещение. Повторюсь, алгоритмы основаны на связях, а это может означать, что в итоге они используют признаки, которые мы, как правило, считаем не имеющими отношения к рассматриваемой задаче. Например, когда один алгоритм машинного зрения обучали отличать изображения хаски от немецких овчарок, он был эффективен, пока его не применили к хаски, которых содержали в квартирах в качестве домашних питомцев, – оказалось, что его эффективность основывалась на идентификации снега на заднем плане[144]. Менее тривиальные примеры включают алгоритм для определения красоты, которому не нравится темная кожа, и еще один алгоритм, идентифицирующий чернокожих людей как горилл. Некоторые алгоритмы способны серьезно повлиять на жизнь человека – например, присваивающие кредитный рейтинг или решающие вопросы страхования. Можно запретить использование расы в качестве одной из предикторных переменных, но применение почтовых индексов для указания местожительства может быть не менее мощным индикатором расы.
• Недостаток прозрачности. Некоторые алгоритмы могут быть непрозрачными из-за своей явной сложности. Но даже простые алгоритмы на базе регрессии становятся совершенно непостижимыми в случае закрытости (например, если речь идет о частном коммерческом продукте). Это одна из главных жалоб на алгоритмы, определяющие вероятность рецидива, такие как COMPAS компании Northpointe или LSI-R у MMR[145]. Они дают оценки или категории риска, которые можно использовать для принятия решений об условном осуждении или вынесении приговора, но при этом способ взвешивания различных факторов неизвестен. Более того, поскольку собирается информация и о воспитании, и о прошлых соучастниках, решения принимаются на основании не только личной истории, но и с учетом фоновых факторов, которые (как было показано) должны быть связаны с будущими преступными действиями, даже если они обусловлены таким фактором, как бедность и лишения. Конечно, если бы все, что имеет значение, давало точный прогноз, то можно было бы использовать любой признак, даже расовую принадлежность. Однако многие утверждают, что справедливость требует, чтобы такие алгоритмы были контролируемыми, прозрачными и подлежали обжалованию.
В какой-то степени можно объяснить даже собственные (проприетарные) алгоритмы – при условии, что мы можем экспериментировать с различными входными сигналами. При покупке онлайн-страховки предлагаемая сумма рассчитывается по некой неизвестной формуле, подчиняющейся только определенным юридическим ограничениям: например, в Великобритании расценки при страховании автомобиля не могут опираться на информацию о расе или на генетические данные (за исключением болезни Хантингтона[146]) и так далее. Однако мы все же можем получить представление о влиянии различных факторов, раз за разом давая ложные ответы и наблюдая, как меняются расценки: это предоставляет некоторую возможность обратного инжиниринга[147] для алгоритма – увидеть, какие факторы определяют предлагаемую сумму.
Необходимость в контролируемости алгоритмов, влияющих на жизнь людей, растет, и требования, чтобы выводы имели понятное объяснение, включаются в законодательство. Такие требования препятствуют использованию сложных черных ящиков и могут приводить к предпочтению (довольно старомодных) регрессионных алгоритмов, в которых влияние каждого фактора предельно ясно.
Однако, рассмотрев темную сторону алгоритмов, уместно закончить весьма полезным и обнадеживающим примером.
Какова ожидаемая польза от адъювантной терапии после операции при раке молочной железы?
Почти всем женщинам, у которых диагностирован рак молочной железы, делают операцию, хотя степень хирургического вмешательства может быть ограниченной. Критический вопрос – выбор адъювантной терапии[148] после операции, чтобы уменьшить вероятность рецидива и последующей смерти от рака. Возможны различные варианты – радиотерапия, гормональная терапия, химиотерапия и другие лекарственные средства. В терминологии цикла PPDAC это проблема.
План британских исследователей состоял в разработке алгоритма, который помогал бы принять такое решение с помощью данных о 5700 прошлых случаях рака молочной железы, имеющихся в канцер-регистре страны. Анализ включал построение алгоритма, использующего подробную информацию о конкретной женщине и ее опухоли для вычисления ее шансов на выживание в течение 10 лет после операции и их изменения в зависимости от различных методов лечения. Однако при анализе прошлых результатов требуется осторожность, поскольку причины выбора методов лечения неизвестны и мы не можем использовать видимые результаты из базы данных. Вместо этого создается регрессионная модель с выживаемостью в качестве результата, но эффект лечения оценивается по обзорам крупномасштабных клинических испытаний. Получившийся алгоритм общедоступен, а его разделительная эффективность и калибровка проверены на независимых наборах данных, включавших 27 тысяч женщин[149].
Созданное программное обеспечение называется Predict 2.1, и результаты его работы выдаются в виде доли схожих по анамнезу женщин, которые, как ожидается, проживут 5 и 10 лет при различных видах адъювантной терапии. В табл. 6.5 приведены некоторые результаты для воображаемой женщины, а на рис. 6.7 – кривые выживаемости из Predict 2.1 для периода до 15 лет после операции.
