Data Mining

         

Определение и анализ требований к данным


На этом этапе осуществляется так называемое моделирование данных, т.е. определение и анализ требований к данным, которые необходимы для осуществления Data Mining. При этом изучаются вопросы распределения пользователей (географическое, организационное, функциональное); вопросы доступа к данным, которые необходимы для анализа, необходимость во внешних и/или внутренних источниках данных; а также аналитические характеристики системы (измерения данных, основные виды выходных документов, последовательность преобразования информации и др.).



Сбор данных


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

Также для Data Mining может потребоваться информация из информационных систем руководителей, внешних источников, бумажных носителей, а также знания экспертов или результаты опросов.

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

На этом этапе осуществляется кодирование некоторых данных. Допустим, одним из атрибутов клиента является уровень дохода, который должен быть представлен в системе одним из значений: очень низким, низким, средним, высоким, очень высоким. Необходимо определить градации уровня дохода, в этом процессе потребуется сотрудничество аналитика с экспертом в предметной области. Возможно, для таких преобразований данных потребуется написание специальных процедур.



Предварительная обработка данных


Анализировать можно как качественные, так и некачественные данные. Результат будет достигнут и в том, и в другом случае. Для обеспечения качественного анализа необходимо проведение предварительной обработки данных, которая является необходимым этапом процесса Data Mining.

Оценивание качества данных. Данные, полученные в результате сбора, должны соответствовать определенным критериям качества. Таким образом, можно выделить важный подэтап процесса Data Mining - оценивание качества данных.

Качество данных (Data quality) - это критерий, определяющий полноту, точность, своевременность и возможность интерпретации данных.

Данные могут быть высокого качества и низкого качества, последние - это так называемые грязные или "плохие" данные.

Данные высокого качества - это полные, точные, своевременные данные, которые поддаются интерпретации.

Такие данные обеспечивают получение качественного результата: знаний, которые смогут поддерживать процесс принятия решений.

О важности обсуждаемой проблемы говорит тот факт, что "серьезное отношение к качеству данных" занимает первое место среди десяти основных тенденций, прогнозирующихся в начале 2005 года в области Business Intelligence и Хранилищ данных компанией Knightsbridge Solutions. Этот прогноз был сделан в январе 2005 года, а в июне 2005 года Даффи Брансон (Duffie Brunson), один из руководителей компании Knightsbridge Solutions, проанализировал состоятельность данных ранее прогнозов.

Сокращенное изложение его анализа представлено в [90]. Ниже изложен прогноз и его анализ полгода спустя.

Прогноз. Многие компании стали обращать больше внимания на качество данных, поскольку низкое качество стоит денег в том смысле, что ведет к снижению производительности, принятию неправильных бизнес-решений и невозможности получить желаемый результат, а также затрудняет выполнение требований законодательства. Поэтому компании действительно намерены предпринимать конкретные действия для решения проблем качества данных.

Реальность.
Данная тенденция сохраняется, особенно в индустрии финансовых услуг. В первую очередь это относится к фирмам, старающимся выполнять соглашение Basel II. Некачественные данные не могут использоваться в системах оценки рисков, которые применяются для установки цен на кредиты и вычисления потребностей организации в капитале. Интересно отметить, что существенно изменились взгляды на способы решения проблемы качества данных. Вначале менеджеры обращали основное внимание на инструменты оценки качества, считая, что "собственник" данных должен решать проблему на уровне источника, например, очищая данные и переобучая сотрудников. Но сейчас их взгляды существенно изменились. Понятие качества данных гораздо шире, чем просто их аккуратное введение в систему на первом этапе. Сегодня уже многие понимают, что качество данных должно обеспечиваться процессами извлечения, преобразования и загрузки (Extraction, Transformation, Loading - ETL), а также получения данных из источников, которые подготавливают данные для анализа.
Рассмотрим понятия качества данных более детально.
Данные низкого качества, или грязные данные - это отсутствующие, неточные или бесполезные данные с точки зрения практического применения (например, представленные в неверном формате, не соответствующем стандарту). Грязные данные появились не сегодня, они возникли одновременно с системами ввода данных.
Грязные данные могут появиться по разным причинам, таким как ошибка при вводе данных, использование иных форматов представления или единиц измерения, несоответствие стандартам, отсутствие своевременного обновления, неудачное обновление всех копий данных, неудачное удаление записей-дубликатов и т.д. Необходимо оценить стоимость наличия грязных данных; другими словами, наличие грязных данных может действительно привести к финансовым потерям и юридической ответственности, если их присутствие не предотвращается или они не обнаруживаются и не очищаются [91].
Для более подробного знакомства с грязными данными можно рекомендовать [92], где представлена таксономия 33 типов грязных данных и также разработана таксономия методов предотвращения или распознавания и очистки данных.


Описаны различные типы грязных данных, среди них выделены следующие группы:
грязные данные, которые могут быть автоматически обнаружены и очищены;данные, появление которых может быть предотвращено;данные, которые непригодны для автоматического обнаружения и очистки;данные, появление которых невозможно предотвратить. Поэтому важно понимать, что специальные средства очистки могут справиться не со всеми видами грязных данных.
Рассмотрим наиболее распространенные виды грязных данных:
пропущенные значения;дубликаты данных;шумы и выбросы.Пропущенные значения (Missing Values).
Некоторые значения данных могут быть пропущены в связи с тем, что:
данные вообще не были собраны (например, при анкетировании скрыт возраст);некоторые атрибуты могут быть неприменимы для некоторых объектов (например, атрибут "годовой доход" неприменим к ребенку).Как мы можем поступить с пропущенными данными?
Исключить объекты с пропущенными значениями из обработки.Рассчитать новые значения для пропущенных данных.Игнорировать пропущенные значения в процессе анализа.Заменить пропущенные значения на возможные значения.Дублирование данных (Duplicate Data).
Набор данных может включать продублированные данные, т.е. дубликаты.
Дубликатами называются записи с одинаковыми значениями всех атрибутов.
Наличие дубликатов в наборе данных может являться способом повышения значимости некоторых записей. Такая необходимость иногда возникает для особого выделения определенных записей из набора данных. Однако в большинстве случаев, продублированные данные являются результатом ошибок при подготовке данных.
Как мы можем поступить с продублированными данными?
Существует два варианта обработки дубликатов. При первом варианте удаляется вся группа записей, содержащая дубликаты. Этот вариант используется в том случае, если наличие дубликатов вызывает недоверие к информации, полностью ее обесценивает.
Второй вариант состоит в замене группы дубликатов на одну уникальную запись.
Шумы и выбросы.
Выбросы - резко отличающиеся объекты или наблюдения в наборе данных.


Шумы и выбросы являются достаточно общей проблемой в анализе данных. Выбросы могут как представлять собой отдельные наблюдения, так и быть объединенными в некие группы. Задача аналитика - не только их обнаружить, но и оценить степень их влияния на результаты дальнейшего анализа. Если выбросы являются информативной частью анализируемого набора данных, используют робастные методы и процедуры.
Достаточно распространена практика проведения двухэтапного анализа - с выбросами и с их отсутствием - и сравнение полученных результатов.
Различные методы Data Mining имеют разную чувствительность к выбросам, этот факт необходимо учитывать при выборе метода анализа данных. Также некоторые инструменты Data Mining имеют встроенные процедуры очистки от шумов и выбросов.
Визуализация данных позволяет представить данные, в том числе и выбросы, в графическом виде. Пример наличия выбросов изображен на диаграмме рассеивания на рис. 18.1. Мы видим несколько наблюдений, резко отличающихся от других (находящихся на большом расстоянии от большинства наблюдений).


Рис. 18.1.  Пример набора данных с выбросами
Очевидно, что результаты Data Mining на основе грязных данных не могут считаться надежными и полезными. Однако наличие таких данных не обязательно означает необходимость их очистки или же предотвращения появления. Всегда должен быть разумный выбор между наличием грязных данных и стоимостью и/или временем, необходимым для их очистки.

Этап 1. Анализ предметной области


Исследование - это процесс познания определенной предметной области, объекта или явления с определенной целью.

Процесс исследования заключается в наблюдении свойств объектов с целью выявления и оценки важных, с точки зрения субъекта-исследователя, закономерных отношений между показателями данных свойств.

Решение любой задачи в сфере разработки программного обеспечения должно начинаться с изучения предметной области.

Предметная область - это мысленно ограниченная область реальной действительности, подлежащая описанию или моделированию и исследованию.

Предметная область состоит из объектов, различаемых по свойствам и находящихся в определенных отношениях между собой или взаимодействующих каким-либо образом.

Предметная область - это часть реального мира, она бесконечна и содержит как существенные, так и не значащие данные, с точки зрения проводимого исследования.

Исследователю необходимо уметь выделить существенную их часть. Например, при решении задачи "Выдавать ли кредит?" важными являются все данные про частную жизнь клиента, вплоть до того, имеет ли работу супруг, есть ли у клиента несовершеннолетние дети, каков уровень его образования и т.д. Для решения другой задачи банковской деятельности эти данные будут абсолютно неважны. Существенность данных, таким образом, зависит от выбора предметной области.

В процессе изучения предметной области должна быть создана ее модель. Знания из различных источников должны быть формализированы при помощи каких-либо средств.

Это могут быть текстовые описания предметной области или специализированные графические нотации. Существует большое количество методик описания предметной области: например, методика структурного анализа SADT и основанная на нем IDEF0, диаграммы потоков данных Гейна-Сарсона, методика объектно-ориентированного анализа UML и другие. Модель предметной области описывает процессы, происходящие в предметной области, и данные, которые в этих процессах используются.

Это первый этап процесса Data Mining. Но от того, насколько верно смоделирована предметная область, зависит успех дальнейшей разработки приложения Data Mining.





Этап 2. Постановка задачи


Постановка задачи Data Mining включает следующие шаги:

формулировка задачи;формализация задачи.

Постановка задачи включает также описание статического и динамического поведения исследуемых объектов.

Пример задачи. При продвижении нового товара на рынок необходимо определить, какая группа клиентов фирмы будет наиболее заинтересована в данном товаре.

Описание статики подразумевает описание объектов и их свойств.

Пример. Клиент является объектом. Свойства объекта "клиент": семейное положение, доход за предыдущий год, место проживания.

При описании динамики описывается поведение объектов и те причины, которые влияют на их поведение.

Пример. Клиент покупает товар А. При появлении нового товара В клиент уже не покупает товар А, а покупает только товар В. Появление товара В изменило поведение клиента. Динамика поведения объектов часто описывается вместе со статикой.

Технология Data Mining не может заменить аналитика и ответить на те вопросы, которые не были заданы. Поэтому постановка задачи является необходимым этапом процесса Data Mining, поскольку именно на этом этапе мы определяем, какую же задачу необходимо решить. Иногда этапы анализа предметной области и постановки задачи объединяют в один этап.



Этап 3. Подготовка данных


Цель этапа: разработка базы данных для Data Mining.

Понятие данных было рассмотрено в лекции № 2 этого курса лекций.

Подготовка данных является важнейшим этапом, от качества выполнения которого зависит возможность получения качественных результатов всего процесса Data Mining. Кроме того, следует помнить, что на этап подготовки данных, по некоторым оценкам, может быть потрачено до 80% всего времени, отведенного на проект.

Рассмотрим подробно, что же представляет собой этот этап.



Этапы очистки данных


В целом, очистка данных включает следующие этапы [93] (ниже изложено краткое описание содержание этих этапов, в этом же источнике можно найти подробное их описание).

Анализ данных.Определение порядка и правил преобразования данных.Подтверждение. Преобразования. Противоток очищенных данных.

Этап № 1. Анализ данных.

Подробный анализ данных необходим для выявления подлежащих удалению видов ошибок и несоответствий. Здесь можно использовать как ручную проверку данных или их шаблонов, так и специальные программы для получения метаданных о свойствах данных и определения проблем качества.

Этап № 2. Определение порядка и правил преобразования данных.

В зависимости от числа источников данных, степени их неоднородности и загрязненности, данные могут требовать достаточно обширного преобразования и очистки. Иногда для отображения источников общей модели данных используется трансляция схемы; для Хранилищ данных обычно используется реляционное представление. Первые шаги по очистке могут уточнить или изменить описание проблем отдельных источников данных, а также подготовить данные для интеграции. Дальнейшие шаги должны быть направлены на интеграцию схемы/данных и устранение проблем множественных элементов, например, дубликатов. Для Хранилищ в процессе работы по определению ETL должны быть определены методы контроля и поток данных, подлежащий преобразованию и очистке.

Преобразования данных, связанные со схемой, так же как и этапы очистки, должны, насколько возможно, определяться с помощью декларативного запроса и языка маппирования, обеспечивая, таким образом, автоматическую генерацию кода преобразования. К тому же, в процессе преобразования должна существовать возможность запуска написанного пользователем кода очистки и специальных средств. Этапы преобразования могут требовать обратной связи с пользователем по тем элементам данных, для которых отсутствует встроенная логика очистки.

Этап № 3. Подтверждение.

На этом этапе определяется правильность и эффективность процесса и определений преобразования.
Это осуществляется путем тестирования и оценивания, например, на примере или на копии данных источника, - чтобы выяснить, необходимо ли как-то улучшить эти определения. При анализе, проектировании и подтверждении может потребоваться множество итераций, например, в связи с тем, что некоторые ошибки становятся заметны только после проведения определенных преобразований.

Этап № 4. Преобразования.

На этом этапе осуществляется выполнение преобразований либо в процессе ETL для загрузки и обновления Хранилища данных, либо при ответе на запросы по множеству источников.

Этап № 5. Противоток очищенных данных.

После того как ошибки отдельного источника удалены, загрязненные данные в исходных источниках должны замениться на очищенные, для того чтобы улучшенные данные попали также в унаследованные приложения и в дальнейшем при извлечении не требовали дополнительной очистки. Для Хранилищ очищенные данные находятся в области хранения данных.

Такой процесс преобразования требует больших объемов метаданных (схем, характеристик данных уровня схемы, определений технологического процесса и др.). Для согласованности, гибкости и упрощения использования в других случаях, эти метаданные должны храниться в репозитории на основе СУБД. Для поддержки качества данных подробная информация о процессе преобразования должна записываться как в репозиторий, так и в трансформированные элементы данных, в особенности информация о полноте и свежести исходных данных и происхождения информации о первоисточнике трансформированных объектов и произведенных с ними изменениях. Например, на рис. 3 производная таблица Потребители содержит атрибуты Идентификатор и Номер, позволяя проследить путь исходных записей.

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


Очистка данных


Очистка данных (data cleaning, data cleansing или scrubbing) занимается выявлением и удалением ошибок и несоответствий в данных с целью улучшения качества данных.

Проблемы с качеством встречаются в отдельных наборах данных - таких как файлы и базы данных. Когда интеграции подлежит множество источников данных (например в Хранилищах, интегрированных системах баз данных или глобальных информационных Интернет-системах), необходимость в очистке данных существенно возрастает. Это происходит оттого, что источники часто содержат разрозненные данные в различном представлении. Для обеспечения доступа к точным и согласованным данным необходима консолидация различных представлений данных и исключение дублирующейся информации. Специальные средства очистки обычно имеют дело с конкретными областями - в основном это имена и адреса - или же с исключением дубликатов. Преобразования обеспечиваются либо в форме библиотеки правил, либо пользователем в интерактивном режиме. Преобразования данных могут быть автоматически получены с помощью средств согласования схемы [93].

Метод очистки данных должен удовлетворять ряду критериев [93].

Он должен выявлять и удалять все основные ошибки и несоответствия, как в отдельных источниках данных, так и при интеграции нескольких источников. Метод должен поддерживаться определенными инструментами, чтобы сократить объемы ручной проверки и программирования, и быть гибким в плане работы с дополнительными источниками. Очистка данных не должна производиться в отрыве от связанных со схемой преобразования данных, выполняемых на основе сложных метаданных. Функции маппирования для очистки и других преобразований данных должны быть определены декларативным образом и подходить для использования в других источниках данных и в обработке запросов. Инфраструктура технологического процесса должна особенно интенсивно поддерживаться для Хранилищ данных, обеспечивая эффективное и надежное выполнение всех этапов преобразования для множества источников и больших наборов данных.

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



Определение необходимого количества данных


При определении необходимого количества данных следует учитывать, являются ли данные упорядоченными или нет.

Если данные упорядочены и мы имеем дело с временными рядами, желательно знать, включает ли такой набор данных сезонную/цикличную компоненту. В случае присутствия в наборе данных сезонной/цикличной компоненты, необходимо иметь данные как минимум за один сезон/цикл.

Если данные не упорядочены, то есть события из набора данных не связаны по времени, в ходе сбора данных следует соблюдать следующие правила.

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

Соотношение количества записей в наборе и количества входных переменных. При использовании многих алгоритмов необходимо определенное (желательное) соотношение входных переменных и количества наблюдений. Количество записей (примеров) в наборе данных должно быть значительно больше количества факторов (переменных).

Набор данных должен быть репрезентативным и представлять как можно больше возможных ситуаций. Пропорции представления различных примеров в наборе данных должны соответствовать реальной ситуации.



Процесс Data Mining. Начальные этапы


Процесс Data Mining является своего рода исследованием. Как любое исследование, этот процесс состоит из определенных этапов, включающих элементы сравнения, типизации, классификации, обобщения, абстрагирования, повторения.

Процесс Data Mining неразрывно связан с процессом принятия решений.

Процесс Data Mining строит модель, а в процессе принятия решений эта модель эксплуатируется.

Рассмотрим традиционный процесс Data Mining. Он включает следующие этапы:

анализ предметной области;постановка задачи;подготовка данных;построение моделей;проверка и оценка моделей;выбор модели;применение модели;коррекция и обновление модели.

В этой лекции мы подробно рассмотрим первые три этапа процесса Data Mining, остальные этапы будут рассмотрены в следующей лекции.