Система анализа полученных из хранилищ данных

Разработка программного обеспечения для анализа полученных из хранилища данных. Система SAS Enterprise Miner и система Weka. Расчёт капитальных затрат на создание ПМК для анализа полученных из хранилища данных с использованием библиотеки XELOPES.

Рубрика Программирование, компьютеры и кибернетика
Вид дипломная работа
Язык русский
Дата добавления 07.06.2012
Размер файла 1,4 M

Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже

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

Размещено на http://www.allbest.ru

ВВЕДЕНИЕ

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

Данная проблема явилась причиной развития различных подходов и методов, позволяющих проводить автоматический анализ данных. Для решения данных вопросов существуют математические методы, которые и образуют направление Data Mining. Термин Data Mining часто переводится как добыча данных, извлечение информации, раскопка данных, интеллектуальный анализ данных, средства поиска закономерностей, извлечение знаний, анализ шаблонов. Понятие «обнаружение знаний в базах данных»(Knowledge Discovering Databases, KDD) можно считать синонимом Data Mining [1]. Data Mining - мультидисциплинарная область, возникшая и развивающаяся на базе таких наук как прикладная статистика, распознавание образов, искусственный интеллект, теория баз данных и так далее.

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

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

Для достижения главной бизнес цели можно выделить последовательность следующих задач:

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

2 Проанализировать выборку данных из хранилища данных.

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

Результатом работы станет программный продукт - система анализа полученных из хранилищ данных.

1. ОБЩАЯ ЧАСТЬ

1.1 Анализ предметной области анализ полученных из хранилища данных

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

Для проведения анализа данных в организациях, на данный момент используются программные решения, которые представляют собой больших гигантов способных проводить все возможные виды анализов и операций над данными, но они очень объёмны и потребляют много системных ресурсов, а так же требуют специальное обучение персонала для работы с ними. Использовать такие продукты в небольших фирмах - это все равно что «стрелять из пушки по воробьям». Поэтому целью дипломной работы является разработки компактного программного продукта заточенного на решение конкретной задачи и работающего как с минимальным объемом данных необходимых для определенной цели, так и с очень большими объёмами данных. Разработав программный продукт, который будет предоставлять возможность многофункционального анализа и обрабатывать большие объёмы информации, мы сможем проанализировать данные с разных аспектов, что поможет нам определить новые зависимости и закономерности.

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

Таблица 1.1 - Глоссарий предметной области

Термин

Определение термина

1

Анализ данных

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

2

Алгоритм

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

3

Аналитик

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

4

Программный продукт (ПП)

Набор компьютерных программ, процедур и, возможно, связанных с ними документов и данных

5

Предметная область (ПО)

Часть реального мира, рассматриваемая в пределах данного контекста. Под контекстом здесь может пониматься, например, область исследования или область, которая является объектом некоторой деятельности

6

Поток данных

Абстракция, используемая для чтения или записи файлов, сокетов и т. п. в единой манере.

7

Хранилище данных

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

8

Модель

Это упрощенное представление реального устройства и/или протекающих в нем процессов, явлений.

9

Данные

Это представление фактов и идей в формализованном виде, пригодном для передачи и обработки в некотором информационном процессе.

10

Data Mining

Это процесс выявления скрытых фактов и взаимосвязей в больших массивах данных.

11

Атрибут

Это переменная, связанная с классом или объектом.

12

Ассоциативные правила

Позволяют находить закономерности между связанными событиями.

13

Дерево принятия решений

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

14

Регрессионный анализ

Это статистический метод исследования влияния одной или нескольких независимых переменных на зависимую переменную[3]

15

Кластерный анализ

Это задача разбиения заданной выборки объектов (ситуаций) на подмножества, называемые кластерами, так, чтобы каждый кластер состоял из схожих объектов, а объекты разных кластеров существенно отличались.

16

Классификация

Это формализованная задача, в которой имеется множество объектов (ситуаций), разделённых некоторым образом на классы.

17

Транзакция

Это множество событий, которые произошли одновременно.

18

Последовательный анализ

Это исследование, предполагающее поэтапную проверку гипотезы.

19

Гипотеза

Это предположение или догадка; утверждение, предполагающее доказательство.

1.2 Математическая модель ПМК для анализа полученных из хранилища данных

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

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

2 Фаза тестирования, которая применяет модель интеллектуального анализа данных для новых данных.

Начнем с фазы обучения. Рассмотрим данный учебный набор

(1.1)

с xi, представляющий данные M точек в d-мерном пространстве атрибутов. Предположим теперь, что эти данные были получены с помощью выборки неизвестной функцией, которая входит в некоторое пространство функций, определенных над Rd. Здесь R является множеством действительных чисел. Теперь, нужно как можно лучше восстановить функцию f из приведенных данных. Для того чтобы получить функции f, мы должны решить задачу минимизации

(1.2)

где R-оператор карты V R. Конечно, большинство алгоритмов Data Mining решают проблему (2.2) лишь косвенно и в приближенном пространстве

Vapp ? V. На этом этапе важно понять, что любой алгоритм Data Mining использует некоторые подготовленные данные для построения модели интеллектуального анализа данных.

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

Рисунок 1.1 - Иллюстрация фазы обучения в интеллектуальном анализе данных

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

В фазе тестирования, функция интеллектуального анализа f применяется к некоторым данным

(1.3)

множества значений функции

(1.4)

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

Рисунок 1.2 - Пример фазы тестирования в интеллектуальном анализе данных

Опять же отметим, что такое объединение будет проще.

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

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

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

,

где

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

Примечание: Для самых объемных многомерных (линейные и нелинейные), контролируемых методов, таких как нейронные сети, опорные вектора и разреженная сетка, задача минимизации (1.2) может быть явно описана с использованием следующего оператора регуляризации[GJP93]:

(1.5)

где применяется следующее:

С (х, у): функция погрешности, например ,

:сглаживающий оператор в приближении Соболева,

л: параметр регулирования.

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

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

Примечание: По аналогии с (1.5), для кластеризации (например, кластеризация векторной поддержки) Задача минимизации (1.2) может быть явно выражена с помощью следующего оператора регуляризации :

(1.6)

с фиксированным набором , сглаживающий оператор и параметром регуляризации л как было определено выше. В отличие от классификации / регрессии, здесь f принадлежит карте в Rd, а не R.

Мы подчеркнули, что современные подходы по интеллектуальному анализу данных основываются на операторах (1.2).

Важный вывод из (1.1) и (1.3) является то, что алгоритмы Data Mining и модели всегда требуют матрицы данных для обучения и тестирования соответственно. Они всегда работают в том же пространстве атрибутов. (В отличие от большинства приложений бизнес-аналитики, которые часто работают на реляционных или вложенных схемах).

хранилище данный enterprise miner weka

1.2.1 Основа - MiningDataSpecification и MiningAttribute

Как описано в предыдущем разделе, добытые данные относится к функции f, которая определена на пространстве Rd. Однако, каждый начальный атрибут а отображается на одном или нескольких вещественных атрибутов ra: a>ra, ra ? Rna. Пусть А - базис пространства S для всех начальных атрибутов а. Тогда объединение всех ra будет a ? A is Rd, так же

Таким образом S-Rd, благодаря следствию в дальнейшем мы можем определить S и Rd.

Класс MiningDataSpecification представляет собой основу пространства S. Таким образом, он является наиболее важным классом XELOPES. Часто этот класс называют просто метаданными, что является эквивалентом, называя его как основного. Это соответствует PMMLs DataDictionary элементу. Базисные векторы MiningDataSpecification являются MiningAttribute представляющих атрибуты а.

Поэтому MiningDataSpecification наследует CWM класс и Class, а также MiningAttribute расширяет CWM атрибутов класса.

Благодаря этому наследовании MiningDataSpecification автоматически дополняется от бизнес-логики в CWM: класс уже содержит массив атрибутов, MiningDataSpecification не нужна переменная для хранения атрибуты в явном виде. Более того, поскольку Class и Attribute наследуют ModelElement, поэтому MiningDataSpecification и MiningAttribute активно используется при выполнении интеллектуального анализа данных.

1.2.2 Описание модели для анализа данных методом поиска ассоциативных правил

Построим математическую модель ассоциативных правил, дадим формальные определения. Пусть I={i1,i2,…,im} - множество сущностей (items атомарная сущность, определяемая для конкретной базы данных).

База данных: D={t1,t2,…,tn} - множество транзакций, каждая из которых состоит из множества элементов I из I, и уникального идентификатора - TID. T=(tid,I). Говорится, что транзакция t содержит множество Х в том случае, если .

Покрытие множества Х в D, состоит из множества транзакций, которые содержат Х:

(1.7)

Подмножество (support) множества Х в D называется количество транзакций в покрытии множества Х в базе данных D

(1.8)

Частотой (frequency) множества Х в D называется вероятность, с которой множество Х встречается в транзакциях Т ? D

(1.9)

Одним из параметров, задаваемым при поиске ассоциативных правил является частота (frequency) данного множества.

Теперь можно определить задачу поиска кандидатов (Itemset Mining):

Заданно множество элементов I, задана база данных D на множестве I, и заданно значение минимальной поддержки у, нужно найти

(1.10)

Ассоциативное правило (association rule) это выражение вида Х => Y где Х и Y множества, причем . Это означает, что транзакция, содержащая Х, так же содержит в себе и Y, т.е. что из условия Х следует условие Y.

Поддержкой ассоциативного правила является поддержкой в D.

Достоверностью (confidence) ассоциативного правила Х => Y в D является условная вероятность, что при условии того что множество Х поддерживается данной транзакцией, то и множество Y так же поддерживается данной транзакцией.

(1.11)

Правило называется достоверным, если его достоверность превосходит минимально заданную границу г, теперь мы можем определить задачу поиска ассоциативных правил (Association Rule Mining): Задано множество элементов I, задана база данных D над I, заданы так же минимальные значения достоверности и поддержки у,г, необходимо найти:

(1.12)

Как уже было сказано, одним из условий поставленной задачи является и то, что набор полученных ассоциативных правил должен удовлетворять некоторому заданному шаблону. По сути это булева функция, которая должна быть верна для данного правила. Дадим математическую формулировку. Пусть В- булево выражение на множестве I, зная, что любое булево выражение можно привести к дизъюнктивной нормальной форме (DNF) можем предположить, что В имеет вид , где каждый дизъюнкт Di имеет вид , где каждый элемент а - это отрицание( -а ) или утверждение (а), где а ? I.

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

Проблема нахождения ассоциативных правил содержит в себе 2 подзадачи:

1 Найти все комбинации наборов, чья поддержка больше чем заданная(frequent).

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

Нахождение всех наборов с поддержкой выше заданной - проблема весьма нетривиальная из-за их количества, притом оно увеличивается экспоненциально. Если мощность множества ||I|| =m, то возможное количество таких наборов 2m.

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

1.3 Сравнение существующих аналогов разработок для анализа данных полученных из хранилища данных

1.3.1 Система XELOPES

Xelopes предназначен для встраивания в любую информационную систему, где необходима функциональность Data Mining. В этом смысле, продукт реализует идею "Embeded Data Mining".

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

В состав Xelopes входит целый ряд мощных алгоритмов анализа данных. Работы над усовершенствованием технологий анализа и включением в среду новых алгоритмов являются одной из приоритетных задач компании. Изначально Xelopes разрабатывался как платформенно-независимая среда. В данный момент времени существуют версии системы для языка Java, C++ и C#. Подобная гибкость стала возможной благодаря тому, что Xelopes был разработан в соответствии с жесткими требованиями к качеству программного обеспечения и придерживается методологии Model Driven Architecture консорциума OMG. Благодаря поддержке таких стандартов для Data Mining, как PMML, CWM Data Mining, OLE DB for Data Mining и CRISP (а в перспективе, JDM и SQL/MM), Xelopes может легко интегрироваться в любую существующую инфраструктуру. Также, в сотрудничестве с компанией IBM, была протестирована его совместимость на уровне обмена информацией в формате PMML с IBM Inteligent Miner. В настоящее время разрабатывается добавление в Xelopes средств визуального анализа данных, основанных на Java3D.

Как показывает опыт, наибольшее распространение технологии Data Mining получили в маркетинге, телекоммуникациях, банковском деле, электронной коммерции, страховании, биоинформатике, медицине, генетике, химии и промышленном производстве. Xelopes, как в качестве отдельного продукта, так и в составе продуктов компании Prudsys, был апробирован, по крайней мере, в следующихобластях: маркетинге (оптимизация direct mail - Deutsche Post AG), электронной коммерции (рекомендательные системы для Интернет магазинов - http://www.hse24.de,http://www.westfalia.de), банковском деле (анализ доходности клиентов - Commerzbank AG, Frankfurt), промышленности (обнаружение дефектных изделий - BASF AG), биоинформатике (http://www.scinovaindia.com ).

1.3.2 Система Weka

Weka (Waikato Environment for Knowledge Analysis) -- это cвободное программное обеспечение для анализа данных, написанное на Java в университете Уайкато (Новая Зеландия), распространяющееся по лицензии GNU GPL.

Weka позволяет выполнять такие задачи анализа данных, как:

- подготовка данных - предварительная обработка - preprocessing;

- отбор признаков - feature selection;

- кластеризация;

- классификация, в частности, деревья решений;

- поиск ассоциативных правил;

- регрессионный анализ;

- визуализация результатов.

Weka -- набор средств визуализации и библиотека алгоритмов машинного обучения для решения задач интеллектуального анализа данных (data mining) и прогнозирования, с графической пользовательской оболочкой для доступа к ним.

Система позволяет непосредственно применять алгоритмы к выборкам данных, а также вызывать алгоритмы из программ на языке Java. На сегодняшний день это лучшая Оpen source библиотека для Data Mining. Пользователями Weka являются исследователи в области машинного обучения и прикладных наук. Она также широко используется в учебных целях.

Weka -- это открытый программный продукт, развиваемый мировым научным сообществом, свободно распространяемый под лицензией GNU GPL. Программное обеспечение написано на Java.

Предполагается, что исходные данные представлены в виде матрицы признаковых описаний объектов. Weka предоставляет доступ к SQL-базам через Java Database Connectivity (JDBC) и в качестве исходных данных может принимать результат SQL-запроса. Возможность обработки множества связанных таблиц не поддерживается, но существуют утилиты для преобразования таких данных в одну таблицу, которую можно загрузить в Weka.

Функциональные возможности: Weka имеет пользовательский интерфейс Explorer, но та же функциональность доступна через компонентный интерфейс Knowledge Flow и из командной строки. Имеется отдельное приложение Experimenter для сравнения предсказательной способности алгоритмов машинного обучения на заданном наборе задач.

Интеграция:

Weka предоставляет прямой доступ к библиотеке реализованных в ней алгоритмов. Это позволяет легко использовать уже реализованные алгоритмы из других систем, реализованных на Java. Например, эти алгоритмы можно вызывать из MATLAB. Для использования Weka из систем, реализованных на других платформах, возможен вызов алгоритмов через интерфейс командной строки.

Недостатки:

Не поддерживается обработка множества связных таблиц, только SQL-запрос, то есть продукт, в основном, предназначен для работы WEB-сервисами.

1.3.3 Система SAS Enterprise Miner

Программный продукт SAS Enterprise Miner - это интегрированный компонент системы SAS, созданный специально для выявления в огромных массивах данных информации, которая необходима для принятия решений. Разработанный для поиска и анализа глубоко скрытых закономерностей в данных SAS, Enterprise Miner включает в себя методы статистического анализа, соответствующую методологию выполнения проектов Data Mining (SEMMA) и графический интерфейс пользователя. Важной особенностью SAS Enterprise Miner является его полная интеграция с программным продуктом SAS Warehouse Administrator, предназначенным для разработки и эксплуатации информационных хранилищ, и другими компонентами системы SAS. Разработка проектов Data Mining может выполняться как локально, так и в архитектуре клиент-сервер.

Пакет SAS Enterprise Miner 5.1 поставляется в виде современной распределенной клиент-серверной системы для Data Mining или для углубленного анализа данных в крупных организациях. Пакет позволяет оптимизировать процессы анализа данных, поддерживая все необходимые шаги в рамках единого решения, а также возможности гибкого сотрудничества больших рабочих групп в рамках единого проекта. Система обеспечивает расширенную интеграцию с системами управления данными и развертывания моделей, а благодаря широкому спектру выбора конфигурации пакета в зависимости от требований бизнеса нет необходимости приобретать системы специализированных решений.

Подход компании SAS к созданию информационно-аналитических систем стандартизован в рамках SAS Intelligent Warehousing solutions простые в использовании эффективные методы извлечения данных из ERP/OLTP-систем, баз данных и других источников без применения микропрограммирования на языке управления данными ERP/OLTP-системы (семейство программных продуктов SAS/ACCESS).

1 Высокотехнологичные методы очистки исходных данных и их подготовки для загрузки в хранилище (SAS Data Quality-Cleanse).

2 Средства проектирования и администрирования хранилищ данных (SAS/Warehouse Administrator).

3 Технологию физического хранения больших объемов данных (SAS Scalable Performance Data Server).

Методы интеллектуального анализа данных:

- OLAP-анализа (SAS OLAP Server),

- эконометрического моделирования и расчета временных рядов (SAS/ETS),

- исследования операций и оптимизация (SAS/OR),

- имитационного моделирования (SAS/IML),

- статистического анализа (SAS/STAT),

- нейросетевого и других методов углубленного анализа данных ( SAS Enterprise Miner ).

Недостатки:

Универсальное, тяжеловесное приложение, предназначенное для больших экспериментов, не подходит для нашего конкретного случая

В таблице 1.2 приведено сравнение современных программ для интеллектуального анализа данных.

Таблица 1.2 - Сравнение средств интеллектуального анализа данных

Предметы сравнения

WEKA

RapidMiner

XELOPES

1 Используемые технологии

Используемый сервер БД

MS SQL Server, dBase, sybase, Oracle

MS SQL Server, IBM DB2, Oracle, Postgres

MS SQL Server, Oracle,Возможен файловый режим работы (без сервера БД)

Предметы сравнения

WEKA

RapidMiner

XELOPES

GUI

Commercial, Standard, Enterprise

Small, Standard, Developer

Embeded, Extended

2 Функционал

Работа с локальными файлами

_

+

+

Обработка больших объёмов данных

+

+

+

2 Функционал

Поддержка стандарта PMML

+

_

+

Наличие собственного скриптового языка

+

+

_

Поддержка механизмов плагинов

+

+

_

3 Модели

Обучение с учителем

+

+

+

Обучение без учителя

+

+

_

Выводы

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

1.4 Обоснование выбора средств разработки ПМК для анализа полученных из хранилища данных

Рассмотрим Eclipse + Java Development Tools. В языке Java используется технология объектно-ориентированного программирования, которая позволяет сократить общее время разработки и писать повторно используемый код. Java-приложения являются независимыми от платформы. Это достигается путем совмещения в языке свойств компилятора и интерпретатора. Платформо-независимость байт-кода обеспечивается наличием виртуальных java-машин для всех основных платформ. В комплект поставки Java входят стандартные классы, которые обладают достаточной функциональностью для быстрой разработки приложений. Развитые средства безопасности позволяют использовать Java для разработки приложений, работающих в Интернете.

Язык программирования Visual C++ из среды разработки Visual Studio компании Microsoft наиболее мощное средство разработки системных программ. Также как и в Delphi присутствуют стандартные компоненты, для быстрого проектирования интерфейса. Отличная интеграция со всеми Microsoft приложениями. Однако, разработка программ на этом языке - сложный процесс, и как и в случае с Delphi, в результате получаем приложение для работы только в операционной системе Windows.

Язык программирования C# -- объектно-ориентированный язык программирования. Разработан в компании Microsoft как язык разработки приложений для платформы Microsoft .NET Framework и впоследствии был стандартизирован как ECMA-334 и ISO/IEC 23270. C# разрабатывался как язык программирования прикладного уровня для CLR и, как таковой, зависит, прежде всего, от возможностей самой CLR. Это касается, прежде всего, системы типов C#, которая отражает BCL. Присутствие или отсутствие тех или иных выразительных особенностей языка диктуется тем, может ли конкретная языковая особенность быть транслирована в соответствующие конструкции CLR. Так, с развитием CLR от версии 1.1 к 2.0 значительно обогатился и сам C#; подобного взаимодействия следует ожидать и в дальнейшем. (Однако эта закономерность была нарушена с выходом C# 3.0, представляющего собой расширения языка, не опирающиеся на расширения платформы .NET.) CLR предоставляет C#, как и всем другим .NET-ориентированным языкам, многие возможности, которых лишены «классические» языки программирования. Например, сборка мусора не реализована в самом C#, а производится CLR для программ, написанных на C# точно так же, как это делается для программ на VB.NET, J#

Учитывая все особенности рассмотренных средств реализации ПМК, была выбрана среда разработки приложений Eclipse.

1.5 Формирование бизнес-процесса для ПМК для анализа полученных из хранилища данных

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

Выходы клиенты бизнес-процесса показаны в таблице 1.3.

Таблица 1.3 - Выходы и потребители бизнес-процесса

Потребитель бизнес-процесса

Наименование выхода бизнес-процесса

Внешние клиенты

1

Аналитик

Визуальная аналитическая модель

Внутренние клиенты

2

Система анализа данных

Проанализированная выборка данных

Входы и поставщики бизнес-процесса анализа полученных из хранилища данных представлены в таблице 1.4.

Таблица 1.4 - Входы и поставщики бизнес-процесса

№№

Название поставщика

Название входов

От внешних поставщиков

11

Аналитик

Входной набор данных

От внутренних поставщиков

12

Система обработки данных

Выборка данных

Для более точного выявления границ бизнес-процесса разработки программного продукта определим прецеденты, инициирующие начало и завершения бизнес-процесса, которые приведены в таблице 1.5.

Таблица 1.5 - Условия начала и окончания бизнес-процесса системы анализа данных полученных из хранилищ данных

Наименование события

Описание события

1

Указание начальных данных и задание условий анализа

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

2

Результирующая аналитическая модель

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

Участие сотрудников в реализации бизнес-процесса продокументированно в таблице 1.6 ответственности бизнес-процесса.

Таблица 1.6 - Матрица ответственности сотрудников за выполнение бизнес-процесса

Подпроцессы

Должности

Управление бизнес-процессом (обязательно указывается наименование)

Владелец бизнес-процесса

Должность

1. Построение аналитической модели

Аналитик

Аналитик

Показатели качества для контроля и периодичность их контроля представлены в таблице 1.7.

Таблица 1.7 - Показатели качества для контроля и управления бизнес процессом

Наименование показателя

Размерность

Описание

Периодичность контроля

1

Количество верно обработанных данных

%

Процент проанализированных данных

После построения аналитической модели

Приведем функциональную декомпозицию на основе SADT технологии.

Для построения SADT диаграммы необходимо выделить перечень активностей ПО.

Основной активностью ПП будет «Анализ данных полученных из хранилища данных».

На вход будут подаваться исходные данные или подгружаться база содержащая данные, а на выходе нужно получить результаты моделирования. Реализация активностей осуществляется «исполнителями» аналитик и средства Java, управляющими данными являются алгоритм, ГОСТ, ограничения, шаблон и метод.

На рисунке 1.3 представлена ??контекстная SADT-диаграмма нулевого уровня.

Рисунок 1.3 - ??Контекстная SADT-диаграмма «Анализ полученных из хранилища данных»

Описание SADT - диаграммы «Анализ полученных из хранилища данных», представлен в таблице 1.8.

Таблица 1.8 - Описание SADT - диаграммы нулевого уровня

Входные данные

Управление

Исполнитель

Выходные данные

А0

Исходные данные

- алгоритм;

- ГОСТ;

- ограничения;

- метод;

- шаблон.

Аналитик,

Средства Java

Результаты моделирования

Детализирующая SADT-диаграмма для анализа полученных из хранилищ данных представлена на рисунке 1.4.

Рисунок 1.4- Детализирующая SADT-диаграмма для анализа полученных из хранилищ данных

Размещено на http://www.allbest.ru/

Описание SADT-диаграммы для анализа полученных из хранилищ данных, представлено в таблице 1.8 .

Таблица 1.8 - Описание SADT-диаграммы первого уровня

Входные данные

Управление

Исполнитель

Выходные данные

А1

Исходные данные

Алгоритм, Метод

Аналитик

Пакет настроек анализа

А2

Пакет настроек анализа

ГОСТ, шаблон, ограничения

Аналитик

Выборка данных

А3

Выборка данных, свойства атрибутов

Алгоритм, метод

Аналитик

Проанализированные данные

А4

Проанализированные данные

Шаблон, ограничения

Аналитик

Аналитическая модель

А5

Аналитическая модель

Алгоритм

Средства Java

Результаты моделирования

Перед началом анализа выполняем осмысление поставленной задачи и уточняем цели, которые должны быть достигнуты методами Data Mining. Точно формулируем цели и выбираем для их достижения методы. Затем приводим данные к форме, пригодной для применения конкретных методов Data Mining. Вид преобразований, совершаемых над данными, зависит от используемых методов, выбранных в начале анализа. Следующим шагом идет применение методов Data Mining. Далее мы проверяем полученную модель путём разбиения всех имеющиеся данные, которые необходимо анализировать, на две группы. Одну группы делаем большего размера, другую соответственно - меньшего. На большей группе, применяем методы Data Mining, получаем модели, а на меньшей - проверяем их. По разнице в точности между тестовой и обучающей группами можно судить об адекватности построенной модели. Если построенная модель не соответствует требованиям, то активность программы возвращается на один из ключевых этапов и выдаёт пользователю соответствующее сообщение об ошибке. Причины того, что полученная модель не прошла проверку могут быть следующие: неверно выбранный метод анализа данных, некорректная выборка данных после соответствующей обработки, ошибки в анализе данных и построении модели. Вследствие применения выбранных методов анализа и проверки полученной модели мы получаем аналитическую модель. После всех этих действий и операций, происходит создание и отображение аналитической модели содержащей проанализированные данные, которые были получены из хранилища данных.

1.6 Разработка технического задания на создание программно-методического комплекса для анализа полученных из хранилища данных

1.6.1 Введение

1.6.1.1 Наименование программно-методического комплекса

Наименование программно-методического комплекса (ПМК): ”DataAnalitik”

1.6.1.2 Описание и область применения

Данные ПМК представляет собой набор инструментов для анализа и систематизации данных накопленной в хранилище данных на фирмах.

Предполагается, что областью применения станет бизнес сфера.

1.6.2 Основания для разработки

Разработка выполняется на основании индивидуального задания к дипломному проекту и дисциплине ППС, выданного руководителем работы Сагайдой П.И 10.09.2011

1.6.3 Назначение разработки

ПМК предназначен для создания аналитической модели. Что существенно улучшит и облегчит работу при анализе данных.

1.6.4 Требования к программному продукту

1.6.4.1 Требования к функциональным характеристикам

ПМК должен выполнять следующие функции:

- предоставлять интерфейс выбора исходных данных;

- исходные данные должны предоставляться в форматах arff, svc, txt;

- предоставлять интерфейс выбора свойств аналитической модели;

- выполнять регрессионный анализ из 1000 записей не дольше 15 сек;

- выполнять последовательный анализ из 1000 записей не дольше 10 сек;

- выполнять классификацию 1000 записей не дольше 2 сек;

- выполнять построение аналитической модели;

- сохранение результатов работы в XML файл.

1.6.4.2 Требования к надежности

- ПМК должен устойчиво функционировать;

-ПМК должен обеспечивать контроль входящей и исходящей информации на соответствие заданным форматам данных;

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

1.6.4.3 Условия эксплуатации

Условия эксплуатации ПМК определяются СанПиН 2.2.2 545-96 «Гигиенические требования к видеодисплейным терминалам, персональным вычислительным машинам и организации работы».

1.6.4.4 Требования к составу и параметрам технических средств

- процессор с тактовой частотой не менее 1.5 ГГц;

- оперативной памяти не менее 512 мб;

- 2 мб дискового пространства для файлов;

- 100 мб дискового пространства для базы данных.

1.6.4.5 Требования к информационной и программной совместимости

1.6.4.5.1 Требования к исходным кодам и языкам программирования

Требования к исходным кодам и языкам программирования не предъявляются.

1.6.4.5.2 Требования к программным средствам, используемым программой

Системные программные средства, используемые программой, должны быть представлены лицензированной версией операционной системы Microsoft Windows XP и выше и Eclipse.

1.6.4.5.3 Требования к защите информации и программ

Требования к защите информации и программ не предъявляются

1.6.4.6 Специальные требования

Специальные требования не предъявляются.

1.6.5 Требования к программной документации

1.6.5.1 Предварительный состав программной документации

Состав программной документации должен включать в себя:

- техническое задание;

- программу и методику испытаний;

- руководство пользователя.

1.6.6 Технико-экономические показатели

1.6.6.1 Экономические преимущества разработки

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

1.6.7 Стадии и этапы разработки

1.6.7.1 Стадии разработки

Разработка должна быть проведена в 4 стадии:

1 Исследование предметной области.

2 Разработка технического задания.

3 Рабочее проектирование.

4 Внедрение.

1.6.7.2 Этапы разработки

Этапы разработки представлены в таблице 1.10, на основании 4 стадий разработки.

Таблица 1.10 - Этапы разработки

Этап

Длительность этапа (дней)

Содержание работ

Исполнитель

1

Исследование

50

Исследование предметной области Data Mining, поиск аналогов.

Колихов Д.Д

2

Разработка технического задания

5

Анализ формализация требования к ПМК для анализа из хранилища данных , планирование работ.

Колихов Д.Д

3

Разработка функциональной модели

95

Разработка основных функций ПМК для анализа из хранилища данных

Колихов Д.Д.

4

Разработка пользовательского интерфейса

10

Разработка интерфейса пользователя для его взаимодействия с системой

Колихов Д.Д.

5

Технический проект

25

Предварительная разработка проекта

Колихов Д.Д.

6

Рабочий проект

60

Реализация рабочей версии ПМК для анализа из хранилища данных

Колихов Д.Д.

7

Тестирование и отладка программного обеспечения

30

Мероприятия по тестированию и отладке

Колихов Д.Д.

8

Интеграция разработанной системы

3

Внедрение

Колихов Д.Д.

9

Составление руководства пользователя

4

Разработка руководства пользователя

Колихов Д.Д.

1.6.8 Порядок контроля и приемки

Контроль корректности функционирования и пригодности ПМК ”DataAnalitik” в эксплуатацию выполняется совместно Разработчиком и Заказчиком ПМК”DataAnalitik” на основании соответствия функционирования программного продукта и заявленных функциональных характеристик и акта тестовых испытаний.

Прием ПМК”DataAnalitik” проводится преподавателями кафедры КИТ.

1.7 Логическая модель ПМК для анализа полученных из хранилища данных

Для спецификации, визуализации, проектирования и документирования компонентов программного обеспечения составим UML диаграмму прецедентов использования.

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

Один актер может взаимодействовать с несколькими вариантами использования. В свою очередь один вариант использования может взаимодействовать с несколькими актерами, предоставляя для всех их свой сервис.

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

Диаграмма классов программной системы получается путём модификации диаграммы классов предметной области.

На рисунке 1.5 представлена диаграмма прецедентов для “Анализа полученных из хранилища данных”.

Рисунок 1.5 - Диаграмма прецедентов для анализа полученных из хранилища данных

Описание прецедентов представлено в таблицах 1.11-1.13.

Таблица 1.11 -Описание прецедента «Обработать данные»

Свойство прецедента

Описание

Основной исполнитель

Аналитик

Предусловие

Имеются данные для анализа

Входные данные

Данные из хранилища данных

Основной успешный сценарий

Исполнитель выбирает данные для построения модели и выбирает метод Data Mining для анализа

Частота выполнения

По желанию исполнителя

Результаты:

Создаётся выборка данных

Выходные данные:

Сообщение об успешном создании

Таблица 1.12 - Описание прецедента «Анализировать выборку»

Свойство прецедента

Описание

Основной исполнитель

Аналитик

Предусловие

Данные успешно обработаны

Входные данные

Алгоритм и его свойства

Основной успешный сценарий

Исполнитель указывает алгоритм для анализа и задаёт его свойства, при успешной реализации выдается сообщении об успешной работе

Частота выполнения

По желанию исполнителя

Результаты:

Проанализированные данные

Выходные данные:

Проанализированная выборка

Таблица 1.13 - Описание прецедента «Создать аналитическую модель»

Свойство прецедента

Описание

Основной исполнитель

Аналитик

Предусловие

Данные обработаны верно и выборка проанализирована

Входные данные

Проанализированная выборка

Основной успешный сценарий

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

Частота выполнения

По желанию исполнителя

Результаты:

Готовая аналитическая модель

Выходные данные:

Результаты моделирования

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

Диаграмма классов представлена на рисунке 1.6.

Диаграмма классов предметной области «Анализ данных полученных из хранилища данных» представлена на рисунке 1.6.

Рисунок 1.6 - Диаграмма классов предметной области

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

Таблица 1.13 - Описание диаграммы классов

Название класса

Описание

Входной поток

Класс, отвечающий за поступление информации из внешних источников и добавление атрибутов.

Условия Анализа

Класс, хранящий информацию о пользовательских настройках алгоритма и методе анализа.

Модель

Класс, отвечает за отображение и свойства аналитической модели.

Алгоритм

Класс, отвечает за выбор и реализацию алгоритма анализа.

Диаграмма последовательностей для прецедента «Анализа полученных из хранилищ данных» представлена на рисунке 1.7 .

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

На ней видно процесс добавления начальной информации из базы, обращение к экземпляру класса «Условие_Анализа», указание алгоритма и его свойств, обработка данных.

После всех действий система сообщает пользователю о готовности аналитической модели.

Рисунок 1.7 - Диаграмма последовательностей для предметной области «Анализ данных полученных из хранилища данных»

1.8 Информационная модель данных ПМК для анализа полученных из хранилища данных

Составление ER-диаграммы позволит определить будущую модель базы данных и наглядно увидеть отношения между сущностями.

На рисунке 1.7 представлена ER-диаграмма для ПМК для анализа полученных из хранилища данных. Проведем преобразования отношений к нормальной форме Бойса-Кодда, и получим набор таблиц для базы данных.

Полученные таблицы для анализа, полученных из хранилища данных, представлены на рисунке 1.8

Размещено на http://www.allbest.ru/

Рисунок 1.7 - ER-диаграмма для ПМК для анализа полученных из хранилища данных.

Набор таблиц для базы данных для ПМК для анализа полученных из хранилища данных представлен на рисунке 1.8.

Размещено на http://www.allbest.ru/

Рисунок 1.8 - Набор таблиц индивидуализации работы пользователя.

1.9 Физическая модель ПМК анализа полученных из хранилища данных

Для реализации ПМК анализа полученных из хранилища данных, была выбрана СУБД MySQL, полученная структура таблиц представлена на рисунке 1.9.

Рисунок 1.9 - Реализация таблиц баз данных для ПМК для данных полученных из хранилища данных

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

Диаграмма классов для анализа полученных из хранилища данных представлена на рисунке 1.10.

Описание основных классов разработанной системы представлены в таблице 1.15.

Таблица 1.15 - Описание классов ПМК для анализа полученных из хранилища данных

Название класса

Описание

MiningInputStream

Класс, отвечающий за поступление информации из внешних источников.

MiningAlgorithm

Класс, отвечает за применение выбранного алгоритма и построение модели.

MiningSettings

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

Analizer

Абстрактный класс, отвечающий за анализ данных.

Model

Класс, отвечает за визуальное отображение аналитической модели.

Рисунок 1.10 - Диаграмма классов для анализа полученных из хранилища данных

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

При проектировании данной диаграммы классов был использован паттерн проектирования: Strategy(Стратегия).

Стратегия - паттерн, определяющий семейство алгоритмов, инкапсулирует каждый из них и делает их взаимно заменяемыми. Стратегия позволяет изменять алгоритмы независимо от клиентов, которые ими пользуются. В данном случае паттерн «Стратегия» применяется для выбора нужного алгоритма и проведения анализа по этому алгоритму. Стратегией является абстрактный класс Algorithm.

Для моделирования взаимодействия объектов в языке UML используются соответствующие диаграммы взаимодействия. Говоря об этих диаграммах, имеют в виду аспект взаимодействия, который можно рассматривать во времени.

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

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

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

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

На рисунке 1.11 представлена диаграмма последовательности для анализа полученных из хранилища данных.

На диаграмме последовательности представленная последовательность работы «Анализа полученных из хранилища данных». На ней видно процесс добавления начальной информации из базы, обращение к экземпляру класса «MiningSettings», указание алгоритма и его свойств.

После всех действий система сообщает пользователю о готовности аналитической модели.

Рисунок 1.11 - Диаграмма последовательности для анализа полученных из хранилища данных

2 специальная часть. Разработка программного обеспечения для АНАЛИЗА ПОЛУЧЕННЫХ ИЗ ХРАНИЛИЩА ДАННЫХ

2.1 Руководство пользователя ПО для анализа полученных из хранилища данных

Для запуска программы, необходимо: запустить приложение «DataAnalitik», ввести свой логин и пароль и подтвердить ввод.

Представлен начальный вид программы, на котором пользователю предлагают пройти авторизацию, рисунок 2.1.

Рисунок 2.1 - Окно авторизации ПО для анализа полученных из хранилища данных

В данном окне необходимо ввести логин и пароль, выданный, администратором и подтвердить ввод, нажав на кнопку “Ок”.

На рисунке 2.2 представлено главное окно программы, после успешной авторизации.

На вкладке «MiningData» находятся следующие компоненты:

- кнопка для загрузки файла содержащего данные для анализа;

- текстовое поле в котором отображается имя и тип выбранного пользователем файла;

- таблица для отображения данных из загруженного файла с возможностью редактирования данных

Рисунок 2.2 - Рабочее окно аналитика

На рисунке 2.3 показано диалоговое окно для выбора файла с данными, тип файла строго ограничен.

Рисунок 2.3 - Диалоговое окно выбора файла для анализа

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

Рисунок 2.4 - Экранная форма отображения данных из файла

Данная таблица отображает данные из файла, а именно:

- название атрибута (имя переменной для хранения данных);

- тип атрибута (может быть либо числовой либо текстовый);

- тестовые значения (если аналитик решит сам заполнить данные для анализа).

После выбора файла для анализа и корректировки начальных данных аналитик переходит на вкладку «MiningSettings» экранная форма которой представлена на рисунке 2.5

На первой вкладке «MiningSettings» находятся следующие компоненты:

- чекбоксы для выбора алгоритма анализа (ассоциативные правила, классификация, последовательный анализ, регрессия);

- текстовое поле «Minimum support» для ввода наименьше поддержки правила (вводимые значения ограничены диапазоном[0,1] );

- текстовое поле «Minimum confidence» для ввода минимальной достоверности правила(вводимые значения ограничены диапазоном[0,1] );

- комбобокс «Transaction Attribute» для выбора атомарной сущности из базы в качестве атрибута передаваемого в транзакцию;


Подобные документы

Работы в архивах красиво оформлены согласно требованиям ВУЗов и содержат рисунки, диаграммы, формулы и т.д.
PPT, PPTX и PDF-файлы представлены только в архивах.
Рекомендуем скачать работу.