Добавил:
ivanov666
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз:
Предмет:
Файл:Хранилища данных и OLAP-технологии. Учебное пособие.pdf
X
- •Оглавление
- •1.1. Краткая история развития технологий ХД
- •1.2. Источники данных для ХД
- •1.3. Основные свойства хранилищ данных
- •1.4. Структура данных в хранилище
- •1.5. Операции над данными в хранилище
- •1.6. Витрины данных
- •1.7. Виртуальные хранилища данных
- •1.8. Практический пример построения ХД в АП Deductor
- •Вопросы для самопроверки
- •2.1. Методы обнаружения проблем в данных
- •2.2. Методы очистки данных
- •2.3. Пример очистки данных в АП Deductor
- •3. OLAP-технологии
- •3.1. Цели и задачи OLAP
- •3.2. Представление данных в виде гиперкубов
- •3.3. Пример работы с OLAP-системой в АП Deductor
- •Библиографический список

41
В данном случае есть три события, отражающих продажу одного и
того же количества материала одному клиенту. Но то, что это именно три
продажи, а не одна, случайно введенная три раза, мы можем узнать только по номеру договора. Но номер договора не будет использоваться при
построении модели. Поэтому три записи можно объединить в одну, в которой количество проданного материала составит 30 куб. м, а сумма продаж 195 000 руб. Очевидно, что логика анализа при этом не пострадает.
Напротив, удаление двух дублирующих записей с целью оставить только
одну приведет к потере информации. Например, если мы захотим ранжировать клиентов по объемам закупок, чтобы выбрать наиболее привлекательные для сотрудничества фирмы, то рейтинг ООО «Венец» окажется
незаслуженно низким.
Противоречия. Обработка противоречий во многом похожа на
обработку дубликатов: противоречивые записи могут удаляться или
объединяться в зависимости от логики анализа. Например, пусть имеются два поля с одинаковыми агрохимическими характеристиками
почв, но различной урожайностью (табл. 2.2).
Таблица 2.2. Пример противоречий
Площадь,
га
Кислотность,
pH
Азот,
мг/100 г
Калий,
мг/100 г
Фосфор,
мг/100 г
Юг,
%
Ср.
угол
Урожай-
ность,
ц/га
25
4,9
3
18,2
16,42
36,41
1,31
2,36
25
4,9
3
18,2
16,42
36,41
1,31
8,82
Разница в урожайности может быть объяснена факторами, не отраженными в исходных данных (например, близостью грунтовых вод).
Модель, построенная на противоречивых данных, может оказаться несостоятельной. Например, очевидно, что в кластерной модели оба этих
поля окажутся в одном кластере, несмотря на то, что их урожайности
значительно различаются. Удалив одну из записей, мы потеряем информацию, которая может оказаться полезной для анализа. Поэтому в
данном случае предпочтительно объединить записи в одну, просуммировав площадь поля. Значение урожайности можно выбрать суммарное,
минимальное, максимальное, или усреднить. В результате получим
табл. 2.3.
Таблица 2.3. Результат обработки противоречий
Площадь,
га
Кислотность,
pH
Азот,
мг/100 г
Калий,
мг/100 г
Фосфор,
мг/100 г
Юг,
%
Ср.
угол
Урожайность,
ц/га
50
4,9
3
18,2
16,42
36,41
1,31
5,59
Таким образом, основной проблемой при обработке дубликатов
и противоречий является то, что ее результаты сильно зависят от ло-

42
гики и целей анализа, что затрудняет автоматизацию процесса обработки и требует вмешательства аналитика и эксперта в предметной
области.
2.3. Пример очистки данных в АП Deductor
Рассмотрим набор данных на рис. 2.1.
Рис. 2.1. Фрагмент набора данных, содержащих аномальные значения,
дубликаты и противоречия
На рис. 2.1 первые две строки (поле № 1) образуют дубликаты,
3-я и 4-я строки (поле № 2) образуют противоречие – для полей с одинаковыми характеристиками различные классы урожайности. И, наконец, в 5-й строке содержатся два аномальных значения – кислотность,
равная 55,6, и урожайность 630 ц/га. В 6-й строке имеется два пропуска. Нашей задачей будет обнаружить эти проблемы в данных и исправить их с помощью модуля очистки данных аналитической системы
Deductor.
Очистку данных следует начинать с общей оценки их качества,
поскольку качество данных может оказаться таким низким, что никакого смысла выполнять их очистку не будет. Для этого нужно открыть
«Мастер обработки» и в разделе «Очистка данных» выбрать пункт
«Качество данных». Первым шагом в настройке оценки качества данных является выбор способа и параметров обнаружения аномалий
(рис. 2.2).
Для обнаружения аномальных значений может быть выбран
критерий на основе стандартного отклонения или интерквартильного
размаха. Первый рекомендуется, если значения признака имеют нормальное распределение или близкое к нему. В противном случае рекомендуется выбрать критерий на основе интерквартильного размаха.
Для выбранного критерия требуется указать число интервалов для
установки порогов для выбросов и экстремальных значений.

43
Рис. 2.2. Настройка параметров определения выбросов и
экстремальных значений
На следующем шаге требуется выбрать столбцы, для которых
будет производиться оценка качества данных (рис. 2.3). Это необходимо в том случае, если нужно выполнить предобработку не всех
столбцов, а только некоторых. При больших объемах данных это может позволить существенно сократить время, затрачиваемое на обработку.
Рис. 2.3. Выбор столбцов для оценки качества данных
После запуска и успешного завершения процедуры оценки качества данных должен быть сформирован отчёт об обнаруженных
проблемах и сформулированы рекомендации по их решению. Для этого в списке доступных визуализаторов следует выбрать пункт «Оценка
качества», в результате чего будет сформирован отчет по качеству
данных, форма которого представлена на рис. 2.4. В отчете для каждого столбца указывается обнаруженное количество пропусков, выбросов и экстремальных значений, а также предлагаются варианты действия по их обработке - заменять (на медиану, среднее, наиболее вероятное значение и т.д.), ограничивать значения или удалять записи, содержащие проблему.

44
Рис. 2.4. Форма отчёта по качеству данных.
В поле «Резюме» указывается, является ли столбец пригодным
для обработки без процедуры очистки или требует её применения. Затем, основываясь на результатах, представленных в отчёте, следует приступить собственно к обработке проблем в данных. Для этого в окне
«Качество данных» следует настроить способ обработки пропусков и
аномальных значений. Чтобы задать способ обработки пропусков, можно использовать кнопку - «Задать обработку пропусков», которая
позволит выбрать наиболее подходящий способ. Аналогично кнопки
позволят задать способ обработки для выбросов и экстремальных
значений. Если кнопки не активны, то соответствующих проблем в данных не обнаружено. После этого перейти в «Мастер обработки» и в разделе «Очистка данных» использовать обработчики «Заполнение пропусков» и «Редактирование выбросов и аномальных значений». В результате будут сформированы новые наборы данных (представленные в
Панели сценариев), в которых пропуски и аномальные значения будут
исправлены либо содержащие их записи удалены (рис. 2.5).
Рис. 2.5. Представление результатов очистки данных
в сценарии обработки
Обработка дубликатов и противоречий. Обратите внимание,
что отчёт «Качество данных» не содержит информации относительно

45
таких проблем, как дубликаты и противоречия. Это связано с двумя
причинами. Первая причина в том, что пропуски и аномалии – это
проблемы уровня отдельного столбца набора данных. Т.е. значение
может быть аномальным только относительно значений, которые содержатся с ним в одном столбце. В то же время дубликаты и противоречия - это проблемы уровня записей (строк). Образовывать противоречие или дубликат одна запись не может, для этого нужны как минимум две записи. Вторая причина заключается в том, что обнаружение
дубликатов и противоречий должно производиться в соответствии с
логикой анализа, а не по формальным критериям. Поэтому в системе
предусмотрены отдельные средства для обнаружения дубликатов и
противоречий.
Для обнаружения дубликатов и противоречий в разделе «Очистка
данных» «Мастера обработки» предусмотрен сервис «Дубликаты и противоречия». Для правильного обнаружении проблем этого вида важно
корректно выбрать используемые при обработке столбцы, а также определить, какие из них будут входными или выходными (рис. 2.6).
Рис. 2.6. Выбор столбцов для обнаружения дубликатов и противоречий
Очевидно, что для некоторых записей значения одних столбцов
могут совпадать, а других – нет. Соответственно если для некоторого
множества записей будут выбраны только столбцы с совпадающими
значениями, то такие записи будут идентифицированы как дубликаты,
а в противном случае - нет. Аналогично противоречие возникает тогда, когда двум записям с одинаковым «входом» соответствуют разные «выходы» (логически одному и тому же набору условий соответствуют различные следствия). А будут ли «входы» одинаковыми, а
«выходы» разными, зависит от того, какие столбцы при этом используются.
Таким образом, обнаружение дубликатов и противоречий про-
изводится не по формальным критериям, а в зависимости от того, ка-

46
кие столбцы выберет аналитик. То есть данный процесс является инвариантным и субъективным. По результатам поиска дубликатов и
противоречий формируется отчёт, представленный на рис. 2.7.
Рис. 2.7. Отчет по результатам поиска дубликатов и противоречий
Дубликаты или противоречия всегда образуются двумя или более
записями. Поэтому набор идентичных записей или записей, образующих противоречие, удобно представлять в виде группы. Групп может
быть несколько. В отчёте содержатся два дополнительных столбца –
«Дубликаты» и «Противоречия», каждый из которых содержит два поля
- «Признак» и «Группа». В поле «Признак» устанавливается флажок
для записей, для которых обнаружены дубликаты или противоречия, а в
поле «Группа» отображается номер группы, к которой относится запись.
Сервис «Дубликаты и противоречия» аналитического приложения
Deductor позволяет только обнаруживать дубликаты и противоречия, но
не предоставляет возможностей по их обработке.
Вопросы для самопроверки
1. Перечислите основные факторы, снижающие качество дан-
ных. Приведите примеры.
2. Что собой представляют пропуски в данных и каково их про-
исхождение?
3. Какие методы обработки можно использовать для пропусков
в данных?
4. Что такое дубликаты и противоречия в данных? Приведите
примеры.
5. Какие способы обработки дубликатов и противоречий могут
быть использованы?
6. Какие значения в данных называются выбросами и экстре-
мальными значениями? В чем их отличие. Почему используется такое
разделение?
7. Как можно обнаруживать выбросы и экстремальные значения?
8. Почему необходимо производить очистку данных?

47
3. OLAP-технологии
3.1. Цели и задачи OLAP
Большинство бизнес-процессов и явлений достаточно сложны,
поэтому требуют для описания большого числа параметров и характеристик. Поэтому наборы данных, описывающие эти процессы и явления, оказываются многомерными и требуют использования многомерных методов обработки и визуализации при их анализе.
Как правило, анализ данных начинается не с непосредственного
применения к ним каких-либо алгоритмов аналитической обработки, а
с выдвижения некоторых предположений и гипотез, которые позволяют сформулировать цели анализа и разработать его стратегию. Часто для этого оказывается полезным простой визуальный анализ данных в различных разрезах (пространственных, временных), группировках, уровнях детализации и т.д. Но если данные имеют сложную
многомерную структуру, то такой визуальный анализ неэффективен.
Поэтому на практике используют различные методы визуализации и
представления многомерных данных, которые позволяют решать эту
проблему.
В 1993 году Э. Коддом, известным исследователем в области технологий баз данных и автором реляционной модели, была предложена
концепция комплексного многомерного анализа данных, которая получила название OLAP (On-Line Analytical Processing – оперативная аналитическая обработка). Системы OLAP должны обеспечивать характеристики,
описываемые так называемым тестом FASMI (Fast Analysis of Shared
Multidimensional Information - быстрый анализ разделяемой многомерной
информации). Тест был создан в 1995 г. Найджелом Пендсом и Ричардом
Критом на основе анализа правил Кодда и включает 5 базовых определений:
Fast (быстрый) – предполагает, что отклик системы на запрос
не должен превышать 5 секунд. Если это время окажется больше, то
аналитик может потерять нить рассуждений, сбиться с мысли и эффективность анализа снизится.
Analysis (анализ) - возможность осуществления любого логического и статистического анализа, характерного для данного приложения, и его сохранения в доступном для конечного пользователя виде.
Shared (разделяемый) – реализация в приложениях многопользовательского доступа к данным с поддержкой соответствующих механизмов администрирования и авторизации доступа.
Multidimensional (многомерный) - система должна обеспечить
многомерное концептуальное представление данных, включая полную
поддержку иерархий и множественных иерархий.

48
Information – обеспечение возможности обращения к любой
нужной информации независимо от ее объема и места хранения.
Несмотря на наличие в названии OLAP слов «аналитическая
обработка», сама технология не предполагает применения к данным
каких-либо алгоритмов или методов их преобразования или изменения
структуры. Скорее OLAP следует рассматривать как средство многомерной визуализации данных и быстрого формирования отчётности в
требуемом разрезе [11].
3.2. Представление данных в виде гиперкубов
В основе идеи OLAP лежит многомерная модель данных в виде
так называемых гиперкубов или OLAP-кубов. Грани такого куба опираются на оси измерений многомерной модели, а внутри куба расположены факты (рис. 3.1).
Рис. 3.1. OLAP-куб (гиперкуб)
Элементами многомерной модели данных в гиперкубе являются
ячейки и срезы. Ячейки содержат отдельные факты бизнес-процессов,
представляемых в кубе. Например, на рис. 3.1 выделенная ячейка содержит факт отгрузки 300 мешков цемента организацией «ИП Иванов» в г. Липецк. Срез куба представляет собой множество ячеек, содержащих факты, связанные с определенным значением измерения.
Так, на рис. 3.1 срез 1 содержит всю информацию по виду стройматериалов «Блоки», а срез 2 содержит все данные о деятельности по городу Тверь.
Таким образом, извлекая из куба нужные срезы, можно оперативно получать нужную информацию, в требуемом разрезе и наиболее
удобном для восприятия виде. По срезам могут вычисляться агрегированные значения (суммы, количества и т.д.). На практике приложения,

49
реализующие функциональность OLAP, предоставляют пользователю
удобный интерфейс, с помощью которого он выбирает нужные измерения, срезы и агрегаты.
В некоторых случаях в OLAP-кубе могут оказываться пустые
ячейки. Это означает, что в таблицах фактов многомерной модели
данных отсутствуют соответствующие значения.
Благодаря детальному структурированию информации OLAPкубы позволяют оперативно осуществлять анализ данных и формировать отчёты в различных разрезах и с произвольной глубиной детализации. Отчёты могут создаваться как аналитиками, так и любыми другими категориями специалистов - менеджерами, финансистами, руководителями подразделений в интерактивном режиме для того, чтобы
оперативно получить информацию, необходимую для корректного
принятия управленческих решений. При этом сотрудникам для формирования отчетов нет необходимости прибегать к услугам программистов.
Результатом работы OLAP-модуля являются сводные таблицы
(pivot table) или кросс-таблицы, которые по своей структуре являются
«плоскими». Но благодаря тому, что пользователь может оперативно
выбирать или скрывать нужные измерения и срезы, менять их местами
и изменять детализацию данных, OLAP-кубы позволяют эффективно
визуализировать многомерные структуры [6].
При работе с OLAP кубами определяют четыре основных операции: срез, вращение, консолидацию и детализацию.
1. Срез – извлечение из куба массива данных, соответствующего
единственному значению одного или нескольких элементов измерений многомерной модели (рис. 3.2).
Рис. 3.2. Операция среза OLAP-куба
2. Вращение – заключается в изменении расположения измерений, в результате чего (рис. 3.3), например, в итоговых отчётах строки
и столбцы таблиц буду меняться местами.

50
Рис. 3.3. Вращение OLAP-куба
3. Консолидация – операция перехода от более детального
представления данных к менее детальному (агрегирование). Например, переход от просмотра данных от ежедневных продаж к еженедельному или ежемесячному (рис. 3.4).
Рис. 3.4. Консолидация OLAP-куба
4. Детализация – операция, обратная консолидации: переход от
более детализированного представления данных к менее детализированному (рис. 3.5).
Рис. 3.5. Детализация OLAP-куба
Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]
