Обзор типовых ошибок в данных и инструменты очистки данных
Автор:Осипова Ю.Г.
Источник: Научная исследовательская работа студента. — Донецьк, ДонНТУ — 2012.
Автор:Осипова Ю.Г.
Источник: Научная исследовательская работа студента. — Донецьк, ДонНТУ — 2012.
Очистка данных (data cleaning, data cleansing или scrubbing) занимается выявлением и удалением ошибок и несоответствий в данных с целью улучшения качества данных. Проблемы с качеством встречаются в отдельных наборах данных - таких как файлы, хранилища данных и т.д.. Когда интеграции подлежит множество источников данных (например, в Хранилищах данных, интегрированных системах баз данных или глобальных информационных Интернет-системах), необходимость в очистке данных существенно возрастает. Это происходит от того, что источники часто содержат разрозненные данные в различном представлении. Для обеспечения доступа к точным и согласованным данным необходима консолидация различных представлений данных и исключение дублирующейся информации. Специальные средства очистки обычно имеют дело с конкретными областями - в основном это имена и адреса - или же с исключением дубликатов. Преобразования обеспечиваются либо в форме библиотеки правил, либо пользователем в интерактивном режиме. Преобразования данных могут быть автоматически получены с помощью средств согласования схемы.
Метод очистки данных должен удовлетворять ряду критериев.
На сегодняшний день интерес к очистке данных возрастает. Целый ряд исследовательских групп занимается общими проблемами, связанными с очисткой данных, в том числе, со специфическими подходами к Data Mining и преобразованию данных на основании сопоставления схемы. В последнее время некоторые исследования коснулись единого, более сложного подхода к очистке данных, включающего ряд аспектов преобразования данных, специфических операторов и их реализации. Рассмотрение материала более подробно приведено ниже.
В огромных компаниях данные количество данных, которые необходимо где-то хранить. Для этого существуют Хранилища данных.
При его создании очень мало внимания уделяется очистке поступающей в него информации. Видимо считается, что чем больше размер хранилища, тем лучше. Это порочная практика и лучший способ превратить хранилище данных в свалку мусора. Данные очищать необходимо. Ведь информация разнородна и собирается из различных источников. Именно наличие множеств точек сбора информации делает процесс очистки особенно актуальным.
По большому счету, ошибки допускаются всегда, и полностью избавится от них не получится. Возможно, иногда есть резон смириться с ними, чем тратить деньги и время на избавление от них. Но, в общем случае, стремятся любым способом снизить количество ошибок до приемлемого уровня. Применяемые для анализа методы и так грешат неточностями, так зачем же усугублять ситуацию?
К тому же нужно учесть психологический аспект проблемы. Если аналитик не будет уверен в цифрах, которые получает из хранилища данных, то будет стараться ими не пользоваться и воспользуется сведениями, полученными из других источников. Это будет очень неудобно и дорогостояще, поэтому компании стараются иметь свой пакет, с помощью который можно бы получить нормальные данные после слияния информации, представленной в различном виде, и импортировать ее в Хранилище данных, для дальнейшего использования.
Особое внимание уделяют персональным данным (данные полученные с заполненех анкет и т.д.)
Персональными данными называется любая информация, касающаяся определенного человека. Таковыми могут быть его фамилия, адрес, телефон, семейное положение, занимаемая должность, предпочтения и т.д. В последнее время личная информация всё чаще используется в маркетинговых исследованиях. На основании собранных персональных данных рассчитываются стратегии развития бизнеса, позволяющие увеличить доход и привлечь новых клиентов.
Информация о потребителях собирается из многочисленных источников: анкет покупателей, регистрационной информации с сайтов, опросов на улицах, телефонных звонков по спискам потребителей и т.д. Путем слияния всех полученных сведений в одну клиентскую базу составляются "портреты" клиентов. Следовательно, аналитики компании не смогут сделать выводы из такой информации, если данные не будет откорректированы, т.е. очищены.
Фамилия | Имя | Отчество | Дата рождения | Пол | Телефон |
---|---|---|---|---|---|
Иванов И.И. | 12.04.2011 | Женский | 050934243 | ||
Петров | Петр | Петрович | 12.06.61 | М | +3080634321223 |
Причины возникновения подобных проблем:
Низкое качество данных приводит к результатам анализа, несоответствующим действительности.
Цель обработки такой персональной информации теряет всякий смысл. Чтобы получить реальные выводы из имеющихся данных, применяются методы по их очистке.
Они включают в себя две стадии:
На первом шаге данные исследуются на предмет "загрязненности". Устанавливается, есть ли в них ошибки и к какому виду они относятся.
В зависимости от обнаруженных недостатков на следующем шаге происходит их устранение. На выходе этой стадии образуются данные, приведенные к единому формату и очищенные от найденных ошибок. Они пригодны для последующей обработки и могут участвовать в бизнес-анализе.
Существуют такие виды ошибок:
На сегодняшний день рынок программного обеспечения предлагает большой выбор средств, целью которых является не только преобразование, но очистка данных.
Эрхард Рам (Erhard Ram) и Хонг Хай До (Hong Hai Do), опубликовавшие в 2000 году огромнейшую статью посвященную очистки данных, предложили свою классификацию средств очистки и соответствующие им инструментов[3].
Специальные средства очистки работают с именами, адресами и с исключением дубликатов.
Преобразования обеспечиваются двумя способами:
Преобразования данных могут быть автоматически получены и с помощью средств согласования схемы.
Ряд средств ориентированы на специфическую область – на такую как очистка персональных данных (имена и адреса) или на специфические фазы очистки - например, анализ данных или исключение дубликатов. Благодаря своей ограниченной области применения, специализированные средства обычно очень эффективны, но недостатком является то, что они нуждаются в дополнении другими инструментами для работы с широким спектром проблем преобразования и очистки.
Имена и адреса записаны в различных источниках и обычно имеют множество элементов, поэтому поиск соответствий их конкретному потребителю имеет большое значение для управления отношениями с клиентами. Ряд коммерческих инструментов, например IDCENTRIC (First Logic), PUREINTEGRATE (Oracle), QUICKADDRESS (QAS Systems), REUNION (Pitney Bowes) и TRILLIUM (Trillium Software), предназначены для очистки именно таких данных.
Они содержат соответствующие методы:
Они включают огромную библиотеку предопределенных правил относительно проблем, часто встречающихся в данных такого рода. Например, модуль извлечение TRILLIUM (парсер) и модуль сопоставления содержат свыше 200000 бизнес-правил. Эти инструменты обеспечивают и возможности настройки или расширения библиотеки правил за счет правил, определенных пользователем для собственных специфических случаев.
DATACLEANSER (EDD), MERGE/PURGELIBRARY (Sagent/QMSoftware), MATCHIT (HelpITSystems) и MASTERMERGE (Pitney Bowes) – это средства, предназначены для выявления и удаления дубликатов. Обычно они требуют, чтобы источник данных уже был очищен и подготовлен для согласования. Средства DATACLEANSER и MERGE/PURGE LIBRARY позволяют интегрировать правила согласования, определенные пользователем.
Средства ETL обеспечивают возможность сложных преобразований и большей части технологического процесса преобразования и очистки данных. Общей проблемой средств ETL являются ограниченные за счет собственных API и форматов метаданных возможности взаимодействия, усложняющие совместное использование различных средств.
Многие коммерческие инструменты поддерживают процесс ETL для Хранилищ данных на комплексном уровне, например, COPYMANAGER (Information Builders), DATASTAGE (Informix/Ardent), EXTRACT (ETI), POWERMART (Informatica), DECISIONBASE (CA/Platinum), DATATRANSFORMATIONSERVICE (Microsoft), METASUITE (Minerva/Carleton), SAGENTSOLUTIONPLATFORM (Sagent) и WAREHOUSEADMINISTRATOR (SAS). Для единообразного управления всеми метаданными по источникам данных, целевым схемам, маппированиям, скриптам и т.д. они используют репозиторий на основе СУБД. Схемы и данные извлекаются из оперативных источников данных как через "родной" файл и шлюзы СУБД DBMS, так и через стандартные интерфейсы - например ODBC и EDA. Преобразования данных определяются через простой графический интерфейс. Для определения индивидуальных шагов маппирования обычно существует собственный язык правил и комплексная библиотека предопределенных функций преобразования. Эти средства поддерживают и повторное использование существующих преобразованных решений, например внешних процедур C/C++ с помощью имеющегося в них интерфейса для их интеграции во внутреннюю библиотеку преобразований. Процесс преобразования выполняется либо системой, интерпретирующей специфические преобразования в процессе работы, либо откомпилированным кодом. Все средства на базе системы (например, COPYMANAGER, DECISIONBASE, POWERMART, DATASTAGE, WAREHOUSEADMINISTRATOR), имеют планировщик и поддерживают технологические процессы со сложными зависимостями выполнения между этапами преобразования. Технологический процесс может также помогать работе внешних средств (скажем, в специфических задачах очистки это будут очистка имен/адресов или исключение дубликатов).
Средства ETL обычно содержат мало встроенных возможностей очистки, но позволяют пользователю определять функциональность очистки через собственный API. Как правило, анализ данных для автоматического выявления ошибок и несоответствий в данных не поддерживается. Тем не менее, пользователи могут реализовывать такую логику при работе с метаданными и путем определения характеристик содержимого с помощью функций агрегации (sum, count, min, max, median, variance, deviation,:). Поставляемая библиотека преобразований отвечает различным потребностям преобразования и очистки - например конверсию типов данных (в частности, переформатирование данных), строковые функции (расщепление, слияние, замена, поиск по подстроке), арифметические, научные и статистические функции и т.д. Извлечение значений из атрибутов свободного формата автоматизировано неполностью, и пользователю приходится определять разделители, разграничивающие фрагменты значений.
Языки правил обычно охватывают конструкции if-then и case, способствующие обработке исключений в значениях данных, - неверных написаний, аббревиатур, утраченных или зашифрованных значений и значений вне допустимого диапазона. Эти проблемы могут также решаться с помощью функциональных возможностей по выборке данных из таблиц. Поддержка согласования элементов данных обычно ограничена использованием возможностей объединения и нескольких простых строковых функций соответствия, например точного или группового соответствия или soundex. Тем не менее, определенные пользователем функции соответствия полей, так же как и функции корреляции сходства полей, могут программироваться и добавляться во внутреннюю библиотеку преобразований.
Джули Борт предложила свою классификацию средств очистки данных, которая подразделяет инструменты очистки данных на две условные категории:
К этой категории относится большая часть продуктов, имеющихся на рынке. Это: Enterprise Integrator компании Apertus; Integrity Data Reengineering Tool производства Validy Technology; Data Quality Administrator от Gladstone Computer Services; Inforefiner фирмы Platinium Technology; QDB Analyze (производство QDB Solutions) Trillium Software System компании Hart-Hanks Data Technologies.
Эти системы следует выбирать тогда, когда речь идет о создании банков данных всего предприятия и, соответственно, о сплошной очистке данных. Каждая система использует собственную технологию и имеет собственную сферу приложений. Некоторые из них работают в пакетном режиме, например Trillium, которая просматривает данные в поисках определенных образов и обучается на основе найденной информации. Образы, подлежащие распознаванию (скажем, названия фирм или городские адреса), задаются на этапе предварительного программирования. Другие продукты, как то системы компаний Apertus и Validy, представляют собой средства разработки. В первой применяются правила, написанные на языке Object Query Language. С ней довольно легко работать, но для написания правил требуется настоящее мастерство.
Система компании Validy при отборе записей использует алгоритмы нечеткой логики и делает это очень эффективно, выуживая такое, что человеку просто в голову не пришло бы проверять. Но эту систему труднее освоить.
Использование специальных средств очистки и редактирования данных – процесс автоматизированный, который не является идеальным, т.е. может не только откорректировать необходимые данные, но и добавить новые, которых ранее в них не было.
Рич Олшефски (Rich Olshefski) предлагает классификацию ошибок в данных, которые возникают в результате использования средств очистки. Эти ошибки являются двумя крайностями очистки данных. Качественные, правильно очищенные данные находятся где-то на "золотой середине" между этими крайностями по очистке и редактированию данных.
Самая сложная задача, стоящая перед программой очистки данных, заключается в минимизации ошибок Типа 1 и 2. Для устранения ошибок Типа 1 программа должна стараться не исправлять то, что и так верно. Это сразу же закономерным образом повышает вероятность возникновения ошибки Типа 2. Ошибок Типа 2 можно избежать путем скрупулезной работы с данными, что, конечно же, незамедлительно приводит к излишней очистке и, соответственно, - к допущению ошибки Типа 1. Т.е. получается замкнутый круг
Некоторые программы очистки стараются так или иначе поддерживать баланс между излишней тщательностью и излишним доверием, создавая объемистые отчеты о "подозрительных" записях. Эти программы собирают все подозрительное в одну большую кучу, которая и является таким отчетом. Такая методика существенно увеличивает затраты на уточнение данных, поскольку требует участия дорогостоящих человеческих ресурсов.
Другим путем чрезмерной компенсации ошибок Типа 1 является внесение слишком малого числа исправлений. А самые примитивные - и поэтому наиболее опасные - программы очистки данных стараются компенсировать и ошибки Типа 2, выдавая на выходе хуже данные, чем они были до "очистки".
Определение качественной программы очистки данных, по словам Рича Олшефски, состоит из четырех элементов. Программа должна:
Именно такая программа будет "золотой серединой" между ошибками Типа 1 и 2.
Рич Олшефски предложил свой путь к достижению такого равновесия.
Каждая программа очистки данных имеет некую базу знаний, используемую для поиска и исправления ошибок. Чем она больше и разнообразнее по составу информации, тем лучше результаты очистки.
Он предлагает советы по выбору программного обеспечения, поддерживающего равновесие между двумя возможными перегибами в процессе очистки данных.
"Очистка данных" может иметь множество значений, но в целом она означает обеспечение поддержки очистки данных, так или иначе связанных с потребителем. Инструменты очистки данных обычно выполняют одну или несколько из следующих функций.
Несмотря на то, что описанные средства являются достаточно современными, они, тем не менее, не решают всех проблем и все еще требуют дополнительной обработки вручную или дополнительного программирования. Кроме того, они имеют весьма ограниченные возможности взаимодействия (собственные API и представления метаданных). Тем не менее, эти средства демонстрируют нам важность и сложность задач очистки данных.
Здесь описаны лишь часть проблемы. Многие ее аспекты все еще нуждаются в изучении и разработке. Необходимо тщательнее изучить проектирование и реализацию наилучших языковых методов поддержки преобразований схемы и данных. Например, операторы типа Match, Merge или Mapping Composition изучались отдельно на уровне данных элемента данных или схемы, однако они могут быть реализованы на одних и тех же принципах. Очистка данных нужна для Хранилищ данных и для обработки запросов по неоднородным источникам данных, например - в информационных web-системах. Эта среда обладает гораздо более существенными ограничениями для очистки данных, которые нужно учитывать при выборе соответствующих методов. Очистка же частично структурированных данных, - например, на базе XML, - вероятно, еще важнее, так как структурные ограничения постоянно снижаются, а объемы XML-данных стремительно растут.
3. Erhard Rahm, Hong Hai Do. Статья: Data Cleaning: Problems and Current Approaches [электронный ресурс] — Режим доступа: http://wwwiti.cs.uni-magdeburg.de/iti_d...
4. Чубукова И.А. Статья: Процесс Data Mining. Начальные этапы [электронный ресурс] — Режим доступа: http://www.intuit.ru/...
2. Беликова Александра. Статья: Проблема обработки персональных данных [электронный ресурс] — Режим доступа: http://www.basegroup.ru/library/...
3. Арустамов Алексей. Статья: Предобработка и очистка данных перед загрузкой в хранилище [электронный ресурс] — Режим доступа: http://sysdba.org.ua/proektirovanie-bd/etl/predobrabotka-i-ochistka-dannyih-pered-zagruzkoy-v-hranilische.html
4. Basegroup. Статья: Технология обработки клиентских баз [электронный ресурс] — Режим доступа: http://www.dupmatch.com/...
5. Статья: ETL. [электронный ресурс] — Режим доступа: http://ru.wikipedia.org/wiki/ETL
1. Роналд Фоурино. Статья: Электронное качество данных: скрытая перспектива очистки данных [электронный ресурс] — Режим доступа: http://www.iso.ru/р... - Электронный ресурс, хранящий статьи, которые были обублекованные в известных журналах