Шрифт:
Интервал:
Закладка:
Однако важно помнить, что по определению симулированные данные поступают из гипотетической модели. Они являются темными данными (DD-тип 14: фальшивые и синтетические данные), которые возникают не в результате реального процесса. Очевидно, что если модель неверна, если она плохо отображает реальность, то мы рискуем получить искаженное представление о том, что могло бы произойти. Здесь работает то же правило, что и везде: если у вас нет глубокого понимания вопроса, вы легко можете сбиться с пути.
Из этой книги вы уже знаете, как часто мы хотим оценить то, чего не было, или то, что не можем наблюдать непосредственно. Например, мы пытаемся диагностировать заболевание, основываясь исключительно на симптомах; или прогнозировать число пассажиров нью-йоркского метро в следующем году, исходя из того, сколько человек совершило поездку в этом; или понять, на что будет походить национальная экономика через десятилетие; или предсказать, какой потенциальный заемщик допустит дефолт по кредиту, какой студент преуспеет на курсе, какой соискатель будет более эффективно выполнять работу.
Общей особенностью этих ситуаций является то, что в нашем распоряжении есть данные, описывающие ряд предыдущих случаев (людей, у которых были заболевания, пассажиропоток прошлых лет или поведение реальных заемщиков). И для каждого из этих случаев мы знаем исход (какое именно заболевание, сколько пассажиров, количество дефолтов), а также описательные характеристики (симптомы, повторяющиеся маршруты, информация из формы заявки). Мы можем использовать эти исторические данные для моделирования взаимосвязи между описательными характеристиками и исходом. Такая модель позволит прогнозировать исходы для других случаев исключительно на основе их описательных характеристик.
Эта базовая структура – совокупность прошлых наблюдений, дающая нам и характеристики, и исходы, которую мы используем для построения модели, связывающей характеристики с результатом, чтобы в дальнейшем предсказывать новые исходы – распространена повсеместно. Подобные модели часто называют прогностическими, хотя «прогноз», возвращаясь к нашим примерам, может быть связан с неизвестным диагнозом, а вовсе не обязательно с будущим пассажиропотоком. Будучи исключительно популярными, прогностические модели стали предметом огромного числа исследований. На сегодня разработано множество методов построения таких моделей с широким спектром специфических свойств, и можно выбрать наилучший, соответствующий конкретной задаче.
Но какое отношение все это имеет к темным данным? Мы проиллюстрируем это на очень простом примере и базовом прогностическом методе. Задача: спрогнозировать доход, исходя только из одной переменной – возраста. Чтобы построить возможную модель, мы соберем данные о парах значений «возраст/доход» на основе выборки. Самым простым методом будет прогнозирование дохода нового человека, возраст которого нам известен, используя значение дохода других людей того же возраста. Так, если мы хотим предсказать доход кого-то в возрасте 26 лет и в нашей выборке есть один человек такого возраста, то в простейшем случае мы используем его доход в качестве нашего прогноза. Если же в нашей выборке есть и другие 26-летние, мы используем данные каждого из них, чтобы рассчитать средний доход. В более общем смысле средние значения обеспечат лучший прогноз, поскольку они менее подвержены случайным колебаниям. Это означает, что было бы разумно включить также доходы 25-летних и 27-летних, поскольку они, вероятно, будут близки к доходам 26-летних, а их включение увеличит размер выборки. Аналогичным образом мы могли бы включить тех, кому 24 года и 28 лет и т. д., но при этом придавать меньший вес их значениям по мере удаления от 26. Эта стратегия позволила бы нам сделать прогноз, даже если в выборке нет ни одного человека в возрасте 26 лет.
Чтобы понять, как это связано с темными данными, давайте посмотрим на то же исследование под другим углом. Стараясь спрогнозировать доход человека в возрасте 26 лет, по сути, мы создаем новый набор данных путем случайной репликации значений в существующей выборке. Мы делаем много копий 26-летних, чуть меньше копий тех, кому 25 и 27 лет, еще меньше – тех, кому 24 и 28, и т. д. Как будто у нас изначально была гораздо более широкая выборка, основную часть которой мы по какой-то причине просто не видели. Усреднение доходов по всем реплицированным даст соответствующую оценку доходов людей в возрасте 26 лет.
Этот пример нагляден, но в реальной жизни обычно все несколько сложнее. Как правило, вместо одной описательной характеристики, такой как возраст в нашем примере, мы будем иметь дело с несколькими или даже с множеством характеристик. Например, мы можем охарактеризовать пациентов по их возрасту, росту, весу, полу, систолическому и диастолическому артериальному давлению, пульсу в состоянии покоя, а также по ряду симптомов и результатов медицинских тестов, чтобы оценить вероятность выздоровления нового пациента с определенным набором значений. Как и в предыдущем примере мы создадим новый набор данных, реплицирующий людей таким образом, что у нас будет больше копий тех, кто имеет характеристики, очень схожие с характеристиками интересующего нас человека, и чем меньше будет это сходство, тем меньше будет и число копий. Люди, которые полностью отличаются по всем характеристикам от нашего пациента, могут не воспроизводиться вовсе. После того, как собраны все реплицированные данные, мы просто вычисляем долю тех, кто выздоровел, и принимаем это значение за предполагаемую вероятность выздоровления.
Эта базовая идея стратегической репликации данных в случаях, когда требуется получить намного больший и, соответственно, более релевантный набор данных, используется и иным образом. В целях упрощения мы рассмотрим алгоритмы машинного обучения для распределения объектов по классам, как в предыдущем диагностическом примере или как в случае вопроса о том, может ли подавший заявку на ипотеку допустить дефолт по платежам (то есть принадлежать одному из двух классов: «да» или «нет»). Но теперь мы рассмотрим идеи, которые используются для повышения эффективности таких алгоритмов.
Как правило, алгоритмы для создания подобных диагностических классификаций могут ошибаться: симптомы часто бывают неоднозначными, а у молодого кандидата на ипотеку может быть очень короткая история финансовых транзакций. Один из способов улучшить такой алгоритм состоит в том, чтобы изучить случаи, которые он ранее неверно классифицировал, и посмотреть, сможем ли мы каким-то образом изменить или скорректировать его, чтобы прогнозы стали точнее. Метод, который позволяет сделать это, – создание искусственных данных по следующей схеме. Мы начинаем с определения пациентов или кандидатов, по которым был сделан неправильный прогноз, и добавляем к данным дополнительные копии этих случаев, возможно, огромное число дополнительных копий. Теперь, когда мы настроим параметры нашей модели для классификации этого расширенного набора данных, она будет вынуждена уделять больше внимания случаям, в которых ранее ошибалась. Чтобы лучше понять это, представьте себе экстремальную ситуацию, в которой ранее неверно классифицированный случай был реплицирован 99 раз и теперь существует 100 абсолютно идентичных его копий. Ранее наша классификация выдавала только один ошибочный случай, что было незначительным, но теперь этих случаев стало в 100 раз больше. Эффективность метода классификации значительно улучшится, если у нас получится настроить его так, чтобы он мог теперь правильно оценивать этот случай (и его 99 копий).