Шрифт:
Интервал:
Закладка:
Дублирование данных может быть использовано в качестве общей стратегии предотвращения ошибок. Оно подразумевает ввод данных или по крайней мере какой-то их части более чем одним способом. Распространенным методом, особенно при проведении клинических испытаний, является система двойного ввода данных, когда значения переносятся (например, из бумажных форм сбора данных в компьютер) двумя людьми независимо. Вероятность того, что они совершат одну и ту же ошибку в одном и том же месте, ничтожно мала.
Еще можно вводить не только последовательности чисел, но и их суммы. Компьютер складывает введенные числа и сравнивает результат с заявленной суммой. Несовпадение сумм будет означать, что допущена ошибка в одном или нескольких введенных числах (за исключением очень редких случаев, когда две ошибки взаимно компенсируют друг друга). Существуют разные версии этой идеи «контрольной суммы», в том числе и очень мудреные.
Обнаружение
Пример с 11 ноября 1911 г. и использование контрольных сумм для предотвращения ошибок граничат со следующим этапом – обнаружением ошибок. Ошибки в данных могут быть обнаружены, потому что эти данные не согласуются с аналогичными или ожидаемыми данными. Значение 3 м 2 см в базе данных роста людей немедленно вызовет подозрения – нам не известен ни один человек с подобным ростом. Возможно, это ошибка ввода данных и истинное значение – 2 м 3 см (хотя предполагать недостаточно и следует обратиться к источнику данных, если, конечно, есть такая возможность).
Ошибки также могут быть обнаружены при наличии логических несоответствий. Если заявленное количество детей в семье не соответствует числу их возрастов в анкете, значит, что-то не так. Несоответствия могут быть не только логическими, но и статистическими. Рост 1,5 м и вес 150 кг, указанные для одного человека, могут вызвать подозрение в ошибке, хотя по отдельности рост 1,5 м и вес 150 кг встречаются не так уж редко.
Более сложный пример статистического обнаружения странностей встречается в распределении Бенфорда. Первое описание этого распределения (иногда его называют законом Бенфорда), по-видимому, было сделано в 1881 г. американским астрономом Саймоном Ньюкомом. В своей работе он использовал логарифмические таблицы – до появления компьютеров с их помощью перемножали большие числа. Ньюком обратил внимание на тот факт, что первые страницы логарифмических таблиц всегда были замусолены больше, чем последующие. Закон был повторно открыт почти 60 лет спустя физиком Фрэнком Бенфордом, который провел обширное исследование, показавшее, что частое использование более ранних значений по сравнению с более поздними характерно для очень разных числовых таблиц.
Так в чем же состоит закон Бенфорда?
Во-первых, мы должны определить самую значимую цифру числа. Как правило, это первая цифра: наиболее значимой для числа 1965 является цифра 1, а для 6 009 518 432 – цифра 6. В наборе чисел можно ожидать, что наиболее значимые цифры будут встречаться с тем же распределением, что и цифры от 1 до 9. Иначе говоря, вы можете ожидать, что каждая цифра от 1 до 9 будет первой цифрой числа для одной девятой всех чисел набора. Но, что любопытно, во многих полученных наборах чисел цифры от 1 до 9 встречаются в качестве наиболее значимых в разных пропорциях: 1 встречается примерно в 30 % случаев, 2 – в 18 % и т. д. по убывающей, вплоть до 9, которая служит наиболее значимой цифрой всего для 5 % чисел в наборе. Закон Бенфорда посредством точной математической формулы как раз и описывает это распределение.
Существуют веские математические причины, по которым может возникнуть это странно противоречащее нашей интуиции явление, но мы не будем вдаваться в них на страницах этой книги[158]. Для нас важно отметить, что если данные отклоняются от распределения Бенфорда, то это повод проверить, не закралась ли какая-то ошибка. Марк Нигрини, эксперт в области судебной бухгалтерии, разработал инструменты на основе распределения Бенфорда для обнаружения мошенничества в финансовой и бухгалтерской отчетностях. И здесь есть один важный для нас момент. Инструменты для выявления странного поведения данных, возникающего вследствие ошибок, могут быть использованы и для поиска странностей, когда реальные цифры намеренно скрываются, то есть для выявления мошенничества. В главе 6 я упомянул, что правила борьбы с отмыванием денег требуют от регулирующих органов сообщать о выплатах в размере $10 000 или более. Преступники пытаются преодолеть это ограничение, разделяя общую сумму перевода на множество транзакций с чуть меньшим, чем пороговое, значением. Но превышение стандартной доли переводов, сумма которых начинается с цифры 9 (например, $9999), будет отображаться как отклонение от распределения Бенфорда.
Я довольно долго работал с розничными банками, разрабатывая инструменты для выявления потенциальных случаев мошенничества со счетами кредитных карт. Многие из этих инструментов основаны именно на поиске странных значений, которые вполне могут быть ошибками, но порой указывают на мошеннические действия.
Есть еще одно важное замечание по поводу обнаружения ошибок: вы никогда не можете быть уверены, что обнаружили их все. К сожалению, истина заключается в том, что наличие ошибок (иногда) может быть доказано, а вот их отсутствие – нет. Хотя данные могут становиться ошибочными неограниченным количеством способов, число способов, которыми их можно проверить, всегда конечно. Тем не менее к этой ситуации, несомненно применим принцип Парето, и мы можем утверждать, что большинство ошибок будет обнаружено с относительно небольшими усилиями. Однако здесь действует и другой закон – закон убывающей отдачи. Если вы обнаружите 50 % ошибок, приложив определенные усилия, то точно такие же усилия, приложенные вновь, смогут обнаружить 50 %, но уже от оставшихся ошибок. Такое убывание результата будет сопровождать каждый цикл и означает, что вы никогда не сможете выявить все ошибки.
Исправление
Третий этап в борьбе с темными данными, после предотвращения и обнаружения ошибок, – это их исправление. После того, как вы заметили неверное значение, нужно понять, каким оно должно быть. Методы исправления ошибок – если, конечно, исправление вообще возможно – зависят от того, что вам известно об ожидаемых значениях, и от общего понимания возникающих ошибок. Примеры с неуместными десятичными разделителями в главе 4 иллюстрируют то, как наше общее понимание данных и опыт прошлых ошибок подсказывают, каким должно быть истинное значение. Аналогичный пример: если в таблице зарегистрировано значение скорости велосипедиста 240 км/ч, притом что все другие значения лежат в диапазоне между 8 км/ч и 32 км/ч, логично предположить, что затесался лишний ноль и истинное значение составляет 24 км/ч. Однако не стоит сразу вносить исправления, предположив истину, – необходимо всесторонне проверить свое предположение. Прежде чем исправлять ошибку в последнем примере, нелишне будет узнать, что в сентябре 2018 г. чемпионка мира по велоспорту Дениз Мюллер-Коренек установила рекорд скорости на велосипеде, разогнав его до 296 км/ч. Если не вернуться к исходному источнику или не повторить измерение, мы не сможем быть уверены в том, какое значение должно быть на месте предполагаемого ошибочного, даже если сам факт ошибки не вызывает сомнений.