Добавил:
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
- •Библиографический список

31
- вид данных – непрерывный или дискретный. Непрерывный вид
используется только для столбцов вещественного или целого типов,
дискретный – для логического, строкового и целого типов. Выбранный
вид данных должен соответствовать виду, определенному для соответствующих измерений и фактов в структуре метаданных ХД;
- назначение – выбирается назначение столбца, как оно было
определено в структуре метаданных: измерение, атрибут или факт.
6. На следующем шаге запускается процесс загрузки и контро-
лируется по прогресс-индикатору. Если прогресс-индикатор долгое
время не показывает продвижение загрузки, возможно, возникала
ошибка (например, разорвалось сетевое соединение). В этом случае
следует остановить процесс загрузки, устранить проблему и запустить
загрузку повторно. После загрузки 100 % данных выдается сообщение
об успешном завершении (рис. 1.27).
Рис. 1.27. Запуск и контроль процесса загрузки данных
7. Последние два шага «Мастера импорта» в данном случае
можно пройти без изменения их настроек.
После успешного завершения загрузки в панели «Сценарии» появляется ссылка на загруженный файл, выделение которой открывает в
рабочей области окна программы таблицу данных из файла (рис. 1.28).

32
Рис. 1.28. Результат загрузки таблицы из источника данных
Аналогичную процедуру следует выполнить для всех файлов,
данные из которых планируется загрузить в ХД.
Загрузка измерений и фактов процесса в ХД. Для загрузки в
ХД следует выбрать в панели сценариев ссылку на файл, столбцы которого следует переместить в структуру метаданных, и нажать копку
«Мастер экспорта». Далее следует выполнить следующие шаги.
1. На 1-м шаге Мастера выбрать ХД, в которое будет произво-
диться загрузка (рис. 1.29)
Рис. 1.29. Выбор хранилища для загрузки данных
2. На 3-м шаге требуется установить соответствие между столб-
цами загружаемой таблицы и объектами структуры метаданных в ХД
(рис. 1.30). В этом окне для каждого объекта метаданных должен быть
указан столбец из загружаемой таблицы. Если поле не указано, это
значит, что параметры объекта метаданных не соответствуют параметрам загрузки столбца в источнике (тип или вид данных, назначение). В этом случае следует перейти в редактор метаданных и произвести в их структуре соответствующие изменения либо изменить настройки в источнике данных.

33
После того как будет достигнуто полное соответствие между
столбцами таблицы и объектами метаданных, можно будет переходить
к их загрузке.
Рис. 1.30. Установка соответствия объектов метаданных
и полей источника данных
3. На 7-м шаге определить способ агрегирования числовых зна-
чений (если необходимо) (рис. 1.31).
Рис. 1.31. Выбор способа агрегирования факторов
4. Запустить процесс загрузки в ХД, контролируя его ход с по-
мощью прогресс-индиктора (рис. 1.32).

34
Рис. 1.32. Запуск процесса загрузки хранилища
Следует отметить, что процесс загрузки в ХД может длиться
значительно дольше, чем загрузки файла того же объема в аналитическое приложение. Это связано с тем, что при загрузке в ХД производится преобразование форматов данных к единому формату ХД, агрегирование числовых значений, контроль целостности и непротиворечивости данных. По завершении процесса загрузки данные в ХД станут доступными для аналитической обработки различными моделями.
Приведение здесь этого достаточно громоздкого примера не
имеет целью изучение процедуры развёртывания и загрузки ХД в конкретном приложении. Целью является получение читателем общего
представления о методике и основных этапах работы с ХД и связанных с этим проблемах.
Вопросы для самопроверки
1. Что такое хранилище данных, какие требования к нему
предъявляются? В чем отличие ХД от обычной СУБД?
2. Опишите основные характеристики систем OLTP.
3. Каковы причины появления и развития концепции ХД?
4. Дайте понятие метаданных и семантического слоя в ХД.
5. Перечислите основные элементы логической структуры ХД,
поясните их смысл, приведите примеры.
6. Дайте понятие измерения как элемента структуры данных
ХД. Приведите примеры измерений. В чём отличие измерений от фактов?
7. Дайте понятие процесса в ХД. Приведите пример.
8. Опишите логическую структуру данных на основе схемы
«звезда».

35
9. Опишите логическую структуру данных на основе схемы
«снежинка».
10. В чём заключается агрегирование данных? Приведите при-
мер.
11. Опишите последовательность действий при загрузке данных
в ХД Deductor Warehouse.
12. В чём заключается процесс ETL и каковы его цели?
13. Что такое витрины данных и какие преимущества они обес-
печивают?
2.
Очистка данных
Введение
Ранее мы отметили, что кроме собственно аналитической обработки данных ИАД включает этап предобработки, связанной с их очисткой. Действительно, часто встречается ситуация, когда данные, анализ
которых требуется выполнить, содержат различные факторы, мешающие их корректной аналитической обработке. Такие данные называются
«грязными» или «сырыми» (raw data) и, прежде чем применять к ним те
или иные аналитические алгоритмы, требуют специальной предобработки, называемой «очисткой данных» (cleaning) [7, 18]. Очистка данных является не менее важным этапом ИАД, чем сама аналитическая
обработка, поскольку анализ «грязных» данных в большинстве случаев
не позволяет получить корректные результаты. Качество данных является одной из основных проблем ИАД, и на их очистку может уходить
больше половины времени, затраченного на реализацию всего аналитического проекта.
Можно выделить следующие основные факторы, снижающие
качество данных [7].
Пропуски – отсутствие значений в ячейках таблиц. Как правило, пропуски являются результатом ошибок ввода данных, их искажением при передаче по компьютерным сетям и т.д. Также возможно и
отсутствие самих данных (например, не поступила информация о продажах). Пропуски являются очень большой проблемой в анализе данных, поскольку приводят к аварийному завершению многих аналитических алгоритмов (например, из-за отсутствия значения вектор наблюдения оказывается неполным и для него не удается вычислить
евклидово расстояние).
Аномальные значения. Аномальными считаются значения
данных, не «вписывающиеся» в общую картину анализируемой предметной области. Обычно это очень большие или очень маленькие значения, противоречащие логике исследуемых процессов (например,

36
возраст 250 лет, стаж работы больше возраста, зарплата 10 руб. и т.д.).
Аномальные значения также создают проблему, поскольку нарушают
нормальную работу алгоритмов машинного обучения.
Дубликаты – это одинаковые записи. Их появление может
быть обусловлено ошибками ввода данных или наличием идентичных
наблюдений. Также они могут отражать различные факты и явления,
но одинаково представленные в виде записей базы данных. Основной
проблемой дубликатов является необоснованное увеличение объемов
данных, а также снижение их информативности (поскольку все дубликаты несут одну и ту же информацию).
Противоречия – это наблюдения, в которых одинаковым наборам входных значений соответствуют различные выходные значения.
Например, если есть два заемщика с абсолютно идентичными характеристиками, но один из них оказался хорошим (в выходном поле 1), а
другой плохим (в выходном поле 0), то это противоречит логике анализа и при массовом появлении противоречий может привести к построению некорректных моделей.
Анализ «грязных» данных в большинстве случаев не имеет
смысла, поскольку аналитические алгоритмы в этом случае вообще не
будут работать либо будут работать некорректно и построенные с их
помощью модели приведут к ложным выводам, на основе которых
могут быть приняты неправильные управленческие решения. Поэтому
большинство аналитических приложений содержит средства очистки
данных.
Очистка данных содержит 2 этапа – профайлинг и собственно
обработку обнаруженных проблем в данных. В процессе профайлинга
производится анализ данных с целью выявления пропусков, аномальных значений, дубликатов и противоречий. По результатам профайлинга формируется отчет, по которому пользователь определяет целесообразность очистки данных и выбирает её методы.
2.1. Методы обнаружения проблем в данных
Поскольку в большинстве случаев объемы анализируемых данных достаточно велики, это делает невозможным поиск проблем в
данных «вручную», поэтому типичным для аналитических систем является наличие модулей, реализующих алгоритмы автоматического
поиска проблем в данных.
Пропуски. Обнаружение пропусков является достаточно простой процедурой: столбцы источника данных сканируются и ячейкам,
в которых данные отсутствуют, присваиваются специальные метки.
Аномальные значения. Поиск аномальных значений является
более сложной задачей, поскольку четкие критерии «анормальности»

37
изначально отсутствуют и определяются пользователем исходя из
особенностей задачи анализа данных и характера самих данных. Наиболее простым способом поиска аномалий является пороговая обработка. Задается порог допустимого отклонения от среднего или медианы, и все значения, превышающие данный порог, считаются аномальными.
В практике анализа данных обычно различают два вида аномалий – выбросы и экстремальные значения. Выбросы – это аномалии,
нарушающие общую картину данных, но не противоречащие логике
задачи анализа и здравому смыслу. Например, указание в анкете заемщика возраста 87 лет противоречит бизнес-правилам (выдача кредита людям такого возраста сопряжена с высоким риском), но не противоречит здравому смыслу (люди доживают до такого возраста). Поэтому данное значение считается выбросом. В то же время указание
возраста 250 лет противоречит не только логике анализа, но и здравому смыслу, поэтому считается экстремальным значением. В зависимости от того, является аномалия выбросом или экстремальным значением, может различаться способ их обработки: если выброс еще может
иметь какой-то смысл, то экстремальное значение должны быть обязательно удалено или заменено на более подходящее, не противоречащее логике задачи.
Таким образом, при поиске аномалий необходимо задать два
порога – один для обнаружения выбросов, а другой для экстремальных
значений. Значения порогов не задают вручную, а определяют на основе статистических показателей, таких как число стандартных отклонений или интерквартильных размахов. Например, для экстремальных
значений может использоваться порог в 5 стандартных отклонений, а
для выбросов – в 3 стандартных отклонения.
Стандартное отклонение вычисляется по формуле:
s
где N - число наблюдений,
,
xi - значение признака для i -го наблю-
дения, x - среднее значение признака. Значение в столбце считается
выбросом, если оно отличается от среднего более чем на заданное
число стандартных отклонений:
x x ks; x ks
. При этом порог
для выброса меньше, чем порог для экстремального значения. Тогда
правило обнаружения выбросов и экстремальных значений будет:
1
N
N 1
x x
i
2
i1

38
если
если
x x k s, x выброс,
x x k n s, x экстремаль ное значение .
Пример. Пусть задан набор значений: {7, 11, 9, 13, 23, 5, 17, 3,
19, 12, 16, 21} со средним
ние:
x 11,18 . Вычислим стандартное отклоне-
.
Таким образом, если выбрать порог обнаружения аномальных
значений равным трём стандартным отклонениям, то получим, что
любое значение, большее x=11,18+36,64 и меньшее x=11,18-36,64,
будет считаться аномальным значением.
Интерквартильное расстояние или интерквартильный размах IR (от англ. interquartile range) представляет собой разность между
1-м и 4-м квартилями ранжированного ряда: IR = x
0,25
– x
0,75
.
Выбросами и экстремальными значениями считаются значения
признака, отстоящие от медианы, рассчитанной по столбцу, более чем
на заданное число интерквартильных расстояний в соответствии с
правилом:
если
если
x m k IR, x выброс,
x m k n IR, x экстремаль ное значение,
где m – медиана.
Пример. Чтобы вычислить медиану для рассмотренного выше
набора значений, упорядочим их по возрастанию или убыванию, получив ранжированный ряд: {3, 5, 7, 9, 11, 12, 13, 16, 17, 19, 21}. Тогда медианой будет значение ранжированного ряда, которое делит его на две
равные части (т.е. слева и справа от медианы должно быть одинаковое
количество элементов ряда). В нашем случае это число m=12. Тогда
квартилями будут элементы ряда, которые делят ранжированную последовательность на четыре равных части, в нашем случае это первая
квартиль:
x
0,25
7 , x
0,5
12 и x
0,75
17
(медиана, очевидно, является
второй квартилью). Следовательно, интерквартильный размах будет
x
0,75
x
0,25
10 .
В статистике медиану можно рассматривать как альтернативу
средней, устойчивую к наличию аномалий в данных. Действительно,
появления в ранжированном ряде очень больших или очень малых
значений приведёт к их размещению в начало или конец ряда, в результате они не сильно повлияют на медиану. Например, если в нашем
s
1
12 1
12
x 11,18
i
6,64
2
i1

39
ряде мы изменим значение 19 на 100, то получим ряд: {3, 5, 7, 9, 11,
12, 13, 16, 17, 21, 100}. При этом ни медиана, ни значения квартилей
не изменились. А вот среднее значение изменилось бы существенно –
вместо 11,18 стало 19,45. Поэтому если распределение данных в
столбце отлично от нормального, для обнаружения выбросов и экстремальных значений предпочтительно использовать медиану и интерквартильное расстояние.
Поскольку аномальные значения не блокируют работу аналитических алгоритмов, а только ухудшают качество построенных моделей, то если это ухудшение незначительно, аномалии можно не обрабатывать. Если же число аномальных значений велико (например, более 50 % от общего числа наблюдений), то лучше вообще отказаться
от анализа таких данных, поскольку обработка аномалий может привести к значительному искажению самих данных.
После того как пропуски, выбросы и экстремальные значения
будут обнаружены, можно переходить к следующему шагу – собственно очистке данных.
2.2. Методы очистки данных
В настоящее время используется большое количество разнообразных методов очистки данных, которые выбираются в зависимости от
характера и типа данных, их происхождения, целей и задач анализа.
Восстановление пропусков. Для восстановления пропущенных
значений наиболее часто используются следующие подходы.
1. Замена средним – производится заполнение пропуска сред-
ним по столбцу.
2. Замена медианой – производится замена пропуска на медиану
значений столбца.
3. Замена наиболее вероятным – замена производится на наибо-
лее часто встречающееся значение в столбце
x x( f
max
) .
4. Замена случайным значением – подставляется случайно вы-
бранное значение из распределения, параметры которого оцениваются
из имеющихся значений в столбце.
Обработка выбросов и экстремальных значений. При обработке выбросов и экстремальных значений используются следующие методы.
1. Замена наиболее вероятным значением – замена производит-
ся на среднее значение из наиболее вероятного интервала. Для этого
диапазон изменения значений столбца разбивается на q непересекающихся интервалов
Xi : X1
X 2
... Xq (т.е.
l
m : Xl
Xm
).

40
Число интервалов определяется по формуле Стёрджеса:
q 1 3,2lg N .
Затем определяется интервал, в который попало наибольшее
количество значений:
p arg max X
i
,
где |Xi| – число наблюдений, попавших в i-й интервал. Затем все про-
пуски заполняются средним значением по p-му интервалу.
2. Ограничение – приведение экстремального значения или вы-
броса к порогу, относительно которого они определяются, то есть к
x
нов
x k ns . Если в качестве критерия используется интерквар-
тильная ширина IR , то она указывается вместо стандартного отклонения:
x
нов
m k IR .
3. Замена средним – производится замена выброса (экстремаль-
ного значения) на среднее по столбцу: x
нов
x .
4. Замена медианой – производится замена выброса (экстре-
мального значения) на медиану значений столбца: x
нов
x
0,5
.
Обработка дубликатов. Процесс обработки данных с целью
исключения дубликатов известен как дудупликация. При обработке
дубликатов сначала нужно разобраться, что представляют собой дублирующие записи. Если несколько записей являются просто «клонами», т.е. отображают одно и то же событие (например, информацию
об одной и той же операции по продаже ошибочно ввели в базу данных два раза), то все дублирующие записи следует удалить, оставив
только одну.
Если же дубликаты отражают различные события, но идентичные по своим характеристикам, то возможны два варианта. Первый –
оставить все без изменений. Второй – объединить записи, просуммировав их выходные показатели. Например, три раза одинаковый объем
одного и того же товара продавался одному и тому же клиенту. Тогда
все эти записи можно объединить в одну, поскольку характеристики
клиента будут одинаковыми, а суммы продаж и количества единиц
товаров – просуммировать (табл. 2.1).
Таблица 2.1. Пример дубликатов
№ дого-
вора
Клиент
Товар
Размер
Кол-во,
куб.м
Цена,
руб.
Сумма,
руб.
34
ООО «Венец»
Брус
200200
10
6500
65000
56
ООО «Венец»
Брус
200200
10
6500
65000
92
ООО «Венец»
Брус
200200
10
6500
65000
Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]
