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