Искусство статистики. Как находить ответы в данных — страница 20 из 56

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

Прежде чем конструировать алгоритм для классификации или прогнозирования, возможно, придется сократить объем исходных данных по величине 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 %.