Главная              Рефераты - Разное

Факультет радиотехники и кибернетики - реферат

Министерство образования и науки Российской Федерации

МОСКОВСКИЙ ФИЗИКО-ТЕХНИЧЕСКИЙ ИНСТИТУТ
(государственный университет)

ФАКУЛЬТЕТ РАДИОТЕХНИКИ И КИБЕРНЕТИКИ

КАФЕДРА ИНФОКОММУНИКАЦИОННЫХ СИСТЕМ И СЕТЕЙ

МОДЕЛИ И МЕТОДЫ ОЦЕНКИ КОЛИЧЕСТВЕННЫХ

ХАРАКТЕРИСТИК КОМПЛЕКСА РАБОТ

В РАМКАХ ПРОЕКТОВ

Выпускная квалификационная работа

студента 517 группы

Васильева Алексея Владимировича

Научный руководитель

Антоненко М.Н., к.ф.-м.н.

г. Долгопрудный

2009

Содержание

Введение. 3

1 Постановка задачи. 4

2 Обзор. 6

3 Методика решения задачи. 8

3.1 Data, Cases, and Attributes (Данные, записи и атрибуты) 8

3.2 Treat Missing Values (Обработка пропущенных значений) 9

3.3 Remove outliers (удаление выбросов) 10

3.4 Normalize (нормализация) 10

3.5 Attribute Importance (Задача определения ключевых атрибутов) 10

3.6 Алгоритм Minimum Descriptor Length. 10

3.7 Методология метода Attribute Importance. 11

3.8 Задача классификации (Classification) 12

3.9 Задача регрессии (Regression) 13

3.10 Алгоритм Support Vector Machine (SVM) 13

3.11 Методология решения задачи регрессии (Predict Methodology) 16

3.12 Тестирование регрессионной модели. 17

3.12.1 Residual Plot (невязки в графическом виде). 17

3.12.2 Регрессионная статистика (Regression Statistic) 18

4 Пример 1. Решение задачи регрессии. 20

5 Пример 2. Решение задачи Attribute Importance и задачи регрессии. 22

5.1 Attribute Importance. 23

5.2 Задача регрессии. 25

6 Заключение и выводы.. 27

7 Список использованных источников и литературы.. 28

Приложение А. 29

Введение

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

Одно из применений таких систем – это оценка количественных характеристик проектов. Как определяет PMBOK[1], проект – это временное предприятие, предназначенное для создания уникальных продуктов, услуг или результатов. Соответственно, по завершении проекта (как успешных, так и нет), остаются данные, которые несут в себе количественные характеристики проекта, его суммарные характеристики, и много другой полезной информации. Вообще говоря, управление предприятием, различные сферы бизнеса, в том числе электронного, немыслимы без процессов накопления, анализа, выявления определенных закономерностей и зависимостей, прогнозирования тенденций и рисков. Существует множество методов оценки проектов, таких как The IFPUG Function Point Counting Method, Functional Size Measurement Methods, COCOMO и другие, и каждый из них хорошо применим в определенных случаях, и не применим в других.

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

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

Data Mining (также называемая Knowledge Discovery In Data – обнаружение знаний в данных) изучает процесс нахождения новых, действительных и потенциально полезных знаний в базах данных. Data Mining лежит на пересечении нескольких областей знаний, главные из которых – это системы баз данных, статистика и искусственный интеллект.

1 Постановка задачи

Цель работы состоит в том, чтобы показать состоятельность и применимость методов интеллектуального анализа данных (Data Mining) к задачам оценки количественных характеристик работ в рамках проектов. Заметим, что полученные данные (или знания), должны отвечать следующим концептуальным положениям:

1. Знания должны быть новые, ранее неизвестные . Затраченные усилия на открытие знаний, которые уже известны пользователю, не окупаются. Поэтому ценность представляют именно новые, ранее неизвестные знания.

2. Знания должны быть нетривиальны . Результаты анализа должны отражать неочевидные, неожиданные закономерности в данных, составляющие так называемые скрытые знания. Результаты, которые могли бы быть получены более простыми способами (например, визуальным просмотром), не оправдывают привлечение мощных методов Data Mining.

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

4. Знания должны быть доступны для понимания человеку. Найденные закономерности должны быть логически объяснимы, в противном случае существует вероятность, что они являются случайными. Кроме того, обнаруженные знания должны быть представлены в понятном для человека виде.

Методы Data Mining помогают решить многие задачи, с которыми сталкивается аналитик, причем основными являются: классификация, регрессия, поиск ассоциативных правил и кластеризация. Ниже приведено краткое описание основных задач анализа данных.

- Задача классификации сводится к определению класса объекта по его характеристикам. Необходимо заметить, что в этой задаче множество классов, к которым может быть отнесен объект, заранее известно.

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

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

- Задача кластеризации заключается в поиске независимых групп (кластеров) и их характеристик во всем множестве анализируемых данных. Решение этой задачи помогает лучше понять данные. Кроме того, группировка однородных объектов позволяет сократить их число, а, следовательно, и облегчить анализ.

В данной работе в числе прочего рассматривается задача регрессии – определение выходных характеристик проекта, на основе некоторых входных его параметров (атрибутов). Тут говорится именно о некоторых атрибутах, а не о всех, которые есть в наличии. Задача выбора из множества возможных атрибутов наиболее значимых – это отдельная подзадача определения важности каждого из них (Attribute Importance). Заметим, что это весьма необычный способ оценки характеристик проекта, не применявшийся ранее в данной области. Именно это и обуславливает новизну работы.

Поэтому качественно определить задачу можно следующим образом:

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

2. на основе наиболее значимых данных показать состоятельность решения задачи регрессии (предсказания численного результата на основе выбранных параметров).

2 Обзор

Фундаментальное понятие проекта описано в PMBOK[1], где оно определяется следующим образом: проект – это временное предприятие, предназначенное для создания уникальных продуктов, услуг или результатов. Также там описываются характеристики проекта:

  1. Временность проекта. Термин "временное" означает, что у любого проекта есть четкое начало и четкое завершение. Завершение наступает, когда достигнуты цели проекта; или осознано, что цели проекта не будут или не могут быть достигнуты; или исчезла необходимость в проекте, и он прекращается.
  2. Уникальные продукты, услуги или результаты. В результате проекта получаются уникальные результаты поставки, представляющие собой продукты, услуги или результаты.
  3. Последовательная разработка. Последовательная разработка означает развитие по этапам и протекание по шагам.

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

Для оценки стоимости и других характеристик проектов сузествует множество методов. Например, в книге «The IT Measurement Compendium»[2], имеется несколько методов и различных их вариаций. Наиболее яркие из них – The IFPUG Function Point Counting Method, Functional Size Measurement Methods, COCOMO, Estimation of Data Warehouses, и другие.

И для каждого из них отправным шагом является определение ИСР. ИСР – иерархическая структура работ (WBS – work breakdown structure). Мы тоже будем придерживаться данного подхода, и каждый элемент ИСР и будет являться необходимым для нас атрибутом.

PMBOK[1] определяет два метода для создания ИСР:

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

2. Декомпозиция. Это разделение результатов поставки проекта на более мелкие и более управляемые элементы; декомпозиция выполняется до тех пор, пока работа и результаты поставки не определяются на уровне пакетов работ. Уровень пакетов работ является низшим и представляет собой точку, в которой стоимость и график работ могут быть оценены с достаточной степенью достоверности. Чрезмерная декомпозиция может привести к непродуктивной управленческой трудоемкости, неэффективному использованию ресурсов и снижению эффективности при выполнении работы.

После того, как сформирован ИСР, необходимо сделать оценку ресурсов, необходимых для ее реализации и принять решения о дальнейшем развитии проекта. Тут аналитик может руководствоваться своими «полуинтуитивными» оценками, для проверки какой-либо возникшей гипотезы он может воспользоваться средствами OLAP[1] , а может привлечь мощные инструменты Data Mining.

Вот что по данному поводу написано в книге «Технологии Анализа Данных»[3]: «OLAP-системы, предоставляют аналитику средства проверки гипотез при анализе данных. При этом основной задачей аналитика является генерация гипотез. Он решает ее, основываясь на своих знаниях и опыте. Однако знания есть не только у человека, но и в накопленных данных, которые подвергаются анализу. Такие знания часто называют «скрытыми», т. к. они содержатся в гигабайтах и терабайтах информации, которые человек не в состоянии исследовать самостоятельно. В связи с этим существует высокая вероятность пропустить гипотезы, которые могут принести значительную выгоду.

Очевидно, что для обнаружения скрытых знаний необходимо применять специальные методы автоматического анализа, при помощи которых приходится практически добывать знания из "завалов" информации. За этим направлением прочно закрепился термин добыча данных или Data Mining . Data Mining - исследование и обнаружение "машиной" (алгоритмами, средствами искусственного интеллекта) в сырых данных скрытых знаний, которые ранее не были известны, нетривиальны, практически полезны, доступны для интерпретации человеком.»

3 Методика решения задачи

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

1. Data, Cases, and Attributes (Данные, записи(или кейсы) и атрибуты),

2. Treat Missing Values (Обработка пропущенных значений),

3. Remove outliers (Удаление выбросов),

4. Normalize (Нормализация),

5. Attribute Importance (Задача определения ключевых атрибутов),

6. Алгоритм Minimum Descriptor Length,

7. Методология метода Attribute Importance (Explain Methodology),

8. Задача классификации (Classification),

9. Задача регрессии (Regression),

10. Алгоритм Support Vector Machine (SVM),

11. Методология решения задачи регрессии (Predict Methodology),

12. Тестирование регрессионной модели.

3.1 Data, Cases, and Attributes (Данные, записи и атрибуты)

Данные, используемые механизмом Data Mining, содержатся в таблицах или представлениях Баз Данных. Данные, используемые в data mining, обычно называются набором данных.

Данные имеют физическую организацию и логическую интерпретацию. Имена колонок ссылаются на физическую организацию; имена атрибутов ссылаются на логическую интерпретацию данных.

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

Всего различают два типа атрибутов: по категориям (categorical) и числовые (numerical). Атрибуты по категориям суть или небольшое число, или дискретный набор (класс). Если существует только два возможных значения, например, yes и no, или male и female, такие атрибуты называются бинарными. Если существует более чем два возможных значения, например, high, medium, poor, то говорят, что атрибут мультиклассовый.

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

Мы всегда можем перевести числовые атрибуты в атрибуты по категориям. Например, ежегодный доход может быть поделен на три категории: low, medium, high. Наоборот, мы может преобразовать атрибуты по значениям в числовые значения.

Алгоритмам классификации и регрессии требуется целевой атрибут (target attribute). Модель может предсказать только один целевой атрибут. Для всех классификационных алгоритмов он может быть или числовой, или по категориям. Для задачи регрессии целевой атрибут может быть только числом.

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

3.2 Treat Missing Values (Обработка пропущенных значений)

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

Данные являются редкими, если только небольшая функция (не больше, чем 20%, часто 3% или меньше) атрибутов ненулевая или ненулевая для некоторых данных случаев. Редкие данные получаются, например, в проблеме потребительской корзины. В продовольственном магазине может быть более 10 000 продуктов, а примерный размер корзины (набора отдельных вещей, которые покупатель купил в типичной транзакции) порядка 50 продуктов. В этом примере транзакция (или запись) имеет примерно 50 ненулевых значений. Это означает, что доля ненулевых атрибутов в таблице (или плотность) составляет примерно 0.5%. Эта Плотность типична для проблемы потребительской корзины.

Таким образом, различные алгоритмы могут по-разному «понимать» что означают редкие данные. Для Support Vector Machine, k-Means, association, and Non-Negative Matrix Factorization, NULL значения означают редкие данные, для всех других значения NULL означают пропущенные значения.

3.3 Remove outliers (удаление выбросов)

Выбросы (резко выделяющиеся значения экспериментальных величин) – это значения, которые выходят за нормальные пределы в наборе данных, обычно несколько средних квадратичных отклонений от среднего значения. Присутствие выбросов может оказать существенные влияние на точность многих алгоритмов. Naive Bayes, Adaptive Bayes Network, Support Vector Machine, Attribute Importance, любые алгоритмы кластеризации, и Non-Negative Matrix Factorization алгоритмы чувствительны к выбросам.

3.4 Normalize (нормализация )

Нормализация преобразует индивидуальные числовые атрибуты таким образом, что занчения атрибутов лежат в одном и том же диапазоне. Значения преобразуются в диапазон от 0.0 до 1.0 или в диапазон от – 1.0 до 1.0. Нормализация обеспечивает что атрибуты не получат искусственной надбавки вызванной отличием в диапазонах, в которых они лежат. Некоторые алгоритмы, такие как k-Means, Support Vector Machine, и Non-Negative Matrix Factorization «выигрывают» от нормализации.

3.5 Attribute Importance (Задача определения ключевых атрибутов)

Attribute Importance (AI) предоставляет собой решение для увеличения скорости и, возможно, точности для модели классификации, построенной на таблице с большим числом атрибутов.

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

Использование же слишком малого числа атрибутов ухудшает точность предсказания. Наоборот, использование слишком большого числа атрибутов (особенно, которые вносят «шум»(noise)), может оказать влияние на модель – сильно снизить производительность или точность. Предсказание использует наименьшее число атрибутов, которые могут сохранить время вычисления и могут построить наилучшую модель.

3.6 Алгоритм Minimum Descriptor Length

Data Mining использует Minimum Descriptor Length алгоритм для решения этой задачи.

Minimum Description Length (MDL) – это информационная теоретическая модель выборочного принципа. MDL полагает, что простейшее, наиболее компактное представление данных – это вероятностное истолкование данных. Этот принцип используется для построения модели Attribute Importance.

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

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

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

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

3.7 Методология метода Attribute Importance

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

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

3.8 Задача классификации ( Classification)

Классификация коллекции заключается в делении примеров, составляющих коллекцию, на категории или классы. В контексте data mining, классификация это модель, использующая «исторические» данные. Цель задачи классификации – наиболее точно предсказать класс для каждой записи в новых данных, то есть, данных нет в исторических данных.

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

3.9 Задача регрессии (Regression)

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

Для построения модели как классификации, так и регрессии, используется алгоритм Support Vector Machine (SVM).

3.10 Алгоритм Support Vector Machine (SVM)

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


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

Как можно заметить, для решения этой задачи достаточно провести плоскость, равноудаленную от ближайших друг к другу точек, относящихся к разному классу. На рисунке такими точками являются точки eиd. Данный метод интерпретирует объекты (и соответствующие им в пространстве точки) как векторы размера . Другими словами, независимые переменные, характеризующие объекты, являются координатами векторов. Ближайшие друг к другу векторы, относящиеся к разным классам, называются векторами поддержки (support vectors).

Формально данную задачу можно описать как поиск функции, отвечающей следующим условиям:

для некоторого конечного значения ошибки

Если линейна, то ее можно записать в виде:

где — скалярное произведение векторов и ; — константа, заме­няющая коэффициент .

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

Тогда задачу нахождения функции можно сформулировать следующим образом — минимизировать значение при условии:

Решением данной задачи является функция вида:

где , и , — положительные константы, удовлетворяющие следующим условиям:

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

Несмотря на то, что рассмотрен случай с линейной функцией , метод SVM может быть использован и для построения нелинейных моделей[4]. Для этого скалярное произведение двух векторов необходимо заменить на скалярное произведение преобразованных векторов:

.

Функция называется ядром.

Тогда выражение для решения задачи можно переписать в виде:

.

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

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

Ядро

Название

Линейная

Полиномиал степени

Базовая радиальная функция Гаусса

Сигмоидальная

К достоинствам метода SVM можно отнести следующие факторы:

· теоретическая и практическая обоснованность метода;

· общий подход ко многим задачам. Используя разные функции , мож­но получить решения для разных задач;

· устойчивые решения, нет проблем с локальными минимумами;

· не подвержен проблеме overfitting[2] ;

· работает в любом количестве измерений.

Недостатками метода являются:

· невысокая производительность по сравнению с более простыми методами;

· отсутствие общих рекомендаций по подбору параметров и выбору ядра;

· побочные эффекты нелинейных преобразований;

· сложности с интерпретацией результата.

3.11 Методология решения задачи регрессии ( Predict Methodology)

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

3.12 Тестирование регрессионной модели

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

3.12.1 Residual Plot (невязки в графическом виде).

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

3.12.2 Регрессионная статистика ( Regression Statistic)

Корень из среднеквадратичной ошибки (Root Mean Squared Error) и Средняя абсолютная ошибка (Mean Absolute Error) обычно используются для описания качества регрессионной модели. Различные статистики могут также зависить от регрессионной модели и используемых алгоритмов.

Root Mean Squared Error (RMSE) описывается формулой:

SQL представление для подсчета RMSE:

SQRT(AVG((predicted_value - actual_value) * (predicted_value - actual_value))) Mean Absolute Error (MAE) описывается формулой:

SQL представление для подсчета MAE:

AVG(ABS(predicted_value - actual_value))

Ниже показан пример подсчета такой статистики для одной из задач:

Predictive confidence (достоверность предсказания).

Достоверность предсказания описывает доверительные интервалы предсказанного значения, в которые попадает действительное значение. Так, если модель предсказала значение $100,000 с достоверностью 95%, это означает, что значение лежит в промежутке между $95,000 и $105,000.

Ниже показан пример predictive confidence:

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

4 Пример 1. Решение задачи регрессии

На практике часто встречается ситуация, когда на проекте внедряется сразу несколько модулей, имеющих различную стоимость, или LOE. При этом суммарная стоимость может как возрастать, так и убывать в зависимости от типов модулей и их количества. В данной задаче рассматривается случай внедрения четырех модулей со стоимостями loe1, loe2, loe3, loe4. Без ограничения общности можем предположить, что loe1 ≥ loe2 ≥ loe3 ≥ loe4; во всяком случае, мы всегда может их упорядочить по возрастанию.

Выберем для суммарной стоимости модельную функцию f, описываемую формулой:

.

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

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

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

F

PREDICTION

df/f, %

ID

LOE1

LOE2

LOE3

LOE4

198

191.25

3.409

97

26

50

25

84

153

148.124

3.187

3

57

48

22

24

90

92.785

3.095

55

2

43

15

30

112

114.784

2.486

78

51

25

9

22

264

263.898

0.039

89

47

4

137

65

209

209.075

0.036

37

103

10

29

56

277

276.942

0.021

50

104

55

66

42

Видно, что самое неточное предсказание не превышает 3,5%.

Все те же результаты на графике Residual Plot:

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

Теперь метрики Root Mean Squared Error и Mean Absolute Error:

И метрики Predictive confidence:

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

5 Пример 2. Решение задачи Attribute Importance и задачи регрессии

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

Вот описание этих атрибутов:

1. Начиная со скольких источников данных необходимо осуществить миграцию (Migration from only the following data sources needs to be quoted)

{ num_of_data_sources (max 18) }

2. Приблизительное число сущностей, приходящихся на один источник данных (List briefly distinct entities which are stored in one data source)

{ num_entity_per_ds (max 100) }

3. Среднее число атрибутов и FK на одну сущность (Assessed by a number of attributes and foreigh keys per entity) { num_attr_and_fk_per_ent (max 25) }

4. Среднее качество данных (Expect quality of the data) – High, Medium, Poor.

{ quality_of_input_data : H, M, P }

5. Среднее количество ордеров, приходящих в день (Average number of orders per day)

{ num_of_orders_per_day (max 2 000) }

6. Количество одновременно использующих систему пользователей (Number of concurrent users which actually use the system)

{ num_of_concurrent_users (max 3 000) }

7. Сколько сетевых тревог случается в сети за день (How many network alarms happen in network per day) { network_alarms_per_day (max 1 000) }

8. Сколько чашек чая выпивается за день { cup_of_tea_per_day (max 150) }

Положим следующую модельную функцию зависимости количества работ от этих атрибутов:

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

5.1 Attribute Importance

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

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

Видно, что атрибут cup_of_tea_per_day (количество чашек чая в день) вносит наименьший вклад в результирующую функцию. Поэтому, скорее всего, аналитику стоит принять решение «выкинуть» этот атрибут из расчетов значений итоговой функции f .

Соответственно, после этого статистика для важности атрибутов примет следующий вид:

Теперь, когда мы определились, по каким атрибутам мы будем оценивать функцию, можно строить регрессионную модель.

5.2 Задача регрессии.

Решив задачу регрессии, получим результаты. Тут они не приводятся, в виду большого числа атрибутов. Приведем соответствующие невязки:

Видно, что тут погрешности на порядок выше. Это обусловлено «сильной» нелинейностью функции f . Приведем соответствующие погрешности для данного примера:

И достоверность предсказания.

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

6 Заключение и выводы

По результатам выполнения работы, средства Data Mining показали перспективность и состоятельность применения к задачам оценки количественных характеристик работ. Результаты, полученные на тестовых модельных данных, показали достаточную точность, чтобы считать средства Data mining пригодными для анализа проектов на основе накопленных данных, полученных с выполненных проектов.

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

· области применимости предложенного метода, выявлению ограничений данного подхода к оценке реальных проектов,

· анализу влияния «шума», всегда присутствующего в данных, характеризующих реальные проекты,

· чувствительности к изменению значений параметров (жесткость системы).

7 Список использованных источников и литературы

1. Руководство PMBOK®, 2004 Project Management Institute, Four Campus Boulevard, Newtown Square, PA 19073-3299 USA / США.

2. Manfred Bundschuh, Carol Dekkers, The IT Measurement Compendium.

3. Барсегян А.А., Куприянов М.С., Степаненко В.В., Холод И.И. Технологии анализа данных: Data Mining, Visual Mining, Text Mining, OLAP – СПб.: БХВ-Петербург, 2008.

4. http://www.oracle.com/technology/documentation/datamining.html

5. Ньюэл Майкл В. Управление проектами для профессионалов. Руководство по подготовке к сдаче сертификационного экзамена – М.: КУДИЦ-ПРЕСС, 2008.

6. Хардман Р., МакЛафлин М. Oracle PL/SQL для профессионалов – М.: Лори, 2007.

Приложение А.

Таблица данных к примеру 1:


F

PREDICTION

df/f, %

ID

LOE1

LOE2

LOE3

LOE4

198

191.25

3.409

97

26

50

25

84

153

148.124

3.187

3

57

48

22

24

90

92.785

3.095

55

2

43

15

30

112

114.784

2.486

78

51

25

9

22

163

165.785

1.709

63

3

86

51

13

166

163.215

1.678

52

23

44

39

60

262

257.833

1.591

91

93

56

48

52

178

180.785

1.565

79

36

16

47

76

184

186.785

1.514

29

18

14

97

31

184

186.784

1.513

96

30

54

7

89

186

188.785

1.497

19

85

50

43

8

190

192.785

1.466

76

103

63

5

4

197

199.785

1.414

38

48

67

31

51

198

200.785

1.407

59

108

13

4

56

200

202.786

1.393

39

6

52

3

115

201

203.786

1.386

68

6

26

57

102

201

198.215

1.386

13

20

21

88

63

207

209.785

1.345

62

7

17

114

47

230

232.785

1.211

48

111

22

85

8

229

226.26

1.196

67

57

31

22

104

237

239.784

1.175

27

92

37

82

26

238

240.784

1.17

9

91

42

31

71

241

238.215

1.155

71

27

28

13

136

245

247.785

1.137

95

134

8

50

28

242

239.256

1.134

7

45

94

36

56

248

250.784

1.123

20

110

4

121

13

249

246.216

1.118

44

37

45

15

128

255

252.215

1.092

42

38

34

61

106

256

258.785

1.088

14

57

9

11

145

257

259.784

1.083

41

37

71

92

57

257

254.216

1.083

22

8

25

87

128

259

256.216

1.075

93

115

34

74

24

261

258.216

1.067

73

68

43

102

37

262

264.785

1.063

81

39

117

92

14

264

261.214

1.055

53

28

51

120

45

248

250.607

1.051

32

69

19

108

48

266

268.785

1.047

58

19

78

127

26

279

276.214

0.998

94

65

6

149

39

285

282.215

0.977

85

35

84

26

127

290

292.785

0.96

4

86

9

60

135

294

291.216

0.947

82

15

100

32

139

293

290.229

0.946

36

65

17

57

140

301

298.215

0.925

21

31

71

121

77

301

303.785

0.925

28

30

120

56

95

261

263.409

0.923

84

40

143

48

6

302

299.215

0.922

24

123

24

127

28

308

305.216

0.904

10

108

17

37

141

182

180.358

0.902

65

46

41

29

64

311

313.784

0.895

23

129

32

87

57

312

309.214

0.893

2

66

112

68

54

F

PREDICTION

df/f, %

ID

LOE1

LOE2

LOE3

LOE4

319

316.216

0.873

17

144

44

77

32

322

324.785

0.865

45

127

101

47

40

322

324.786

0.865

60

88

66

56

108

324

321.216

0.859

75

109

63

76

63

325

327.784

0.857

70

107

98

59

58

333

335.784

0.836

74

142

69

87

29

335

332.216

0.831

80

66

112

77

67

344

341.215

0.81

40

149

81

41

50

349

351.784

0.798

98

132

72

102

43

350

352.784

0.796

57

55

121

68

106

363

365.784

0.767

16

70

91

114

86

366

363.215

0.761

90

140

50

72

95

370

367.215

0.753

83

37

148

112

73

374

371.216

0.744

18

100

86

129

59

380

377.216

0.733

35

148

84

85

51

382

379.215

0.729

12

136

146

56

44

225

223.382

0.719

69

47

55

73

44

390

387.216

0.714

11

94

52

101

143

284

285.985

0.699

34

47

77

40

110

420

417.216

0.663

72

73

125

138

83

420

417.216

0.663

64

66

90

106

150

432

429.215

0.645

26

149

123

94

66

307

305.055

0.634

77

71

121

59

43

450

447.215

0.619

66

106

120

86

138

200

201.231

0.616

86

38

55

26

77

477

474.216

0.584

46

130

135

104

108

240

238.623

0.574

6

21

18

88

107

325

323.144

0.571

30

147

65

98

15

282

283.49

0.528

51

90

145

10

19

278

276.552

0.521

15

101

29

115

28

269

270.32

0.491

5

4

141

27

83

281

282.27

0.452

61

126

53

29

55

292

293.252

0.429

88

92

3

53

144

291

289.845

0.397

99

137

36

77

23

291

290.081

0.316

25

139

28

52

44

325

325.98

0.302

8

73

149

87

15

308

307.108

0.29

92

144

39

27

76

358

357.043

0.267

87

62

123

71

94

345

344.099

0.261

47

132

51

83

65

237

236.462

0.227

31

7

66

7

131

292

292.476

0.163

43

138

28

49

51

259

259.418

0.162

1

18

43

113

84

292

292.459

0.157

56

114

44

57

62

264

263.898

0.039

89

47

4

137

65

209

209.075

0.036

37

103

10

29

56

277

276.942

0.021

50

104

55

66

42



Таблица данных к примеру 2.


ID

NUM_OF_DATA_SOURCES

NUM_ENTITY_PER_DS

NUM_ATTR_AND_FK_PER_ENT

QUALITY_OF_INPUT_DATA

NUM_OF_ORDERS_PER_DAY

NUM_OF_CONCURRENT_USERS

NETWORK_ALARMS_PER_DAY

CUP_OF_TEA_PER_DAY

F

1

14

16

18

P

900

1200

700

70

26351

2

6

78

16

M

1400

200

100

30

23120

3

6

66

13

M

300

500

900

130

22495

4

15

20

16

P

1200

1200

600

50

28908

5

5

58

12

M

1500

2100

600

10

23114

6

9

13

6

P

1100

800

300

40

10329

8

4

15

24

M

1200

100

500

150

10623

9

10

5

15

H

1400

2800

400

80

16898

10

16

19

10

M

1500

2400

200

80

20838

11

11

26

8

P

1100

1600

300

110

18416

12

5

79

11

M

1300

2100

300

100

22430

13

8

21

18

M

1000

2700

600

130

23098

14

13

26

16

H

1200

2600

900

30

29503

15

8

40

17

M

1600

3000

1000

0

34309

16

5

6

7

P

300

1900

200

130

9127

18

16

18

25

M

100

700

900

0

28715

19

11

41

6

P

400

100

100

130

12363

20

10

24

13

M

1100

2400

800

100

24433

21

14

25

8

M

1000

1300

100

60

14950

22

11

28

9

P

500

2700

700

40

25391

23

3

93

11

M

1900

2900

800

80

26709

24

9

51

24

H

1300

200

900

120

33306

25

17

27

8

H

900

2800

300

40

21635

26

16

12

11

H

1700

2600

400

50

20219

27

7

43

19

P

800

500

400

120

26788

28

6

19

17

P

1100

1500

600

120

18805

29

15

28

10

H

1400

2900

600

30

26190

30

14

29

9

P

800

1600

500

90

24443

31

11

11

20

H

1700

1000

500

80

16334

32

12

22

20

H

800

600

800

80

21547

33

16

23

8

P

1600

400

500

60

20186

34

14

30

24

H

800

1600

500

0

31936

35

3

34

18

M

900

3000

800

30

21992

36

3

37

16

P

1200

1700

100

90

14745

38

11

31

17

P

300

1400

800

140

32358

39

8

11

21

H

1600

3000

100

50

17492

40

16

13

20

M

1900

1100

400

80

22078

41

17

28

7

H

1600

1900

200

40

18856

43

5

59

15

H

1600

2900

200

100

22840

44

10

10

15

H

1800

2900

500

40

20296

45

5

22

6

H

1700

800

1000

90

15618

46

12

26

17

M

500

2900

300

10

26277

47

5

88

11

P

1000

400

100

0

21246

48

8

19

10

P

1300

2900

900

20

24559

49

15

13

23

M

1700

2800

700

130

29873

50

2

53

11

M

500

2500

100

100

12353

51

4

40

16

P

700

200

800

100

17658

52

15

25

6

H

500

2300

300

80

16295

53

10

15

24

M

1100

900

100

100

15508

54

12

11

10

P

1100

1300

200

90

13467

55

14

4

13

M

1500

500

800

10

14081

56

11

4

17

M

800

2000

300

50

12930

58

10

50

10

M

1400

100

800

40

22733

59

15

9

10

P

500

700

600

70

14071

60

8

42

8

M

1800

1900

400

70

19876

61

9

31

24

P

200

2600

200

100

33868

62

5

53

15

M

900

1500

700

40

22125

63

17

25

19

M

1100

600

700

140

31056

64

13

34

21

M

1300

2100

900

40

40109

65

16

20

22

M

1900

2200

400

140

32424

66

7

64

9

M

300

2800

900

50

26765

67

14

15

12

P

300

2700

900

60

26019

68

7

64

16

P

1800

2800

1000

90

45501

69

18

22

7

M

400

1200

500

10

16982

70

7

34

9

H

600

1900

200

40

13479

71

10

27

17

H

2000

1000

600

80

21969

72

16

7

13

M