РефератыОстальные рефератыФаФакультет радиотехники и кибернетики

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

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


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


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


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


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


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


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


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


студента 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], где оно определяется следующим образом: проект – это временное предприятие, предназначенное для создания уникальных продуктов, услуг или результатов. Также там описываются характеристики проекта:


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

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


Для оценки стоимости и других характеристик проектов сузествует множество методов. Например, в книге «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


1500


1400


700


40


17962


74


14


12


16


M


1100


1500


100


80


15476


75


18


14


19


P


100


200


800


50


25566


76


11


32


13


M


200


1400


500


100


20896


77


8


7


20


H


600


2600


900


90


19237


78


12


28


13


M


1200


400


100


10


16287


79


5


42


7


H


1700


2900


900


130


22737


81


3


63


15


M


500


2400


200


130


17036


83


15


23


13


M


1600


300


1000


10


24573


84


17


23


6


P


1200


2600


1000


80


28017


85


7


27


15


M


1700


2900


700


130


25336


86


7


29


13


M


100


2700


200


140


17057


87


3


71


14


P


500


2600


500


110


23418


88


17


8


25


M


1400


1400


1000


40


25018


89


11


30


19


H


700


600


400


110


20025


90


7


17


6


H


800


3000


100


50


13526


91


7


44


20


P


1800


1000


1000


30


36614


92


10


45


21


P


200


900


800


130


43197


93


16


26


19


M


1100


2900


400


10


35038


94


13


34


15


M


1600


600


100


120


23321


95


15


26


25


P


1700


2900


700


30


52935


96


4


87


18


P


1000


1400


200


140


29873


97


14


15


19


P


1200


400


900


30


26005


98


13


23


9


P


700


300


800


120


19311


99


17


17


10


H


900


1900


400


120


18173



[1]
OLAP (On-Line Analytical Processing)— технология оперативной аналитической обработки данных, использующая методы и средства для сбора, хранения и анализа многомерных данных в целях поддержки процессов принятия решений.


[2]
В машинном обучении, переобучение (или оверфиттинг, переподгонка) — это явление, когда при построении алгоритма обучения получается такой алгоритм, который слишком хорошо работает на примерах, участвовавших в обучении (т.е. на примерах из обучающей выборки), но достаточно плохо работает на примерах, не участвовавших в обучении (т.е. на примерах из тестовой выборки). Это связано с тем, что при построении такого алгоритма (или как принято говорить в машинном обучении 'в процессе обучения') в обучающей выборке обнаруживаются некоторые случайные закономерности, которые отсутствуют в генеральной совокупности.

Сохранить в соц. сетях:
Обсуждение:
comments powered by Disqus

Название реферата: Факультет радиотехники и кибернетики

Слов:12221
Символов:148832
Размер:290.69 Кб.