Введение
Исправление неточных компьютерных записей
Очистка данных — это процесс выявления и исправления (или удаления) поврежденных или неточных записей из набора записей, таблицы или базы данных. Он включает в себя определение неполных, неправильных, неточных или нерелевантных частей данных с последующей их заменой, изменением или удалением. Очистка данных может выполняться интерактивно с использованием инструментов для работы с данными или как пакетная обработка с помощью скриптов или межсетевого экрана контроля качества данных. После очистки набор данных должен быть согласован с другими аналогичными наборами данных в системе. Несоответствия, обнаруженные или устраненные, могли быть изначально вызваны ошибками ввода данных пользователями, повреждением при передаче или хранении, либо различными определениями словаря данных для схожих сущностей в разных хранилищах. Очистка данных отличается от проверки данных тем, что проверка обычно приводит к отклонению данных при вводе и выполняется в момент ввода, а не для пакетов данных. Фактический процесс очистки данных может включать удаление опечаток или проверку и исправление значений по известному списку сущностей. Проверка может быть строгой (например, отклонение любого адреса без корректного почтового индекса) или выполняться с использованием нечеткого или приблизительного сопоставления строк (например, исправление записей, частично совпадающих с существующими известными записями). Некоторые решения для очистки данных очищают данные путем перекрестной проверки с проверенным набором данных. Распространенной практикой очистки данных является обогащение данных, при котором данные дополняются связанной информацией для повышения их полноты. Например, к адресам могут быть добавлены соответствующие номера телефонов. Очистка данных также может включать гармонизацию (или нормализацию) данных, представляющую собой процесс объединения данных, представленных в "различных форматах файлов, соглашениях об именовании и столбцах", и преобразования их в единый согласованный набор данных. Простым примером является расшифровка сокращений ("st, rd и т.д." в "street, road, etcetera").
Мотивация
Административно некорректные и противоречивые данные могут приводить к ошибочным выводам и неверному распределению инвестиций как в государственном, так и в частном секторе. Например, правительство может анализировать данные переписи населения, чтобы определить, какие регионы нуждаются в дополнительных расходах и инвестициях в инфраструктуру и услуги. В этом случае важно иметь доступ к надежным данным, чтобы избежать неверных финансовых решений. В бизнесе некорректные данные могут обходиться дорого. Многие компании используют базы данных о клиентах, в которых хранятся такие сведения, как контактная информация, адреса и предпочтения. Например, если адреса указаны непоследовательно, компания понесет расходы на повторную отправку почты или даже потеряет клиентов.
Качество данных
Высококачественные данные должны соответствовать набору критериев качества. Валидность: степень соответствия данных определенным бизнес-правилам или ограничениям (см. также Валидность (статистика)). При использовании современных технологий баз данных для разработки систем сбора данных обеспечить валидность относительно просто: невалидные данные возникают главным образом в устаревших системах (где ограничения не были реализованы в программном обеспечении) или при использовании неподходящих технологий сбора данных (например, электронных таблиц, где сложно ограничить ввод пользователя в ячейку, если не используется валидация ячейки). Ограничения данных относятся к следующим категориям: Ограничения типа данных: значения в определенном столбце должны быть определенного типа данных, например, логического, числового (целого или вещественного), даты. Ограничения диапазона: как правило, числовые значения или даты должны находиться в пределах определенного диапазона, то есть иметь минимальное и/или максимальное допустимое значение. Обязательные ограничения: определенные столбцы не могут быть пустыми. Уникальные ограничения: поле или комбинация полей должны быть уникальными во всем наборе данных. Например, у двух человек не может быть одинакового номера социального страхования. Ограничения на членство в наборе: значения в столбце выбираются из дискретного набора значений или кодов. Например, пол человека может быть женским, мужским или небинарным. Ограничения внешнего ключа: это более общий случай ограничения на членство в наборе. Набор значений в столбце определяется столбцом другой таблицы, содержащей уникальные значения. Например, в базе данных налогоплательщиков США столбец "штат" должен содержать одно из определенных штатов или территорий США: набор допустимых штатов/территорий хранится в отдельной таблице штатов. Термин "внешний ключ" заимствован из терминологии реляционных баз данных. Проверка по регулярным выражениям: иногда текстовые поля необходимо проверять таким образом. Например, телефонные номера могут быть обязаны соответствовать шаблону (999) 999–9999. Перекрестная проверка полей: должны выполняться определенные условия, использующие несколько полей. Например, в лабораторной медицине сумма компонентов дифференциального анализа крови должна быть равна 100 (поскольку все они выражены в процентах). В больничной базе данных дата выписки пациента не может быть раньше даты поступления. Точность: степень соответствия измерения стандарту или истинному значению (см. также Точность и прецизионность). Достичь высокой точности с помощью очистки данных в общем случае сложно, поскольку это требует доступа к внешнему источнику данных, содержащему истинное значение: такие "золотые стандарты" часто недоступны. Однако точность была достигнута в некоторых контекстах очистки, в частности, контактных данных клиентов, с использованием внешних баз данных, сопоставляющих почтовые индексы с географическими местоположениями (город и штат) и помогающих проверить, существуют ли фактические адреса в этих почтовых индексах. Полнота: степень, в которой известны все необходимые измерения. Неполноту данных практически невозможно исправить методами очистки данных: невозможно вывести факты, которые не были зафиксированы при первоначальной записи данных. (В некоторых случаях, например, при анализе данных интервью, можно исправить неполноту, обратившись к первоисточнику данных, то есть повторно опросив респондента, но даже это не гарантирует успеха из-за проблем с памятью – например, в интервью для сбора данных о потреблении пищи, вряд ли кто-то точно вспомнит, что он ел шесть месяцев назад. В системах, требующих заполнения определенных столбцов, можно обойти проблему, указав значение, обозначающее "неизвестно" или "отсутствует", но предоставление значений по умолчанию не означает, что данные стали полными.) Согласованность: степень эквивалентности набора измерений в разных системах (см. также Согласованность). Несогласованность возникает, когда два элемента данных в наборе противоречат друг другу: например, информация о клиенте в двух разных системах содержит разные текущие адреса, и только один из них может быть верным. Исправление несогласованности не всегда возможно: для этого требуются различные стратегии – например, определение, какие данные были записаны недавно, какой источник данных считается наиболее надежным (эти знания могут быть специфичны для организации) или просто попытка установить истину, проверив оба элемента данных (например, позвонив клиенту). Однородность: степень, в которой набор измерений данных указывается с использованием одних и тех же единиц измерения во всех системах (см. также Единица измерения). В наборах данных, собранных из разных регионов, вес может быть указан в фунтах или килограммах и должен быть преобразован в единую единицу измерения с помощью арифметического преобразования. Целостность охватывает точность, согласованность и некоторые аспекты валидации (см. также целостность данных), но редко используется сама по себе в контексте очистки данных из-за недостаточной конкретики. (Например, термин "ссылочная целостность" используется для обозначения обеспечения ограничений внешнего ключа, описанных выше.)
Validity: The degree to which the measures conform to defined business rules or constraints (see also Validity (statistics)). When modern database technology is used to design data capture systems, validity is fairly easy to ensure: invalid data arises mainly in legacy contexts (where constraints were not implemented in software) or where inappropriate data capture technology was used (e. g., spreadsheets, where it is very hard to limit what a user chooses to enter into a cell, if cell validation is not used). Data constraints fall into the following categories:
Data Type Constraints: values in a particular column must be of a particular data type, e. g., Boolean, numeric (integer or real), date. Range Constraints: typically, numbers or dates should fall within a certain range. That is, they have minimum and/or maximum permissible values. Mandatory Constraints: Certain columns cannot be empty. Unique Constraints: A field, or a combination of fields, must be unique across a dataset. For example, no two persons can have the same social security number. Set Membership constraints: The values for a column come from a set of discrete values or codes. For example, a person's sex may be Female, Male or Non Binary. Foreign key constraints: This is the more general case of set membership. The set of values in a column is defined in a column of another table that contains unique values. For example, in a US taxpayer database, the "state" column is required to belong to one of the US's defined states or territories: the set of permissible states/territories is recorded in a separate State table. The term foreign key is borrowed from relational database terminology. Regular expression patterns: Occasionally, text fields will have to be validated this way. For example, phone numbers may be required to have the pattern (999) 999–9999. Cross field validation: Certain conditions that utilize multiple fields must hold. For example, in laboratory medicine, the sum of the components of the differential white blood cell count must be equal to 100 (since they are all percentages). In a hospital database, a patient's date of discharge from the hospital cannot be earlier than the date of admission. Accuracy: The degree of conformity of a measure to a standard or a true value see also Accuracy and precision. Accuracy is very hard to achieve through data cleansing in the general case because it requires accessing an external source of data that contains the true value: such "gold standard" data is often unavailable. Accuracy has been achieved in some cleansing contexts, notably customer contact data, by using external databases that match up zip codes to geographical locations (city and state) and also help verify that street addresses within these zip codes actually exist. Completeness: The degree to which all required measures are known. Incompleteness is almost impossible to fix with data cleansing methodology: one cannot infer facts that were not captured when the data in question was initially recorded. (In some contexts, e. g., interview data, it may be possible to fix incompleteness by going back to the original source of data, i. e. re interviewing the subject, but even this does not guarantee success because of problems of recall e. g., in an interview to gather data on food consumption, no one is likely to remember exactly what one ate six months ago. In the case of systems that insist certain columns should not be empty, one may work around the problem by designating a value that indicates "unknown" or "missing", but the supplying of default values does not imply that the data has been made complete.) Consistency: The degree to which a set of measures are equivalent in across systems (see also Consistency). Inconsistency occurs when two data items in the data set contradict each other: e. g., a customer is recorded in two different systems as having two different current addresses, and only one of them can be correct. Fixing inconsistency is not always possible: it requires a variety of strategies e. g., deciding which data were recorded more recently, which data source is likely to be most reliable (the latter knowledge may be specific to a given organization), or simply trying to find the truth by testing both data items (e. g., calling up the customer). Uniformity: The degree to which a set data measures are specified using the same units of measure in all systems ( see also Unit of measure). In datasets pooled from different locales, weight may be recorded either in pounds or kilos and must be converted to a single measure using an arithmetic transformation. The term integrity encompasses accuracy, consistency and some aspects of validation (see also data integrity) but is rarely used by itself in data cleansing contexts because it is insufficiently specific. (For example, "referential integrity" is a term used to refer to the enforcement of foreign key constraints above.)
Система
Основная задача этой системы – найти оптимальный баланс между исправлением некорректных данных и сохранением данных максимально близкими к исходным данным из производственной системы-источника. Это сложная задача для архитектора ETL (Extract, transform, load). Система должна обеспечивать архитектуру, способную очищать данные, регистрировать события, связанные с качеством данных, и измерять/контролировать качество данных в хранилище данных. Хорошим началом будет проведение тщательного анализа профилирования данных, который поможет определить необходимую сложность системы очистки данных и даст представление о текущем качестве данных в системе(-ах)-источнике.
Качественные экраны
Частью системы очистки данных является набор диагностических фильтров, известных как качественные экраны. Каждый из них выполняет проверку в потоке данных, и в случае неудачи записывает ошибку в схему событий об ошибках. Качественные экраны делятся на три категории: экраны столбцов. Они проверяют отдельные столбцы, например, на наличие неожиданных значений, таких как NULL; нечисловые значения, которые должны быть числовыми; значения вне допустимого диапазона и т.д. Структурные экраны. Они используются для проверки целостности различных связей между столбцами (обычно внешних/первичных ключей) в одной или разных таблицах. Также они применяются для проверки соответствия группы столбцов определенным структурным требованиям. Экраны бизнес-правил. Это наиболее сложные из трех типов проверок. Они проверяют, соответствуют ли данные, возможно, из нескольких таблиц, определенным бизнес-правилам. Например, если клиент отнесен к определенному типу, должны соблюдаться бизнес-правила, определяющие этот тип клиента. При обнаружении ошибки качественным экраном, процесс обработки данных может быть остановлен, ошибочные данные могут быть направлены в место, отличное от целевой системы, или данные могут быть помечены. Последний вариант считается наилучшим решением, поскольку первый требует ручного устранения проблемы при каждом возникновении, а второй приводит к отсутствию данных в целевой системе (нарушению целостности) и неопределенности в отношении дальнейших действий с этими данными.
Column screens. Testing the individual column, e. g. for unexpected values like NULL values; non numeric values that should be numeric; out of range values; etc. Structure screens. These are used to test for the integrity of different relationships between columns (typically foreign/primary keys) in the same or different tables. They are also used for testing that a group of columns is valid according to some structural definition to which it should adhere. Business rule screens. The most complex of the three tests. They test to see if data, maybe across multiple tables, follow specific business rules. An example could be, that if a customer is marked as a certain type of customer, the business rules that define this kind of customer should be adhered to. When a quality screen records an error, it can either stop the dataflow process, send the faulty data somewhere else than the target system or tag the data. The latter option is considered the best solution because the first option requires, that someone has to manually deal with the issue each time it occurs and the second implies that data are missing from the target system (integrity) and it is often unclear what should happen to these data.
Схема событий ошибки
Схема событий об ошибках содержит записи обо всех событиях ошибок, сгенерированных экранами контроля качества. Она состоит из таблицы фактов событий об ошибках с внешними ключами к трем таблицам измерений, представляющим дату (когда), пакетную задачу (где) и экран (кто вызвал ошибку). Также она содержит информацию о точном времени возникновения ошибки и степени ее серьезности. Кроме того, существует таблица фактов деталей события об ошибках с внешним ключом к основной таблице, содержащая подробную информацию о том, в какой таблице, записи и поле произошла ошибка, а также об условиях возникновения ошибки.