Академический Документы
Профессиональный Документы
Культура Документы
1 из 9
Извлечение и визуализация данных
Любая система поддержки принятия решений, прежде всего, должна обладать
средствами отбора и предоставления пользователю данных в удобной для восприятия и
анализа форме.
Чтобы получить какие-то новые знания об исследуемом объекте или явлении,
необязательно строить сложные модели. Часто достаточно посмотреть на данные в
нужном виде, чтобы сделать определенные выводы или выдвинуть предположение о
характере зависимостей в системе, получить ответ на интересующий вопрос. Это помогает
сделать визуализация.
OLAP (кросс-таблицы и кросс-диаграммы);
таблицы
диаграммы, гистограммы
карты, проекции, срезы и т.п.
Проиллюстрируем вышесказанное. На рис. 4 приведены два способа визуализации
одних и тех же данных по продажам в аптечной сети: в виде таблицы и в виде графика. В
первом случае, глядя на таблицу, мы практически не можем сделать каких-либо выводов,
относительно динамики продаж.
Во втором варианте, представив те же данные в виде сумм продаж в разрезе аптек
и построив столбчатую диаграмму, мы видим, что самые большие продажи приходятся на
«Отдел» Аптека 1.
Теперь осталось только связать элементы разных таблиц между собой. В теории
реляционных баз данных это осуществляется при помощи специальных промежуточных
таблиц. Нам достаточно каждой записи в таблицах измерений поставить в соответствие
список, элементами которого будут номера фактов, при формировании которых
использовались эти измерения (то есть определить все факты, имеющие одинаковое
значение координаты, описываемой этим измерением). Для фактов соответственно
каждой записи поставим в соответствие значения координат, по которым она расположена
Лекция № 2 стр. 7 из 9
в гиперкубе. В дальнейшем везде под координатами записи в гиперкубе будут пониматься
номера соответствующих записей в таблицах значений измерений. Тогда для нашего
гипотетического примера получим следующий набор, определяющий внутреннее
представление гиперкуба:
Такое будет у нас внутреннее представление гиперкуба. Так как мы делаем его не
для реляционной базы данных, то в качестве полей связи значений измерений
используются просто поля переменной длины (в РБД такое сделать мы бы не смогли, так
как там количество колонок таблицы определено заранее).
Реализация гиперкуба
Можно было бы попытаться использовать для реализации гиперкуба набор
временных таблиц, но этот метод обеспечит слишком низкое быстродействие, поэтому
будем использовать свои структуры хранения данных.
Для реализации гиперкуба нам необходимо использовать структуры данных,
которые обеспечат максимальное быстродействие и минимальные расходы оперативной
памяти. Очевидно, что основными у нас будут структуры для хранения словарей и
таблицы фактов. Рассмотрим задачи, которые должен выполнять словарь с максимальной
скоростью:
проверка наличия элемента в словаре;
добавление элемента в словарь;
поиск номеров записей, имеющих конкретное значение координаты;
поиск координаты по значению измерения;
поиск значения измерения по его координате.
Для реализации этих требований можно использовать различные типы и структуры
данных. Например, можно использовать массивы структур. В реальном случае к этим
массивам необходимы дополнительные механизмы индексации, которые позволят
повысить скорость загрузки данных и получения информации.
Лекция № 2 стр. 8 из 9
Для оптимизации работы гиперкуба необходимо определить то, какие задачи
необходимо решать в первоочередном порядке, и по каким критериям нам надо добиваться
повышения качества работы. Главным для нас является повышение скорости работы
программы, при этом желательно, чтобы требовался не очень большой объем оперативной
памяти. Повышение быстродействия возможно за счет введения дополнительных
механизмов доступа к данным, например, введение индексирования. К сожалению, это
повышает накладные расходы оперативной памяти.
Построение срезов куба.
Итак, в мы описали способ хранения данных в виде гиперкуба. Он позволяет
сформировать набор точек в многомерном пространстве на основе информации,
находящейся в хранилище данных. Для того, чтобы человек мог иметь возможность
работы с этими данными, их необходимо представить в виде, удобном для обработки. При
этом в качестве основных видов представления данных используются сводная таблица и
графики. Причем оба этих способа фактически представляют собой проекции гиперкуба.
Для того, чтобы обеспечить максимальную эффективность при построения
представлений, будем отталкиваться от того, что представляют собой эти проекции.
Начнем рассмотрение со сводной таблицы, как с наиболее важной для анализа данных.
Можно выделить три части, из которых состоит сводная таблица: это заголовки строк,
заголовки столбцов и собственно таблица агрегированных значений фактов. Самым
простым способом представления таблицы фактов будет использование двумерного
массива, размерность которого можно определить, построив заголовки. К сожалению,
самый простой способ будет самым неэффективным, потому что таблица будет сильно
разреженной, и память будет расходоваться крайне неэффективно, в результате чего
можно будет строить только очень малые кубы, так как иначе памяти может не хватить.
Работа с OLAP-кубом
Кросс-таблица
Кросс-таблица представляет собой размещение многомерных данных на плоскости
в виде сводной таблицы. Следовательно, прежде чем строить эту таблицу, необходимо
указать измерения и факты. Например, измерения – это Месяц, Наименование товара,
Группа товара, а факт – Количество проданного товара.
Размещение измерений
Измерения могут быть размещены в строках и столбцах кросс-таблицы. В мастере
настройки отображения изначально весь список выбранных измерений отображается в
окне «Доступные измерения». Нажимая кнопки «>« и «>>« справа и снизу от этого окна
можно размещать выбранные измерения в строках и столбцах таблицы. Здесь можно так
же выбрать, какие факты отображать в кросс-таблице на пересечении измерений и какую
функцию применять при их агрегации (объединении).
Измерения в кросс-таблице изображаются специальными полями. Синие поля
показывают измерения, участвующие в построении таблицы. Зелеными полями
отображаются скрытые измерения, не участвующие в построении таблицы. Есть
возможность перестраивать таблицу с помощью мыши «на лету». Сделать это можно,
если перетаскивать поля с заголовками измерений.
Кросс-диаграмма обладает интересной возможностью – построением тренда. Во
многих случаях тренд позволяет увидеть тенденции, которые обычно скрыты из-за
Лекция № 2 стр. 9 из 9
большого разброса значений, наличия отклонений, не типичных для отображаемого
процесса и т.д. Линия тренда получается путем сглаживания рядов данных, на основе
которых построена кросс-диаграмма, посредством выделения и отсечения больших
отклонений, которые в большинстве случаев мешают оценить общий характер процесса.