Для любого определенного набора данных и любой предложенной статистической модели механизма их происхождения мы можем рассчитать вероятность возникновения такого набора данных в соответствии с этой моделью. Принцип максимального правдоподобия гласит, что из двух статистических моделей мы должны предпочесть ту, для которой вероятность генерации этих данных выше. В более общем смысле, если у нас есть несколько, много или даже бесконечное число возможных объяснений происхождения набора данных, согласно принципу максимального правдоподобия мы должны выбрать то, которое с наибольшей вероятностью их породило. Итеративный подход – это метод нахождения такой модели, когда отсутствующие данные принадлежат категориям NDD или SDD.
Мы начинаем с подстановки значений на место недостающих, причем получить их можем как угодно, вплоть до случайных предположений. Затем на основе дополненного таким образом набора данных – где присутствуют и наблюдаемые значения, и вмененные – мы оцениваем соотношения переменных, используя принцип максимального правдоподобия. Далее мы берем эти оценочные соотношения и получаем новые замены для пропущенных значений. Затем мы снова используем дополненные данные с новыми вмененными значениями, чтобы сделать следующий виток оценки взаимосвязей, и т. д., цикл за циклом. При соблюдении определенных общих условий значения замещения меняются с каждым циклом все меньше и меньше, и наконец мы приходим к окончательным оценочным соотношениям переменных – тем, которые и представляют модель максимального правдоподобия.
Эти повторяющиеся циклы – выбор значений для пропущенных элементов и последующее использование дополненных данных для получения оценок взаимосвязей между переменными, что, в свою очередь, дает новые замещающие значения для пропущенных элементов, – являются продуктивной идеей, которую в разной форме выдвигали многие ученые. Три статистика – Артур Демпстер, Нэн Лэрд и Дональд Рубин, с последним из которых мы уже встречались, – в своей основополагающей статье 1977 г. обобщили варианты этой идеи, продемонстрировали их общность и придали им более абстрактную форму, допускающую широкое применение в различных ситуациях. Они назвали свой метод EM-алгоритмом, или алгоритмом максимизации ожиданий. Он включает в себя два шага в каждом цикле: первый шаг – вычисление ожидаемого значения для каждого пропущенного элемента, и второй – оценка соотношений переменных с использованием дополненного набора данных. Второй шаг в каждом цикле называется максимизацией, потому что он максимизирует вероятность.
На самом деле Демпстер, Лэрд и Рубин показали, что нет необходимости заходить так далеко, чтобы найти отсутствующим значениям замену. Все, что необходимо, это смоделировать распределение, из которого, вероятно, пришли недостающие значения. Мы столкнулись с этой концепцией, когда рассматривали анализ выживания. Напомню: мы не пытались оценить интервалы выживания тех, кто остался жив после окончания периода наблюдения, а просто использовали вероятность того, что они будут жить дольше, чем этот период.
EM-алгоритм активизирует эту концепцию. После того, как Демпстер и его коллеги представили абстрактное описание двухэтапного циклического алгоритма, стало очевидно, что фундаментально эта идея уже возникла повсюду и проявлялась порой весьма неожиданно. Кроме того, алгоритм был расширен и дополнен различными методами, например, были разработаны модификации, которые требуют меньшего числа итераций «ожидание – максимизация» до момента, когда заменители пропущенных значений (и соотношения переменных) перестанут изменяться, то есть до того, как процесс приблизится к наилучшей (в смысле максимального правдоподобия) модели.
Абстрактное представление EM-алгоритма также помогло лучшему пониманию проблемы в целом. В главе 1 я упомянул, что любые неизвестные характеристики генеральной совокупности могут рассматриваться как недостающие значения и, следовательно, как темные данные. Это очень плодотворная идея. Такими базовыми характеристиками могут быть и какие-то простые значения (например, средний рост населения), и значения комплексные, включая множественные ненаблюдаемые латентные переменные, которые связаны сложным образом. Классическим примером является траектория движущегося объекта, когда мы не можем наблюдать его точное положение в каждый момент времени, а имеем лишь значения, искаженные ошибкой измерения. Во многих случаях лежащие в основе темные данные являются не просто тем, что не наблюдалось – они по своей сути ненаблюдаемы. Это скрытые, или латентные, переменные (отсюда модели с латентными переменными). Но ненаблюдаемость не означает, что на такие данные нельзя пролить свет – собственно, в этом и состоит основная цель статистических методов. Применение статистических инструментов к данным, сгенерированным в реальности, может кое-что поведать об этой реальности: данные начинают излучать свет и освещают все вокруг.
В этом разделе мы разобрали то, как можно анализировать данные и получить представление о процессах, которые их генерируют, даже если имеются темные данные. Мы рассмотрели целый ряд общих методов: от самых простых способов работы с доступными данными и исключения неполных записей до многообразных методов вменения, которые призваны определить, какими были бы недостающие данные, если бы были измерены. Мы также рассмотрели важную классификацию, описывающую структуру отсутствующих данных, – связаны ли они и как именно с данными, которые наблюдались. Эта классификация состоит из трех категорий – NDD, SDD и UDD – и помогает более глубокому пониманию вопросов борьбы с темными данными. В следующей главе мы изменим тактику и вместо того, чтобы бороться, посмотрим, как можно использовать темные данные. В частности, мы для начала оглянемся назад и посмотрим на некоторые идеи с новой точки зрения. Но прежде скажем несколько слов о данных, которые мы можем видеть, но которые являются обманчивыми.
Неправильное число!
До сих пор в этой главе мы имели дело с недостающими данными. Но мы уже знаем, что данные могут являться темными и по другим причинам, например DD-тип 10: ошибки измерения и неопределенность, DD-тип 9: обобщение данных и DD-тип 7: данные, меняющиеся со временем. Рассмотрение этих типов позволит нам более широко взглянуть на проблему темных данных и поможет исследовать три основных шага в работе с ними, а именно: предотвращение, обнаружение и исправление.
Предотвращение
Ошибки в данных предотвращаются, во-первых, благодаря пониманию того, какие именно ошибки бывают, и, во-вторых, путем создания систем, которые препятствуют их возникновению на этапе сбора данных. Что касается понимания, то оно приходит с опытом – вы или сами совершаете ошибки, или, что куда приятнее, учитесь, глядя, как их совершают другие. (Однажды я услышал, как кто-то из увольнявшихся из компании сказал менеджеру: «Спасибо, что предоставили мне так много возможностей учиться на чужих ошибках».)
Итак, если мы вводим данные непосредственно в базу данных, то по мере их ввода можно осуществлять несложные проверки. Например, если речь идет о дате рождения, то для машины не составит труда проверить, является ли она допустимой. Бдительность не бывает излишней. Я слышал об одном случае, когда набор данных имел странный пик по датам рождения, приходившийся на 11 ноября 1911 г. Как выяснилось, дату рождения требовалось вводить шестью цифрами в формате день/месяц/год и программисты были в курсе, что люди иногда вводят 00/00/00, если не хотят указывать свой день рождения. Поэтому они запрограммировали форму сбора данных таким образом, что, если кто-то вводил шесть нулей, машина отклоняла дату и требовала повторить попытку. Но программисты не учли одного: в этот момент те, кто особенно не хотел «светить» свой день рождения, делали простейшую вещь, которая первой приходит в голову – они вбивали последовательность из шести единиц, что принималось базой данных и выглядело как 11 ноября 1911 г.