
- •Федеральное агентство по образованию
- •1.2. Базы данных - основа сппр
- •1.3. Неэффективность использования oltp-систем для анализа данных
- •Лекция 2. Архитектура современной информационно- аналитической системы
- •2.1. Концепция хранилища данных
- •2.2. Организация хд
- •2.3. Очистка данных
- •2.4. Концепция хранилища данных и анализ
- •3.1. Многомерная модель данных
- •3.4.2. Rolap
- •Многомерное проектирование
- •Выбор архитектуры olap-приложения
- •Заключение
- •Общая структура мер и измерений
- •Лекция 5. Интеллектуальный анализ данных
- •1. Добыча данных – Data Mining
- •2. Задачи Data Mining
- •2.1. Классификация задач Data Mining
- •2.2. Задача классификации и регрессии
- •2.3. Задача поиска ассоциативных правил
- •2.4. Задача кластеризации
- •1.1. Предсказательные (predictive) модели
- •1.2. Описательные (descriptive) модели
- •2. Методы Data Mining
- •2.1. Базовые методы
- •2.2. Нечеткая логика
- •2.3. Генетические алгоритмы
- •2.4. Нейронные сети
- •3. Процесс обнаружения знаний
- •3.1. Основные этапы анализа
- •3.2. Подготовка исходных данных
2.3. Очистка данных
Одной из важных задач, решаемых при переносе данных в ХД, является ихочистка. С одной стороны, данные загружаются постоянно из различных источников,
поэтому вероятность попадания "грязных данных" весьма высока. С другой стороны, ХД используются для принятия решений, и "грязные данные" могут стать причиной
принятияневерных решений.Такимобразом,процедураочистки являетсяобязательной при переносе данных из ОИД в ХД. Ввиду большого спектра возможных
несоответствий в данных их очистка считается одной из самых крупных проблем втехнологии ХД. Основные проблемы очистки данныхможно классифицировать по
следующим уровням:
Рассмотрим перечисленные уровни и соответствующие им проблемы болееподробно.
Уровень ячейки таблицы. На данном уровне задача очистки заключается ванализе и исправлении ошибок в данных, хранящихся в ячейках таблиц БД. К таким
ошибкам можно отнести следующие.
1. Орфографические ошибки (опечатки)— возникают при вводе информации.
Они могут привести к неправильному пониманию, а также к искажению реальныхданных. Например, при продаже товара вместо количества 1000 было введено 10 000или вместо названия товара "Водка"было введено название "Вода".
2. Отсутствие данных — такие ошибки происходят из-за отсутствия у операторасоответствующих данных при вводе информации. Главной задачей OLTP-систем является обеспечение ежедневных операций с данными, по этомуоператор можетпропустить ввод неизвестных ему данных, а не тратить время на их выяснение. Какследствие, вБД могут оставаться незаполненные ячейки (содержащие значение NULL).
3. Фиктивныезначения— этозначения,введенныеоператором,нонеимеющиесмысла. Наиболеечастотакаяпроблемавстречается вполях,обязательных длязаполнения, нопри отсутствии у оператора реальных данных онвынужден вводить бессмысленные данные, например: номер социального страхования
999-99-9999,или возраст клиента 999,или почтовый индекс 99999. Проблемаусугубляется, если существует вероятность появления реальных данных, которыемогут быть приняты за фиктивные, например, номер социального страхования 888-88-
8888 для указания на статус клиента-иностранца "нерезидент" или месячный доход в
размере
$99 999,99 для указания на то,что клиент имеет работу.
4. Логически неверные значения — значения, не соответствующие логическомусмыслу, вкладываемому в данное поле таблицы. Например, в поле "Город" находитсязначение "Россия", или вполе "температура больного"значение 10.
5. Закодированные значения — сокращенная запись или кодировка реальных
данных, используемая для уменьшения занимаемого места.
6. Составные значения — значения, содержащие несколько логических данных
в одной ячейке таблицы. Такая ситуация возможна в полях произвольного формата(например, строковых или текстовых). Проблема усугубляется, если отсутствуетстрогий формат записи информации втакие поля.
Уровень записи. На данном уровне возникает проблема противоречивости
значений в разных полях записи, описывающей один и тот же объект предметнойобласти, например, когда возраст человека не соответствует его году рождения: age =
22, bdate = 12.02.50.
Уровень таблицы БД. На данном уровне возникают проблемы, связанные с
несоответствием информации, хранящейся в таблице и относящейся к разнымобъектам. На этом уровне наиболее часто встречаются следующие проблемы.
противоречивостью:
• дублирующиеся записи (один и тот же человек записан в таблицу два
раза, хотя значения полей уникальны):empl=(name="John Smith", ...) ; emp2=(name="J.Smith", ...);
• противоречивые записи (об одном человеке в разных случаях введена
разная информация о дате рождения,хотя значения полей уникальны):empl=(name="John Smith", bdate=12.02.70); emp2=(name="J.Smith", bdate=12.12.70);
Уровень одиночной БД. На данном уровне, как правило, возникают проблемы,
связанные с нарушением целостности данных.
Уровень множества БД. На этом уровне возникают проблемы, связанные снеоднородностью как структур БД, так и хранящейся в них информации. Можновыделить следующие основные проблемыэтого уровня:
различие структур БД (различие наименований полей, типов, размеров
в разных БД существуют одинаковые наименования разных атрибутов;
При решении задачи очистки данных, прежде всего, необходимо отдавать себеотчет в том, что не все проблемы могут быть устранены. Возможны ситуации, когда
данные не существуют и не могут быть восстановлены, вне зависимости от количестваприложенных усилий. Встречаются ситуации, когда значения настолько запутаны или
найдены в стольких несопоставимых местах с такими на вид различными ипротивоположными значениями одного и тогоже факта, что любая попытка
расшифровать эти данные может породить еще более неверные результаты, и,возможно, лучшим решением будет отказаться от их обработки. На самом деле не все
данные нужно очищать. Как уже отмечалось, процесс очистки требует больших затрат,поэтому те данные, достоверность которых не влияет на процесс принятия решений,
могут оставаться неочищенными.
В целом, очистка данных включает в себя несколько этапов:
Выявление проблем в данных. Для выявления подлежащих удалению видов ошибок и несоответствий необходим подробный анализ данных. Наряду с ручнойпроверкойследуетиспользоватьаналитическиепрограммы.Существуетдвавзаимосвязанных метода анализа: профайлингданных и Data Mining.
Профайлинг данных ориентирован на грубый анализ отдельных атрибутовданных, При этом происходит получение, например, такой информации, как тип,длина, спектр значений, дискретные значения данных и их частота, изменение,уникальность, наличие неопределенных значений, типичных строковых моделей(например,дляномеровтелефонов) идр.,чтопозволяетобеспечитьточноепредставление различных аспектов качества атрибута.
Data Mining помогает найти специфические модели в больших наборах данных,например отношения между несколькими атрибутами. Именно на это направлены такназываемые описательные модели Data Mining, включая группировку, обобщение,поиск ассоциаций и последовательностей. При этом могут быть получены ограниченияцелостности в атрибутах, например, функциональные зависимости или характерныедля конкретных приложений бизнес-правила, которые можно использовать длявосполнения утраченных и исправления недопустимых значений, а также длявыявления дубликатов записей в источниках данных. Например, правило объединения с высокой вероятностью может предсказать проблемы с качеством данных в элементахданных, нарушающих это правило, Таким образом, 99%-я вероятность правила "итого
= количество х единицу" демонстрирует несоответствие и потребность в болеедетальном исследовании для оставшегося 1 % записей.
Определение правил очистки данных. В зависимости от числа источниковданных, степени их неоднородности и загрязненности, они могут требовать достаточно
обширного преобразования и очистки. Первые шаги по очистке данных могутскорректировать проблемы отдельных источников данных и подготовить данные для
интеграции. Дальнейшие шаги должны быть направлены на интеграцию данных иустранение проблем множественных источников,
На этом этапе необходимо выработать общие правила преобразования, часть изкоторых должна быть представлена ввиде программных средствочистки.
Тестирование правил очистки данных. Корректность и эффективность правилочистки данных должны тестироваться и оцениваться, например, на копиях данныхисточника. Это необходимо для выяснения целесообразности корректировки правил сцелью их улучшения или исправления ошибок.
Этапы определения правил и их тестирование могут выполняться итерационно
несколько раз, например, из-за того, что некоторые ошибки становятся заметны толькопосле определенных преобразований.
Непосредственная очистка данных. На этом этапе выполняются преобразо-
вания в соответствии с определенными ранее правилами. Очистка выполняется в два
приема. Сначала устраняются проблемы, связанные с отдельными источникамиданных, а затем — проблемымножества БД.
Надотдельными ОИД выполняются следующие процедуры.
атрибутов свободного формата для повышения точности представления и поддержкипоследующихэтаповочистки,такихкаксопоставлениеэлементовданных иисключениедубликатов. Необходимыенаэтомэтапепреобразованияперераспределяют значения в поле для получения возможности перемещения слов иизвлекают значения для расщепленных атрибутов.
элемент данных источника на наличие ошибок. Обнаруженные ошибки автоматическиисправляются(если это возможно). Проверка на наличие орфографических ошибоквыполняется на основе просмотра словаря. Словари географических наименований ипочтовыхиндексовпомогаюткорректироватьадресныеданные.Атрибутивныезависимости (дата рождения — возраст, общая стоимость — цена за шт., город — региональный телефонный код и т, д.) могут использоваться для выявления проблем изамены утраченных или исправления неверных значений.
унифицированный формат, что необходимо для их дальнейшего согласования иинтеграции. Например, записи о дате и времени должны быть оформлены вспециальном формате, имена и другие символьные данные должны конвертироваться либо в прописные, либо в строчные буквы и т. д. Текстовые данные могут быть сжаты и унифицированы с помощью выявления основы (шаблона), удаления префиксов,суффиксов и вводных слов. Более того, аббревиатуры и зашифрованные схемыподлежат согласованной расшифровке с помощью специальногословаря синонимовили
применения предопределенных правил конверсии.
После того как ошибки отдельныхисточников удалены, очищенные данные
должны заменить загрязненные данные в исходных ОИД. Это необходимо дляповышения качества данных в ОИД и исключения затрат на очистку при повторномиспользовании.Послезавершенияпреобразованийнад даннымииз отдельныхисточников можно приступать к их интеграции. При этом выполняются следующиепроцедуры.
устраняетпротиворечивость идублированиеданныхиз разныхисточников,относящихся к одному объекту предметной области. Для сопоставления записей из разных источников используются идентификационные атрибуты или комбинацияатрибутов. Такими атрибутами могут выступать общие первичные ключи или другиеобщиеуникальныеатрибуты. Ксожалению,безтакихатрибутовпроцесссопоставленияданныхзатрудните лен.
записей дополняет или корректирует одна другую.
Очищенные данные сохраняются в ХД и могут использоваться для анализа и
принятия на их основе решений. За формирование аналитических запросов к данным ипредставление результатов их выполнения в СППР отвечают подсистемы анализа. Отвида анализа также зависит и непосредственная реализация структур хранения данных в ХД