Введение

Исправление неточных компьютерных записей

Очистка данных — это процесс выявления и исправления (или удаления) поврежденных или неточных записей из набора записей, таблицы или базы данных. Он включает в себя определение неполных, неправильных, неточных или нерелевантных частей данных с последующей их заменой, изменением или удалением. Очистка данных может выполняться интерактивно с использованием инструментов для работы с данными или как пакетная обработка с помощью скриптов или межсетевого экрана контроля качества данных. После очистки набор данных должен быть согласован с другими аналогичными наборами данных в системе. Несоответствия, обнаруженные или устраненные, могли быть изначально вызваны ошибками ввода данных пользователями, повреждением при передаче или хранении, либо различными определениями словаря данных для схожих сущностей в разных хранилищах. Очистка данных отличается от проверки данных тем, что проверка обычно приводит к отклонению данных при вводе и выполняется в момент ввода, а не для пакетов данных. Фактический процесс очистки данных может включать удаление опечаток или проверку и исправление значений по известному списку сущностей. Проверка может быть строгой (например, отклонение любого адреса без корректного почтового индекса) или выполняться с использованием нечеткого или приблизительного сопоставления строк (например, исправление записей, частично совпадающих с существующими известными записями). Некоторые решения для очистки данных очищают данные путем перекрестной проверки с проверенным набором данных. Распространенной практикой очистки данных является обогащение данных, при котором данные дополняются связанной информацией для повышения их полноты. Например, к адресам могут быть добавлены соответствующие номера телефонов. Очистка данных также может включать гармонизацию (или нормализацию) данных, представляющую собой процесс объединения данных, представленных в "различных форматах файлов, соглашениях об именовании и столбцах", и преобразования их в единый согласованный набор данных. Простым примером является расшифровка сокращений ("st, rd и т.д." в "street, road, etcetera").

Мотивация

Административно некорректные и противоречивые данные могут приводить к ошибочным выводам и неверному распределению инвестиций как в государственном, так и в частном секторе. Например, правительство может анализировать данные переписи населения, чтобы определить, какие регионы нуждаются в дополнительных расходах и инвестициях в инфраструктуру и услуги. В этом случае важно иметь доступ к надежным данным, чтобы избежать неверных финансовых решений. В бизнесе некорректные данные могут обходиться дорого. Многие компании используют базы данных о клиентах, в которых хранятся такие сведения, как контактная информация, адреса и предпочтения. Например, если адреса указаны непоследовательно, компания понесет расходы на повторную отправку почты или даже потеряет клиентов.

Качество данных

Высококачественные данные должны соответствовать набору критериев качества. Валидность: степень соответствия данных определенным бизнес-правилам или ограничениям (см. также Валидность (статистика)). При использовании современных технологий баз данных для разработки систем сбора данных обеспечить валидность относительно просто: невалидные данные возникают главным образом в устаревших системах (где ограничения не были реализованы в программном обеспечении) или при использовании неподходящих технологий сбора данных (например, электронных таблиц, где сложно ограничить ввод пользователя в ячейку, если не используется валидация ячейки). Ограничения данных относятся к следующим категориям: Ограничения типа данных: значения в определенном столбце должны быть определенного типа данных, например, логического, числового (целого или вещественного), даты. Ограничения диапазона: как правило, числовые значения или даты должны находиться в пределах определенного диапазона, то есть иметь минимальное и/или максимальное допустимое значение. Обязательные ограничения: определенные столбцы не могут быть пустыми. Уникальные ограничения: поле или комбинация полей должны быть уникальными во всем наборе данных. Например, у двух человек не может быть одинакового номера социального страхования. Ограничения на членство в наборе: значения в столбце выбираются из дискретного набора значений или кодов. Например, пол человека может быть женским, мужским или небинарным. Ограничения внешнего ключа: это более общий случай ограничения на членство в наборе. Набор значений в столбце определяется столбцом другой таблицы, содержащей уникальные значения. Например, в базе данных налогоплательщиков США столбец "штат" должен содержать одно из определенных штатов или территорий США: набор допустимых штатов/территорий хранится в отдельной таблице штатов. Термин "внешний ключ" заимствован из терминологии реляционных баз данных. Проверка по регулярным выражениям: иногда текстовые поля необходимо проверять таким образом. Например, телефонные номера могут быть обязаны соответствовать шаблону (999) 999–9999. Перекрестная проверка полей: должны выполняться определенные условия, использующие несколько полей. Например, в лабораторной медицине сумма компонентов дифференциального анализа крови должна быть равна 100 (поскольку все они выражены в процентах). В больничной базе данных дата выписки пациента не может быть раньше даты поступления. Точность: степень соответствия измерения стандарту или истинному значению (см. также Точность и прецизионность). Достичь высокой точности с помощью очистки данных в общем случае сложно, поскольку это требует доступа к внешнему источнику данных, содержащему истинное значение: такие "золотые стандарты" часто недоступны. Однако точность была достигнута в некоторых контекстах очистки, в частности, контактных данных клиентов, с использованием внешних баз данных, сопоставляющих почтовые индексы с географическими местоположениями (город и штат) и помогающих проверить, существуют ли фактические адреса в этих почтовых индексах. Полнота: степень, в которой известны все необходимые измерения. Неполноту данных практически невозможно исправить методами очистки данных: невозможно вывести факты, которые не были зафиксированы при первоначальной записи данных. (В некоторых случаях, например, при анализе данных интервью, можно исправить неполноту, обратившись к первоисточнику данных, то есть повторно опросив респондента, но даже это не гарантирует успеха из-за проблем с памятью – например, в интервью для сбора данных о потреблении пищи, вряд ли кто-то точно вспомнит, что он ел шесть месяцев назад. В системах, требующих заполнения определенных столбцов, можно обойти проблему, указав значение, обозначающее "неизвестно" или "отсутствует", но предоставление значений по умолчанию не означает, что данные стали полными.) Согласованность: степень эквивалентности набора измерений в разных системах (см. также Согласованность). Несогласованность возникает, когда два элемента данных в наборе противоречат друг другу: например, информация о клиенте в двух разных системах содержит разные текущие адреса, и только один из них может быть верным. Исправление несогласованности не всегда возможно: для этого требуются различные стратегии – например, определение, какие данные были записаны недавно, какой источник данных считается наиболее надежным (эти знания могут быть специфичны для организации) или просто попытка установить истину, проверив оба элемента данных (например, позвонив клиенту). Однородность: степень, в которой набор измерений данных указывается с использованием одних и тех же единиц измерения во всех системах (см. также Единица измерения). В наборах данных, собранных из разных регионов, вес может быть указан в фунтах или килограммах и должен быть преобразован в единую единицу измерения с помощью арифметического преобразования. Целостность охватывает точность, согласованность и некоторые аспекты валидации (см. также целостность данных), но редко используется сама по себе в контексте очистки данных из-за недостаточной конкретики. (Например, термин "ссылочная целостность" используется для обозначения обеспечения ограничений внешнего ключа, описанных выше.)

Система

Основная задача этой системы – найти оптимальный баланс между исправлением некорректных данных и сохранением данных максимально близкими к исходным данным из производственной системы-источника. Это сложная задача для архитектора ETL (Extract, transform, load). Система должна обеспечивать архитектуру, способную очищать данные, регистрировать события, связанные с качеством данных, и измерять/контролировать качество данных в хранилище данных. Хорошим началом будет проведение тщательного анализа профилирования данных, который поможет определить необходимую сложность системы очистки данных и даст представление о текущем качестве данных в системе(-ах)-источнике.

Качественные экраны

Частью системы очистки данных является набор диагностических фильтров, известных как качественные экраны. Каждый из них выполняет проверку в потоке данных, и в случае неудачи записывает ошибку в схему событий об ошибках. Качественные экраны делятся на три категории: экраны столбцов. Они проверяют отдельные столбцы, например, на наличие неожиданных значений, таких как NULL; нечисловые значения, которые должны быть числовыми; значения вне допустимого диапазона и т.д. Структурные экраны. Они используются для проверки целостности различных связей между столбцами (обычно внешних/первичных ключей) в одной или разных таблицах. Также они применяются для проверки соответствия группы столбцов определенным структурным требованиям. Экраны бизнес-правил. Это наиболее сложные из трех типов проверок. Они проверяют, соответствуют ли данные, возможно, из нескольких таблиц, определенным бизнес-правилам. Например, если клиент отнесен к определенному типу, должны соблюдаться бизнес-правила, определяющие этот тип клиента. При обнаружении ошибки качественным экраном, процесс обработки данных может быть остановлен, ошибочные данные могут быть направлены в место, отличное от целевой системы, или данные могут быть помечены. Последний вариант считается наилучшим решением, поскольку первый требует ручного устранения проблемы при каждом возникновении, а второй приводит к отсутствию данных в целевой системе (нарушению целостности) и неопределенности в отношении дальнейших действий с этими данными.

Схема событий ошибки

Схема событий об ошибках содержит записи обо всех событиях ошибок, сгенерированных экранами контроля качества. Она состоит из таблицы фактов событий об ошибках с внешними ключами к трем таблицам измерений, представляющим дату (когда), пакетную задачу (где) и экран (кто вызвал ошибку). Также она содержит информацию о точном времени возникновения ошибки и степени ее серьезности. Кроме того, существует таблица фактов деталей события об ошибках с внешним ключом к основной таблице, содержащая подробную информацию о том, в какой таблице, записи и поле произошла ошибка, а также об условиях возникновения ошибки.