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