Исследование математических моделей, методов и средств бизнес-аналитики СУБД SQL Server
Обзор архитектуры СУБД SQL Server. Описание и анализ областей применения средств бизнес-аналитики, таких как многомерный анализ данных и интеллектуальный анализ данных. Обзор языковых средств, методов и экспериментальное применение полученных сведений.
Рубрика | Программирование, компьютеры и кибернетика |
Вид | дипломная работа |
Язык | русский |
Дата добавления | 09.07.2014 |
Размер файла | 2,2 M |
Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже
Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.
Размещено на http://www.allbest.ru/
Размещено на http://www.allbest.ru/
Список сокращений
БД - база данных
СППР - система поддержки принятия решений
СУБД - система управления базами данных
ХД - хранилище данных
BI (Business Intelligence) - бизнес-аналитика
BI Dev Studio (Business Intelligence Development Studio) - инструментальная среда разработки аналитических решений, поставляемая вместе с Microsoft SQL Server 2008
DM (Data Mining) - интеллектуальный анализ данных
EM (Expectation-maximization) - максимизация ожиданий, алгоритм кластеризации
SQL (Structured Query Language) - язык структурированных запросов, используемый при работе с реляционными СУБД
Введение
Повсеместное использование компьютеров привело к пониманию важности задач, связанных с анализом накопленной информации для извлечения новых знаний.
Управление предприятием, банком, различными сферами бизнеса, немыслимо без процессов накопления, анализа, выявления определенных закономерностей и зависимостей, прогнозирования тенденций и рисков.
Бизнес-аналитика - мультидисциплинарная область, находящаяся на стыке информационных технологий, баз данных, алгоритмов интеллектуальной обработки данных, математической статистики и методов визуализации.
Решения принимаются руководителями, а задача бизнес-аналитики - сделать все, чтобы эти решения были оптимальными и своевременными.
Целью работы является исследование математических моделей, методов и средств бизнес-аналитики СУБД SQL Server. Данная тема является актуальной, так как на сегодняшний день средства бизнес-аналитики применяются почти во всех сферах жизнедеятельности человека:
· в Интернет-технологиях средства BI применяются для построения рекомендательных систем интернет-магазинов и для решения проблемы персонализации посетителей Web-сайтов;
· в торговле технологии бизнес-аналитики позволяют успешно продвигать товары и непосредственно управлять спросом на различные товары путем анализа рыночных корзин;
· в телекоммуникациях средства BI позволяют решать проблему доходности и риска клиентов, а также проблему защиты от мошенничества;
· в промышленном производстве примером использования технологий бизнес-аналитики может быть прогнозирование качества изделия в зависимости от замеряемых параметров технологического процесса;
· примером использования средств бизнес-аналитики в медицине может служить построение диагностической системы или исследование эффективности хирургического вмешательства;
· классическим примером применения на практике методов анализа данных является решение проблемы о возможной некредитоспособности клиентов в банковской сфере.
В работе представлены наиболее перспективные направления анализа данных: хранение информации, оперативный и интеллектуальный анализ данных. Кроме описания методов анализа приводятся экспериментальные результаты.
Для достижения поставленной цели в работе решаются следующие задачи:
- обзор архитектуры СУБД SQL Server и подсистемы бизнес-аналитики;
- описание и анализ областей применения средств бизнес-аналитики, таких как многомерный анализ данных и интеллектуальный анализ данных;
- обзор языковых средств бизнес-аналитики;
- экспериментальное применение полученных сведений.
Работа состоит из трех глав.
В первой главе речь идет о постановке задачи, целях и задачах бизнес-аналитики, то есть непосредственно знакомство с предметной областью. Также в этой части работы рассматривается архитектура СУБД SQL Server и подробно описывается математическая основа бизнес-аналитики, а именно: математические модели, методы и алгоритмы для оперативного и интеллектуального анализа данных, что соответствует заявленной теме.
Во второй главе работы рассматриваются языковые средства для бизнес-аналитики, в частности язык MDX для оперативного анализа данных и язык DMX - для интеллектуального анализа данных. Подробно описываются основные конструкции языковых средств с приведением примеров.
В третьей главе подробно описываются результаты эксперимента. Решаются такие задачи, как классификация клиентов по их уровню дохода, анализ точности предсказания, кластеризация клиентов и предсказание по продажам определенного товара в заданном регионе. В практической части работы выполнено описание структур и моделей, используемых в задачах обработки данных. Для наглядного представления приведены графики и диаграммы результатов, а также даны их пояснения и выводы по применению в дальнейшей работе компании.
1. Постановка задачи и обзор литературы
1.1 Постановка задачи
1. Необходимо выполнить обзор различных технологий в бизнес-аналитике на примере СУБД SQL Server.
2. Также надо обозначить перечень используемых математических моделей и описать их сущность.
3. Произвести анализ языковых средств, с помощью которых будут реализованы методы и алгоритмы для СУБД SQL Server.
4. Выполнить демонстрацию возможностей технологий на примере учебной базы.
1.2 Цели и задачи бизнес-аналитики
Задача поиска неявных взаимосвязей, имеющихся в наборах данных, стала актуальной благодаря широкому распространению технологий автоматизированной обработки информации и накоплению в компьютерных системах больших массивов данных. Для извлечения информации нужно использовать методы математической статистики, теории баз данных, теории искусственного интеллекта и интеллектуального анализа данных.
Кроме хранения данных и поиска новых значений, появляются новые задачи, связанные с анализом и поиском в них закономерностей. Собранная информация может быть полезной в процессе управления организацией, поиска путей совершенствования деятельности и получения посредством этого конкурентных преимуществ. Таким образом, появляется потребность в информационных системах, которые позволили бы проводить глубокую аналитическую обработку.
Благодаря преимуществам интеллектуального анализа появляется новый класс программных систем - системы поддержки принятия решений (далее СППР). Основные задачи СППР - это ввод, хранение и анализ данных в определенной предметной области с целью поиска решений. Обобщенная архитектура СППР представлена на рисунке 1.
Рис. 1. Обобщенная архитектура системы поддержки принятия решений
В подсистеме ввода данных, называемых OLTP (Online transaction processing), выполняется операционная обработка данных. Для реализации этих подсистем используют обычные системы управления базами данных (СУБД).
Современная подсистема анализа может быть построена на основе:
1) подсистемы информационно-поискового анализа на базе реляционных СУБД и статических запросов с использованием языка структурных запросов SQL (Structured Query Language);
2) подсистемы оперативного анализа. Для реализации таких подсистем применяется технология оперативной аналитической обработки данных OLAP (Online Analytical Processing), использующая концепцию многомерного представления данных;
3) подсистемы интеллектуального анализа. Эта подсистема реализует методы и алгоритмы Data Mining («интеллектуальный анализ данных»).
Для эффективного функционирования, системы анализа информации должны быть организованы иным способом, че тот, который применяется в OLTP-системах.
Можно выделить ряд принципиальных отличий СППР и OLTP-систем:
Таблица 1. Сравнение свойств OLTP-системы и СППР
Свойство |
OLTP-система |
СППР |
|
Цели использования данных |
Быстрый поиск, простейшие алгоритмы обработки |
Аналитическая обработка с целью поиска скрытых закономерностей, построения прогнозов и моделей и т.д. |
|
Уровень обобщения (детализации) данных |
Детализированные |
Как детализированные, так и обобщенные (агрегированные) |
|
Требования к качеству данных |
Возможны некорректные данные (ошибки регистрации, ввода и т.д.) |
Ошибки в данных не допускаются, поскольку могут привести к некорректной работе аналитических алгоритмов. |
|
Формат хранения данных |
Данные могут храниться в различных форматах в зависимости от приложения, в котором они были созданы |
Данные хранятся и обрабатываются в едином формате. |
|
Время хранения данных |
Как правило, не более года (в пределах отчетного периода) |
Годы, десятилетия. |
|
Изменение данных |
Данные могут добавляться, изменяться и удаляться |
Допускается только пополнение; ранее добавленные данные изменяться не должны, что позволяет обеспечить их хронологию. |
|
Периодичность обновления |
Часто, но в небольших объемах. |
Редко, но в больших объемах. |
|
Доступ к данным |
Должен быть обеспечен доступ ко всем текущим (оперативным) данным |
Должен быть обеспечен доступ к историческим (то есть накопленным за достаточно длинный период времени) данным с соблюдением их хронологии. |
|
Характер выполняемых запросов |
Стандартные, настроенные заранее |
Нерегламентированные, формируемые аналитиком «на лету» в зависимости от требуемого анализа |
|
Время выполнения запроса |
Несколько секунд |
До нескольких минут |
Требования к СППР и OLTP-системам существенно отличаются. Поэтому для объединения в одной системе OLTP и СППР для реализации подсистемы хранения используются концепция хранилищ данных (ХД).
В основе концепции хранилищ данных (ХД) лежат следующие положения:
· интеграция и согласование данных из различных источников, таких как обычные системы оперативной обработки, базы данных, учетные системы, офисные документы, электронные архивы, расположенные как внутри предприятия, так и во внешнем окружении;
· разделение наборов данных, используемых системами выполнения транзакций и СППР.
В концепции ХД нет постановки вопросов, связанных с организацией эффективного анализа данных и предоставления доступа к ним. Эти задачи решаются подсистемами анализа.
Сокращение затрат на проектирование и разработку ХД может быть достигнуто путем создания витрин данных (ВД). ВД - это упрощенный вариант ХД, содержащий только тематически объединенные данные.
В настоящее время разработано несколько архитектур хранилищ:
· реляционные ХД;
· многомерные ХД;
· гибридные ХД;
· виртуальные ХД;
· одноплатформенные ХД;
· кросс-платформенные ХД.
Рис. 2. Структура СППР с самостоятельными ВД
Реляционные ХД используют классическую реляционную модель. Данные хранятся в реляционных таблицах, но образуют специальные структуры с многомерным представлением данных. Такая технология обозначается аббревиатурой ROLAP -- Relational OLAP.
Многомерные ХД реализуют многомерное представление данных на физическом уровне в виде многомерных кубов. Данная технология получила название MOLAP -- Multidimensional OLAP.
Гибридные ХД сочетают в себе свойства как реляционной, так и многомерной модели данных. В гибридных ХД детализированные данные хранятся в реляционных таблицах, а агрегаты -- в многомерных кубах. Такая технология построения ХД называется HOLAP -- Hybrid OLAP.
Виртуальные ХД не являются хранилищами данных в привычном понимании. В таких системах работа ведется с отдельными источниками данных, но при этом осуществляется работа обычного ХД. Данные собираются непосредственно в процессе выполнения запроса.
Кроме того, все ХД можно разделить на одноплатформенные и кросс-платформенные. Одноплатформенные ХД строятся на базе только одной СУБД, а кросс-платформенные могут строиться на базе нескольких СУБД.
В процессе принятия решений пользователь генерирует некоторые гипотезы. Для превращения их в законченные решения эти гипотезы должны быть проверены. Проверка гипотез осуществляется на основании информации об анализируемой предметной области. В процессе анализа данных, поиска решений часто возникает необходимость в построении зависимостей между различными параметрами. Кроме того, число таких параметров может варьироваться в широких пределах.
OLAP-системы предоставляют аналитику средства проверки гипотез при анализе данных. При этом основной задачей аналитика является генерация гипотез. Он решает ее, основываясь на своих знаниях и опыте. Однако знания есть не только у человека, но и в накопленных данных, которые подвергаются анализу. Такие знания часто называют "скрытыми", т. к. они содержатся в гигабайтах и терабайтах информации, которые человек не в состоянии исследовать самостоятельно.
Очевидно, что для обнаружения скрытых знаний необходимо применять специальные методы автоматического анализа, при помощи которых приходится практически добывать знания из "завалов" информации. За этим направлением прочно закрепился термин добыча данных или Data Mining.
Таким образом, подсистема анализа может быть построена на основе оперативного анализа, для реализации которой используется технология оперативной аналитической обработки данных OLAP. А также подсистема анализа строится на базе интеллектуального анализа, реализующего методы и алгоритмы Data Mining.
Реляционная модель данных, которая была предложена Э.Ф. Коддом в 1970 году служит основой современной многомиллиардной отрасли баз данных. За последние десять лет сложилась многомерная модель данных, которая используется, когда целью является именно анализ данных, а не выполнение транзакций.
Основное назначение многомерных ХД - поддержка систем, ориентированных на аналитическую обработку данных.
Многомерная модель данных, лежащая в основе построения многомерных хранилищ данных, опирается на концепцию многомерных кубов, или гиперкубов. Они представляют собой упорядоченные многомерные массивы, которые также часто называют OLAP-кубами.
OLAP (Online Analytical Processing) - технология оперативной аналитической обработки данных, использующая методы и средства для сбора, хранения и анализа многомерных данных в целях поддержки процессов принятия решений.
Основное назначение OLAP-систем - поддержка аналитической деятельности, произвольных запросов пользователей - аналитиков. Цель OLAP-анализа - проверка возникающих гипотез.
В общем виде архитектура OLAP-системы описывается схемой с тремя выделенными слоями (рисунок 3).
Рис. 3. Архитектура OLAP-системы
В процессе анализа данных часто возникает необходимость построения зависимостей между различными параметрами, число которых может быть значительным.
Возможность анализа зависимостей между различными параметрами предполагает возможность представления данных в виде многомерной модели - гиперкуба или OLAP-куба.
Рис. 4. Представление данных в виде гиперкуба
Измерение (Dimensions) - последовательность значений одного из анализируемых параметров. Например, для параметра «время» это - последовательность дней, месяцев, кварталов, лет.
На пересечениях осей измерений располагаются данные, количественно характеризующие анализируемые факты, - меры (Measures). Это могут быть объемы продаж, остатки на складе и т.п.
Ребрами такого гиперкуба являются измерения, а ячейками - меры.
OLAP-система включает в себя два основных компонента: OLAP-клиент и OLAP-сервер.
OLAP-клиент предоставляет пользователю интерфейс к многомерной модели данных, обеспечивая его возможностью удобно манипулировать данными для выполнения задач анализа.
Клиентские OLAP-средства применяются, как правило, при малом числе измерений (обычно рекомендуется не более шести) и небольшом разнообразии значений этих параметров, -- ведь полученные агрегатные данные должны умещаться в адресном пространстве подобного средства, а их количество растет экспоненциально при увеличении числа измерений. Поэтому даже самые примитивные клиентские OLAP-средства, как правило, позволяют произвести предварительный подсчет объема требуемой оперативной памяти для создания в ней многомерного куба.
OLAP-сервер обеспечивает хранение данных, выполнение над ними необходимых операций и формирование многомерной модели на концептуальном уровне.
Некоторые клиентские OLAP-средства (в частности, Microsoft Excel) позволяют обращаться к серверным OLAP-хранилищам, выступая в этом случае в роли клиентских приложений, выполняющих подобные запросы.
OLAP-системы предоставляют аналитику средства проверки гипотез при анализе данных. При этом основной задачей аналитика является генерация гипотез. Очевидно, что для обнаружения скрытых знаний необходимо применять специальные методы автоматического анализа, при помощи которых приходится практически добывать знания из «завалов» информации.
Возникает потребность поиска взаимосвязей между отдельными событиями среди больших объемов данных.
За этим направлением прочно закрепился термин «интеллектуальный анализ данных» или Data Mining. Классическим считается определение, данное основателем направления в 1996 году Григорием Пятецким-Шапиро: Data Mining - исследование и обнаружение «машиной» в сырых данных скрытых знаний, которые ранее не были известны, нетривиальны, практически полезны, доступны для интерпретации человеком.
Data Mining - это процесс выделения, исследования и моделирования больших объемов данных для обнаружения неизвестных до этого структур с целью достижения преимуществ в бизнесе.
Рис. 5. Мультидисциплинарный характер Data Mining
Основными задачами, с которыми сталкивается аналитик являются - классификация, регрессия, поиск ассоциативных правил и кластеризация.
Задача классификации заключается в том, что для каждого варианта определяется категория или класс, которому он принадлежит. В качестве примера можно привести оценку кредитоспособности потенциального заемщика: назначаемые классы здесь могут быть «кредитоспособен» и «некредитоспособен». Для решения задачи требуется, чтобы множество классов было известно заранее и было бы конечным и счетным.
Рис. 6. Иллюстрация задачи классификации
Задача регрессии во многом схожа с задачей классификации, но в ходе ее решения производится поиск шаблонов для определения непрерывного числового значения.
Рис. 7. Иллюстрация задачи регрессии
Отдельно выделяется задача прогнозирования новых значений на основании имеющихся значений числовой последовательности. При этом могут учитываться имеющиеся тенденции (тренды), сезонность, другие факторы. Классическим примером является прогнозирование цен акций на бирже.
Все задачи интеллектуального анализа по способу решения можно разделить на два класса: обучение с учителем и обучение без учителя.
В первом случае, требуется обучающий набор данных, на котором создается и обучается модель интеллектуального анализа. Готовая модель тестируется и используется для предсказания значений в новых наборах данных.
Во втором случае, целью является выявление закономерностей, имеющихся в существующем наборе данных. При этом обучающая выборка не требуется. Достоинством таких задач является возможность их решения без каких-либо предварительных знаний об анализируемых данных.
Задача кластеризации заключается в поиске независимых групп и их характеристик во всем множестве анализируемых данных. Решение этой задачи помогает лучше понять данные. Группировка однородных объектов позволяет сократить их число и облегчить анализ.
Другое название этой задачи - сегментация, деление множества объектов на группы, схожие по параметрам.
Рис. 8. Иллюстрация задачи кластеризации
Задача определения взаимосвязей (задача поиска ассоциативных правил) заключается в определении часто встречающихся наборов объектов среди множества подобных наборов. Классическим примером является анализ потребительской корзины.
Поставленные задачи по назначению делятся на описательные и предсказательные.
Описательные (descriptive) задачи уделяют внимание улучшению понимания анализируемых данных. Ключевой момент в таких моделях - легкость и прозрачность результатов для восприятия человеком. К такому виду задач относятся кластеризация и поиск ассоциативных правил.
Решение предсказательных (predictive) задач разбивается на два этапа. На первом этапе на основании набора данных с известными результатами строится модель. На втором этапе она используется для предсказания результатов на основании новых наборов данных. При этом требуется, чтобы построенные модели работали максимально точно. К данному виду задач относят задачи классификации и регрессии.
Построение модели интеллектуального анализа данных можно представить как последовательность следующих шести базовых шагов.
1. Постановка задачи
2. Подготовка данных
3. Просмотр данных
4. Построение моделей
5. Исследование и проверка моделей
6. Развертывание и обновление моделей
Первым шагом интеллектуального анализа данных является четкое определение проблемы и рассмотрение способов использования данных для решения проблемы. Этот шаг включает анализ бизнес-требований, определение области проблемы, метрик, по которым будет выполняться оценка модели, а также определение задач для проекта интеллектуального анализа данных.
Рис. 9. Этапы интеллектуального анализа данных
Вторым шагом является объединение и очистка данных, определенных во время шага. Постановка задачи. Очистка данных -- это не только удаление недопустимых данных или интерполяция отсутствующих значений, но и поиск в данных скрытых зависимостей, определение источников самых точных данных и подбор столбцов, которые больше всего подходят для использования в анализе. Третьим шагом процесса является просмотр подготовленных данных. Для принятия правильных решений при создании моделей интеллектуального анализа данных необходимо понимать данные.
Четвертым шагом процесса является построение моделей интеллектуального анализа данных. Модель интеллектуального анализа данных перед обработкой структуры и модели является просто контейнером, который задает столбцы, используемые для входных данных, прогнозируемый атрибут и параметры, управляющие алгоритмом обработки данных.Обработку модели часто называют обучением.
Пятым шагом процесса является исследование построенных моделей интеллектуального анализа данных и проверка их эффективности. Перед развертыванием модели в рабочей среде необходимо проверить эффективность работы модели. Кроме того, во время построения модели обычно создается несколько моделей с различной конфигурацией, а затем проверяются все модели, чтобы определить, какая из них обеспечивает лучшие результаты для поставленной задачи и имеющихся данных.
Последним шагом процесса является развертывание наиболее эффективных моделей в рабочей среде. После развертывания моделей интеллектуального анализа данных в рабочей среде можно выполнять множество задач, соответствующих потребностям пользователя.
1.3 Архитектура СУБД SQL Server
В SQL Server реализовано несколько технологий управления и анализа данных. На рисунке 10 схематично представлены компоненты СУБД MS SQL Server 2008.
Для многомерных данных (OLAP):
Службы MicrosoftSQL ServerAnalysis Services реализуют быстрый и понятный анализ крупных количеств данных. Также позволяют проектировать, создавать и управлять многомерными структурами, которые содержат детализирующие и статистические данные из нескольких источников данных.
Рис. 10. Службы и компоненты СУБД MS SQL Server 2008
Логическая архитектура:
Службы MicrosoftSQL ServerAnalysis Services используют как серверные, так и клиентские компоненты для предоставления приложениям бизнес-аналитики функций оперативной аналитической обработки (OLAP) и интеллектуального анализа данных.
· Серверный компонент служб Analysis Services реализован в виде службы Microsoft Windows. Службы SQL ServerAnalysis Services поддерживают работу нескольких экземпляров на одном компьютере, при этом каждый экземпляр служб Analysis Services реализован как отдельный экземпляр службы Windows.
· Клиенты обмениваются данными со службами Analysis Services с помощью общедоступного стандарта XML для аналитики (XMLA), который представляет собой протокол для выполнения команд и получения ответов.
Рис. 11. Связи между объектами служб Analysis Services
Исходя из рисунка 11, можно сделать следующие выводы.
Каждый экземпляр служб SSAS рассматривается как отдельный объект сервера и подключается к нему с помощью отдельного соединения. Каждый объект сервера содержит один или несколько источников данных, представление источника данных и объекты базы данных, а также сборки и роли безопасности.
Каждый объект базы данных содержит несколько объектов измерения. Каждый объект измерения содержит один или несколько атрибутов, которые организованы в виде иерархий.
Каждый объект базы данных содержит один или несколько объектов куба. Куб задается его мерами и измерениями. Меры и измерения куба выводятся из таблиц и представлений в представлении источника данных, на котором основан куб или который создан из определений мер и измерений.
Физическая архитектура может быть представлена следующей таблицей.
Таблица 2. Физическая архитектура многомерных данных (OLAP)
Название элемента |
Описание |
|
Серверный процесс |
Представляет архитектуру службы. Позволяет использовать несколько экземпляров в Analysis Services. |
|
Папки и файлы сервера |
Описывают, как реализуются кубы в среде сервера, в которой эксплуатируется решение служб Analysis Services. |
|
Локальные кубы |
Описывают, как реализуются изолированные кубы и что представляет собой область действия такой реализации в решении служб Analysis Services. |
|
Клиент |
Описывает архитектуру клиента, предназначенного для доступа к данным и метаданным с помощью решения служб Analysis Services. |
Для интеллектуального анализа данных:
Службы MicrosoftSQL ServerAnalysis Services содержат:
· Набор стандартных алгоритмов интеллектуального анализа данных.
· Конструктор интеллектуального анализа данных, который предназначен для создания и просмотра моделей интеллектуального анализа данных, для управления моделями и для составления прогнозов с помощью этих моделей.
Логическая архитектура:
Интеллектуальный анализ данных -- это процесс взаимодействия нескольких компонентов. Определяются структуры и модели интеллектуального анализа данных с помощью среды Business Intelligence Development Studio. Одна структура интеллектуального анализа может поддерживать несколько моделей интеллектуального анализа данных, совместно использующих один домен. Управлять объектами интеллектуального анализа данных и создавать прогнозы и запросы можно в среде SQL Server Management Studio. Законченное решение развертывается в экземпляре служб Analysis Services.
Физическая архитектура:
Экземпляр служб Analysis Services запускается, как изолированная служба, взаимодействие с этой службой происходит через XMLA с использованием протокола HTTP или TCP. Объекты AMO -- это прослойка между приложением пользователя и экземпляром служб Analysis Services. Они предоставляют доступ к административным объектам служб Analysis Services. Объект AMO -- это библиотека класса, которая принимает команды от клиентского приложения и преобразует их в XMLA-сообщения для экземпляра служб Analysis Services. Объекты AMO представляют объекты экземпляра служб Analysis Services, как классы для приложения конечного пользователя, с элементами-методами, запускающими команды и элементами-свойствами, хранящими данные объектов служб Analysis Services.
Рисунок 12 отображает архитектуру компонентов служб Analysis Services, включая все главные элементы, запущенные на экземпляре служб Analysis Services, и все пользовательские компоненты, взаимодействующие с этим экземпляром. Рисунок также отображает, что единственным путем доступа к экземпляру является прослушиватель XML для аналитики или использование протокола HTTP или TCP.
Рис. 12. Архитектура компонентов служб Analysis Services
1.4 Математические основы бизнес-аналитики
1.4.1 Математические основы оперативного анализа данных
Существующие математические модели многомерных OLAP-систем обладают следующими недостатками, касающимися формальной структуры этих моделей.
1) Моделирование запросов к многомерной БД с помощью преобразования их в эквивалентные реляционные выражения или логические формулы делает невозможным выполнение произвольной последовательности операций.
2) Множественное наследование в иерархиях затрудняет реорганизацию иерархической структуры, так как одна и та же вершина может принадлежать различным путям агрегации, имеющим различные агрегирующие функции.
3) В процессе эволюции многомерной базы данных возникают семантические конфликты вследствие различных отношений «родитель -потомок» для нескольких вершин, являющихся родительскими для одного и того же потомка.
4) Структура измерения допускает разбиение всего множества его значений на пересекающиеся подмножества, что может привести к некорректному агрегированию.
Термин OLAP был введен в 1993 Эдгаром Коддом. Кодд сформулировал 12 признаков OLAP-данных, и большинство современных средств OLAP отвечает этим постулатам.[13]
Многомерная концепция данных.
OLAP оперирует данными CUBE, которые являются многомерными массивами. Число измерений OLAP-кубов не ограничено.
Прозрачность.
OLAP системы должны опираться на открытые системы, поддерживающие гетерогенные источники данных.
Доступность.
OLAP системы должны представлять пользователю единую логическую схему данных.
Постоянная скорость выполнения запросов.
Производительность не должна падать при росте числа измерений.
Клиент/сервер архитектура.
Системы должны базироваться на открытых интерфейсах и иметь модульную структуру.
Различное число измерений.
Системы не должны ограничиваться трехмерной моделью представления данных. Измерения должны быть эквивалентны по применению любых функций.
Динамическое представление разреженных матриц.
Под разреженной матрицей понимается такая матрица, не каждая ячейка которой содержит данные. OLAP-системы должны содержать средства хранении и обработки разреженных матриц больших объемов.
Многопользовательская поддержка.
OLAP-системы должны поддерживать многопользовательский режим работы.
Неограниченные многомерные операции.
Аналогично требованию о различном числе измерений: все измерения считаются равными, и многомерные операции не должны накладывать ограничения на отношения между ячейками.
Интуитивно понятные инструменты манипулирования данными.
Для формулировки многомерных запросов пользователи не должны работать со усложненными меню.
Гибкая настройка конечных отчетов.
Пользователи должны иметь возможность видеть только то, что им необходимо, причем все изменения данных должны немедленно отображаться в отчетах.
Отсутствие ограничений.
Не должны иметься какие-либо ограничения на количество измерений и уровней агрегации данных.
Срез - заключается в выделении подмножества ячеек гиперкуба при фиксировании значения одного или нескольких измерений. В результате сечения получается срез или несколько срезов, каждый из которых содержит информацию, связанную со значением измерения, по которому он был построен. Например, если выполнить сечение по значению ЗАО «Строитель» измерения Покупатель, то полученный в результате срез будет содержать информацию об истории продаж всех товаров данного предприятия, которую можно будет свести в плоскую таблицу.
Рис. 13. Операция среза
Куб данных обозначим как множество ячеек (на примере трехмерного куба). Зафиксируем значение, то есть . В данном примере, если выполнять операцию среза, то получим в результате плоскость, представленную матрицей .
Таким образом, = ,
Вращение - изменение расположения измерений, представленных в отчете или на отображаемой странице. Например, операция вращения может заключаться в перестановке местами строк и столбцов таблицы. Кроме того, вращением куба данных является перемещение внетабличных измерений на место измерений, представленных на отображаемой странице, и наоборот.
Рис. 14. Операция вращения
Таким образом, явным формальным примером операции вращения будет служить транспонирование матрицы.
Пусть - матрица вращения размера mЧn. Тогда транспонированная матрица , полученная в результате выполнения операции вращения, размером nЧm такая, что: элементы .
Консолидация и детализация - операции, которые определяют переход вверх по направлению от детального представления данных к агрегированному и наоборот, соответственно. Направление детализации (обобщения) может быть задано как по иерархии отдельных измерений, так и согласно прочим отношениям, установленным в рамках измерений или между измерениями.
Рис. 15. Операции консолидации и детализации
Для понятного и простого формального представления операций консолидации и детализации возьмем за пример - вектор.
.
.
1.4.2 Задачи, методы и алгоритмы Data Mining
В службах MicrosoftSQLServerреализовано несколько алгоритмов в решениях интеллектуального анализа данных. Выбор правильного алгоритма в конкретной аналитической задаче может быть достаточно сложным. В то время как можно использовать различные алгоритмы для выполнения одной и той же задачи, каждый алгоритм выдает различный результат. Например, можно использовать алгоритм дерева принятия решений (Майкрософт) не только для прогнозирования, но также в качестве способа уменьшения количества столбцов в наборе данных, поскольку дерево принятия решений может идентифицировать столбцы, не влияющие на конечную модель интеллектуального анализа данных.
Метод представляет собой норму или правило, определенный путь, способ, прием решений задачи теоретического, практического, познавательного, управленческого характера.
Большинство аналитических методов, используемые в технологии Data Mining - это известные математические алгоритмы и методы. Следует отметить, что большинство методов Data Mining были разработаны в рамках теории искусственного интеллекта.
К часто используемым методам и алгоритмам Data Mining относятся:
1. Упрощенный алгоритм Байеса;
1. Деревья решений;
2. Линейная регрессия;
3. Анализ временных рядов;
4. Кластеризация;
5. Алгоритм взаимосвязей;
6. Кластеризация последовательностей;
7. Нейронные сети;
8. Логическая регрессия;
1.4.2.1 Задача классификации и регрессии
Формально задачу классификации и регрессии можно описать следующим образом. Имеется множество объектов:
, (1)
где - исследуемый объект.
Каждый объект характеризуется набором переменных:
, (2)
где -- независимые переменные, значения которых известны и на основании которых определяется значение зависимой переменной .
В Data Mining часто набор независимых переменных обозначают в виде вектора:
. 3)
Каждая переменная может принимать значения из некоторого множества:
. (4)
Если множество значений переменной конечное, то задача называется задачей классификации. Если переменная принимает значение на множестве действительных чисел , то задача называется задачей регрессии.
В задачах классификации и регрессии обнаруженная функциональная зависимость между переменными может быть представлена одним из следующих способов:
· классификационные правила;
· деревья решений;
· математические функции.
Классификационные правила состоят из двух частей: условия и заключения: если (условие), то (заключение).
Условием является проверка одной или нескольких независимых переменных. Проверки нескольких переменных могут быть объединены с помощью операций "и", "или" и "не". Заключением является значение зависимой переменной или распределение ее вероятности по классам.
Основным достоинством правил является легкость их восприятия и запись на естественном языке. Еще одно преимущество -- их относительная независимость.
Существуют разные методы построения правил классификации: алгоритм построения 1-правил, метод Naive Bayes.
Деревья решений -- это способ представления правил в иерархической, последовательной структуре.
Деревья решений легко преобразуются в правила. В условную часть таких правил записывается условие, описанное в узлах дерева на пути к листу, в заключительную часть -- значение, определенное в листе.
Существуют различные методы построения деревьев решений, такие как: методика «разделяй и властвуй», алгоритм ID3, алгоритм С4.5, алгоритм покрытия.
Математическая функция выражает отношение зависимой переменной от независимых переменных. В этом случае анализируемые объекты рассматриваются как точки в
мерном пространстве. Тогда переменные объекта рассматриваются как координаты, а функция имеет следующий вид:
, (5)
где - веса независимых переменных, в поиске которых и состоит задача нахождения классификационной функции.
Очевидно, что все переменные должны быть представлены в виде числовых параметров.
Существуют различные методы построения математических функций: линейные методы, такие как метод наименьших квадратов, нелинейные методы, Support Vector Machines, регуляризационные сети, дискретизации и редкие сетки.
1.4.2.2 Задача кластеризации
Большое достоинство кластерного анализа в том, что он позволяет осуществлять разбиение объектов не по одному параметру, а по целому набору признаков. Задача кластеризации состоит в разделении исследуемого множества объектов на группы "похожих" объектов, называемых кластерами.
Формально задача кластеризации описывается следующим образом.
Дано множество объектов данных , каждый из которых представлен набором атрибутов. Требуется построить множество кластеров и отображение множества на множество , т. е. . Отображение задает модель данных, являющуюся решением задачи. Качество решения задачи определяется количеством верно классифицированных объектов данных.
Множество определим следующим образом:
, (6)
где - исследуемый объект.
Каждый из объектов характеризуется набором параметров:
(7)
Каждая переменная может принимать значения из некоторого множества:
. (8)
Задача кластеризации состоит в построении множества:
. (9)
Здесь -- кластер, содержащий похожие друг на друга объекты из множества :
, (10)
где -- величина, определяющая меру близости для включения объектов в один кластер;
-- мера близости между объектами, называемая расстоянием.
Неотрицательное значение называется расстоянием между элементами , если выполняются следующие условия:
1. , для всех .
2. , тогда и только тогда, когда .
3. .
4. .
Если расстояниеменьше некоторого значения , то говорят, что элементы близки и помещаются в один кластер. В противном случае говорят, что элементы отличны друг от друга и их помещают в разные кластеры.
Большинство популярных алгоритмов, решающих задачу кластеризации, используют в качестве формата входных данных матрицу отличия Строки и столбцы матрицы соответствуют элементам множества . Элементами матрицы являются значения в строке и столбце . Очевидно, что на главной диагонали значения будут равны нулю:
(12)
Расстояния между объектами предполагают их представление в виде точек мерного пространства . В этом случае могут быть использованы различные расстояния, например:
1. Евклидово расстояние - Иногда может возникнуть желание возвести в квадрат стандартное евклидово расстояние, чтобы придать большие веса более отдаленным друг от друга объектам. Это расстояние вычисляется следующим образом:
(13)
2. Расстояние по Хеммингу является просто средним разностей по координатам. Вычисляется по формуле:
(14)
3. Расстояние Чебышева может оказаться полезным, когда желают определить два объекта как "различные", если они различаются по какой-либо одной координате (каким-либо одним измерением). Вычисляется по формуле:
(15)
4. Расстояние Махаланобиса вычисляется по формуле:
16)
5. Пиковое расстояние предполагает независимость между случайными переменными, что говорит о расстоянии в ортогональном пространстве. Но в практических приложениях эти переменные не являются независимыми.
(17)
1.4.2.3 Задача поиска ассоциативных правил
Обозначим объекты, составляющие исследуемые наборы (itemsets), следующим множеством:
(11)
где -- объекты, входящие в анализируемые наборы; -- общее количество объектов.
Наборы объектов из множества , хранящиеся в БД и подвергаемые анализу, называются транзакциями. Опишем транзакцию как подмножество множества:
. (12)
Набор транзакций, информация о которых доступна для анализа, обозначим следующим множеством:
, (13)
где -- количество доступных для анализа транзакций.
Множество транзакций, в которые входит объект , обозначим следующим образом:
. (14)
Некоторый произвольный набор объектов (itemset) обозначим следующим образом:
. (15)
Множество транзакций, в которые входит набор , обозначим следующим образом:
. (16)
Отношение количества транзакций, в которое входит набор , к общему количеству транзакций называется поддержкой (support) набора и обозначается :
. (17)
При поиске аналитик может указать минимальное значение поддержки интересующих его наборов . Набор называется частым (large itemset), если значение его поддержки больше минимального значения поддержки, заданного пользователем:
. 18)
Таким образом, при поиске ассоциативных правил требуется найти множество всех частых наборов:
. (19)
1.4.3 Обзор алгоритмов интеллектуального анализа данных
Существует большое количество методов и алгоритмов интеллектуального анализа данных. Но в данной работе мы ограничимся рассмотрением тех алгоритмов, которые реализуются в SQL Server 2008, так как тема бакалаврской работы связана с рассмотрением бизнес-аналитики на этой платформе.
Таблица 3. Соответствие алгоритмов Microsoft для задач интеллектуального анализа данных
Задача интеллектуального анализа данных |
Алгоритмы интеллектуального анализа данных |
|
Классификация |
Для задачи классификации используются следующие алгоритмы Microsoft: упрошенный алгоритм Байеса, алгоритм дерева принятия решений, алгоритм нейронной сети. |
|
Регрессия |
Для задачи регрессии используются следующие алгоритмы Microsoft: алгоритм дерева принятия решений, алгоритм линейной регрессии, алгоритм временных рядов, алгоритм нейронной сети, алгоритм логической регрессии. |
|
Кластеризация |
Для задачи кластеризации используются следующие алгоритмы Microsoft: алгоритм кластеризации, алгоритм кластеризации последовательностей. |
|
Поиск взаимосвязей |
Для задачи поиска взаимосвязей используются следующие алгоритмы Microsoft: алгоритм дерева принятия решений, алгоритм взаимосвязей. |
1.4.3.1 Упрощенный алгоритм Байеса
Упрощенный алгоритм Байеса - это алгоритм классификации, основанный на вычислении условной вероятности значений прогнозируемых атрибутов. Предполагается, что входные атрибуты являются независимыми и определен хотя бы один выходной атрибут.
Алгоритм основан на использовании формулы Байеса. Пусть - полная группа несовместных событий, а B - некоторое событие, вероятность которого положительна. Тогда условная вероятность события , если в результате эксперимента наблюдалось событие B, может быть вычислена по формуле:
. (24)
Формула Байеса позволяет вычислить условные (апостериорные) вероятности.
Для СУБД MS SQL Server 2008 описание модели интеллектуального анализа хранится в виде иерархии узлов. Для упрощенного алгоритма Байеса иерархия имеет 4 уровня. Среда разработки BI Dev Studio позволяет просмотреть содержимое модели.
Для корректного использования этого алгоритма необходимо учитывать:
1. входные атрибуты должны быть взаимно независимыми;
2. атрибуты могут быть только дискретными или дискретизованными (в процессе дискретизации множество значений непрерывного числового атрибута разбивается на интервалы и далее идет работы с номером интервала);
3. алгоритм требует меньшего количества вычислений, чем другие алгоритмы интеллектуального анализа для MS SQL Server 2008, поэтому он часть используется для первоначального исследования данных. По этой же причине алгоритм предпочтителен для анализа больших наборов данных с большим числом входных атрибутов.
1.4.3.2 Алгоритм дерева принятия решений
Алгоритм представляет собой алгоритм регрессии и алгоритм классификации, предоставляемый службами Microsoft SQL Server Службы Analysis Services для использования в прогнозирующем моделировании как дискретных, так и непрерывных атрибутов.
Для дискретных атрибутов алгоритм осуществляет прогнозирования на основе связи между входными столбцами в наборе данных. Он использует значения этих столбцов (известные как состояния) для прогнозирования состояний столбца, который обозначается как прогнозируемый. Алгоритм идентифицирует входные столбцы, которые коррелированы с прогнозируемым столбцом.
Для непрерывных атрибутов алгоритм использует линейную регрессию для определения места разбиения дерева решений.
Если несколько столбцов установлены как прогнозируемые или если входные данные содержат вложенную таблицу, которая задана как прогнозируемая, то алгоритм строит отдельное дерево решений для каждого прогнозируемого столбца.
Принцип работы алгоритма
Алгоритм дерева принятия решений строит модель интеллектуального анализа данных путем создания ряда разбиений в дереве. Эти разбиения представлены как узлы. Алгоритм добавляет узел к модели каждый раз, когда выясняется, что входной столбец имеет значительную корреляцию с прогнозируемым столбцом. Способ, которым алгоритм определяет разбиение, отличается в зависимости от того, прогнозирует ли он непрерывный столбец или дискретный столбец.
Прогнозирование дискретных столбцов
Способ, которым алгоритм дерева принятия решений строит дерево для дискретного прогнозируемого столбца, можно продемонстрировать с использованием гистограммы. Показана гистограмма, на которой построен прогнозируемый столбец «Покупатели велосипедов» в сравнении с входным столбцом «Возраст». Гистограмма «Б» показывает, что возраст человека помогает определить, купит ли этот человек велосипед.
Рис. 16. Гистограмма «А»
Корреляция, показанная на диаграмме, приведет к тому, что алгоритм дерева принятия решений создаст новый узел в модели.
Добавление алгоритмом новых узлов к модели приводит к созданию древовидной структуры. Верхний узел дерева описывает разбиение прогнозируемого столбца для всех заказчиков. При продолжении роста модели алгоритм рассматривает все столбцы.
Рис. 17. Гистограмма «Б»
Прогнозирование непрерывных столбцов
Когда алгоритм дерева принятия решений строит дерево, основанное на непрерывном прогнозируемом столбце, каждый узел содержит регрессионную формулу. Разбиение осуществляется в точке нелинейности в этой регрессионной формуле.
Рис. 18. Диаграмма данных
Диаграмма содержит данные, которые можно моделировать либо используя одиночную линию, либо используя две соединенные линии. Однако одиночная линия не обеспечит надлежащего представления данных. Вместо этого при использовании двух линий модель обеспечит гораздо более точное приближение данных. Точка соединения этих двух линий является точкой нелинейности и представляет собой точку, в которой разобьется узел в модели дерева решений. Эти два уравнения представляют регрессионные уравнения для этих двух линий.
Рис. 19. Регрессионные уравнения
1.4.3.3 Алгоритм линейной регрессии
Алгоритм линейной регрессии позволяет представить зависимость между входной и выходной переменными как линейную, а затем использовать полученный результат при прогнозировании. Линия на диаграмме является наилучшим линейным представлением данных.
Рис. 20. Пример использования линейной регрессии
В случае одной независимой переменной (одного регрессора), задача может быть сформулирована следующим образом.
Уравнение, описывающее прямую на плоскости: . Для й точки будет справедливо , где - разница между фактическим значением и вычисленным в соответствии уравнением линии. Каждой точке соответствует ошибка, связанная с ее расстоянием от линии регрессии. Нужно с помощью подбора коэффициентов получить такое уравнение, чтобы сумма ошибок, связанных со всеми точками, стала минимальной. Для решения этой задачи может использоваться, в частности, метод наименьших квадратов.
Линейная регрессия является полезным и широко известным методом моделирования, особенно для случаев, когда известен приводящий к изменениям базовый фактор, и есть основания ожидать линейный характер зависимости.
1.4.3.4 Алгоритм анализа временных рядов
В общем случае, временной ряд - это набор числовых значений, собранных в последовательные моменты времени. Целью анализа временного ряда может быть выявление имеющихся зависимостей текущих значений параметров от предшествующих, с последующим использованием их для прогнозирования новых значений.
Ряд можно представить как упорядоченное множество элементов или событий , каждое из которых в общем случае может быть описано набором атрибутов: . На практике чаще всего используется один атрибут. При описании варианта для интеллектуального анализа данных, отметка времени (или номер элемента во временном ряде) вводится как один из атрибутов. Как правило, предполагается, что отметка времени - дискретное числовое значение, а предсказываемый атрибут - непрерывный.
Выделяют два основных формата представления временных рядов - столбчатый и чередующийся. С данными в столбчатом формате несколько проще работать, но этот формат менее гибкий.
Рассмотрим теперь некоторые особенности реализации алгоритма в SQL Server 2008. Алгоритм временных рядов (Microsoft Time Series) предоставляет собой совокупность двух алгоритмов регрессии, оптимизированных для прогноза рядов непрерывных числовых значений.
По умолчанию службы Analysis Services для обучения модели используют каждый алгоритм отдельно, а затем объединяют результаты, чтобы получить наиболее точный прогноз. В зависимости от имеющихся данных и требований к прогнозам, можно выбрать для использования только один алгоритм.
Точность прогноза для временного ряда может повысить указание известной периодичности.
Авторегрессия отличается от обычной регрессии тем, что текущее значение параметра
выражается через его значения в предыдущие моменты времени. Если использовать линейные зависимости, то алгоритм имеет решение в виде:
. (25)
- погрешность, которую надо минимизировать путем подбора коэффициентов , в чем и заключается обучение модели. Использование аналитическими службами SQL Server дерева авторегрессии позволяет менять формулу путем разбиения в точках нелинейности.
1.4.3.5 Алгоритм кластеризации
Кластеризация позволяет снизить размерность задачи анализа предметной области, путем «естественной» группировки вариантов в кластеры. Таким образом, кластер будет объединять близкие по совокупности параметров элементы, и в некоторых случаях, его можно рассматривать как единое целое
В случаях, когда для группировки используются значения одного-двух параметров, задача кластеризации может быть относительно быстро решена вручную или, например, обычными средствами работы с реляционными базами данных. Когда параметров много, возникает потребность в автоматизации процесса выявления кластеров.
Предоставляемый аналитическими службами SQL Server 2008 алгоритм кластеризации (Microsoft Clustering), использует итерационные методы для группировки вариантов со сходными характеристиками в кластеры. Алгоритм сначала определяет имеющиеся связи в наборе данных и на основе этой информации формирует кластеры.
Идею можно проиллюстрировать с помощью диаграмм на рисунке 21. На первом этапе (рисунок 21, а) имеется множество вариантов, далее (рисунок 21, b) идет итерационный процесс формирования кластеров, и в итоге получен относительно небольшой набор кластеров, которым можно задать идентификаторы и продолжить анализ.
Рис. 21. Переход от отдельных вариантов к кластерам
Microsoft Clustering содержит реализацию двух алгоритмов кластеризации. Первый из них, алгоритм средних (англ. means), реализует, так называемую жесткую кластеризацию. Это значит, что вариант может принадлежать только одному кластеру. Идея алгоритма заключается в следующем:
Подобные документы
Реляционная система управления базой данных Microsoft SQL Server архитектуры клиент-сервер. Тиражирование данных, параллельная обработка, поддержка больших баз данных. Определение маршрута движения документов в СЭД "Directum" и "Евфрат-документооборот".
контрольная работа [21,2 K], добавлен 17.10.2009Построение концептуальной, реляционной и логической моделей базы данных (БД). Разработка онтологии в системе Protege. Выбор средств реализации БД. Проверка ее структуры и содержимого. Создание, загрузка и проверка БД в СУБД Microsoft SQL Server 2008.
курсовая работа [3,4 M], добавлен 25.12.2012Цель инфологического моделирования базы данных. Создание с помощью СУБД Microsoft SQL Server шести сущностей с определенными атрибутами, представлений, основанных на соединении столбцов нескольких таблиц и связей между ними. Создание процедур и запросов.
курсовая работа [721,4 K], добавлен 29.11.2009Концептуальное проектирование базы данных: разработка схемы и структуры таблиц, описание атрибутов. Реализация базы данных в среде СУБД MS SQL Server 2000. Основные принципы создания таблиц. Доступ и обработка данных с помощью утилиты Enterprise Manager.
курсовая работа [3,8 M], добавлен 22.01.2013Сбор ключевой статистики по интерфейсам, проведение аналитики и выдвижение гипотез по улучшению продукта. Рассмотрение методов анализа данных на базе конкретного проекта. Расположение инструментов на экране и порядок взаимодействия с ними у пользователя.
курсовая работа [664,7 K], добавлен 01.01.2018Разработка информационного обеспечения для формирования базы данных для государственной итоговой аттестации 9 классов. Обзор методов репликации и синхронизации баз данных. Преимущества алгоритма шифрования Rijndael. СУБД Microsoft SQL Server и Firebird.
дипломная работа [3,3 M], добавлен 27.06.2012Автоматизация работы пользователя по поиску, просмотру и редактированию информации о работниках, соискателях, вакансиях. Построение информационно-логической и физической моделей данных. Создание базы данных в СУБД MS SQL Server. Описание SQL запросов.
курсовая работа [1,8 M], добавлен 07.08.2013Анализ предметной области. Обзор инструментов Web-аналитики для развития бизнеса в Интернете. Построение моделей бизнес-процессов компании. Учет поискового трафика. Элементы управления доступом. Обработка и хранение данных. Видимость сайта в поисковиках.
дипломная работа [1,4 M], добавлен 27.09.2016Анализ методов и средств выявления мнений пользователей социальных сетей. Обзор средств мониторинга и анализа, подбор необходимого программного обеспечения и технических средств. Разработка архитектуры базы данных, реализация программных модулей.
дипломная работа [3,7 M], добавлен 19.01.2017Процесс поступления пациента в больницу. Программное обеспечение, используемое в разработке. Обзор Borland Delphi7, MS SQL Server 2008. Динамическое изменение и расширение структуры базы данных. Обоснование выбора СУБД и программного обеспечения.
курсовая работа [875,4 K], добавлен 21.04.2013