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

Томский политехнический университет

Кафедра прикладной математики

Методические указания

по выполнению

лабораторной работы

«Пакет WizWhy»

Томск 2008

Цель работы: Выявления логических закономерностей с помощью пакета WizWhy для анализа результатов экспериментальных исследований.

Введение

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

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

В двадцать первом веке уже сложно опираясь на свою интуицию и опыт в принятии правильного решения.

НЕ нашли? Не то? Что вы ищете?

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

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

Розничная торговля

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

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

·  Исследование временных шаблонов помогает торговым предприятиям принимать решения о создании товарных запасов. Оно дает ответы на вопросы типа "Если сегодня покупатель приобрел видеокамеру, то через какое время он вероятнее всего купит новые батарейки и пленку?"

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

Банковское дело

Достижения технологии Data Mining используются в банковском деле для решения следующих распространенных задач:

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

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

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

Телекоммуникации

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

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

·  Выявление лояльности клиентов. Data Mining можно использовать для определения характеристик клиентов, которые, один раз воспользовавшись услугами данной компании, с большой долей вероятности останутся ей верными. В итоге средства, выделяемые на маркетинг, можно тратить там, где отдача больше всего.

Страхование

Страховые компании в течение ряда лет накапливают большие объемы данных. Здесь обширное поле деятельности для методов Data Mining:

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

·  анализ риска. Путем выявления сочетаний факторов, связанных с оплаченными заявлениями, страховщики могут уменьшить свои потери по обязательствам. Известен случай, когда в США крупная страховая компания обнаружила, что суммы, выплаченные по заявлениям людей, состоящих в браке, вдвое превышает суммы по заявлениям одиноких людей. Компания отреагировала на это новое знание пересмотром своей общей политики предоставления скидок семейным клиентам.

Другие приложения в бизнесе

Data Mining может применяться во множестве других областей:

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

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

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

Медицина

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

Молекулярная генетика и генная инженерия

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

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

Прикладная химия

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

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

Описание пакета WizWhy

Алгоритмы ограниченного перебора были предложены в середине 60-х годов для поиска логических закономерностей в данных. С тех пор они продемонстрировали свою эффективность при решении множества задач из самых различных областей.

Эти алгоритмы вычисляют частоты комбинаций простых логических событий в подгруппах данных. Примеры простых логических событий: X = a; X < a; X > a; a < X < b и др., где X — какой либо параметр, “a” и “b” — константы. Ограничением служит длина комбинации простых логических событий. На основании анализа вычисленных частот делается заключение о полезности той или иной комбинации для установления ассоциации в данных, для классификации, прогнозирования и пр.

Наиболее ярким современным представителем этого подхода является система WizWhy предприятия WizSoft. Хотя автор системы Абрахам Мейдан не раскрывает специфику алгоритма, положенного в основу работы WizWhy, по результатам тщательного тестирования системы были сделаны выводы о наличии здесь ограниченного перебора (изучались результаты, зависимости времени их получения от числа анализируемых параметров и др.).

Автор WizWhy утверждает, что его система обнаруживает все логические правила вида "если…то…" для поступающих данных. На самом деле это, конечно, не так. Во-первых, максимальная длина комбинации в правиле "если…то…" в системе WizWhy равна 6, и, во-вторых, с самого начала работы алгоритма производится эвристический поиск простых логических событий, на которых потом строится весь дальнейший анализ. Поняв эти особенности WizWhy, нетрудно было предложить простейшую тестовую задачу, которую система не смогла вообще решить. Другой момент — система выдает решение за приемлемое время только для сравнительно небольшой размерности данных (не более 20).

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

Выявление логических закономерностей с помощью пакета WizWhy

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

Метод ограниченного перебора впервые был предложен в середине 60-х годов ХХ века . С тех пор подобные алгоритмы продемонстрировали свою эффективность при решении множества задач из самых различных областей. На основании анализа вычисленных частот делается заключение о полезности той или иной комбинации (комбинация есть конъюнкция элементарных событий, представляющих собой попадание значений признаков в определенные интервалы) для классификации, распознавания и прогнозирования.

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

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

Первый шаг. Подготовка данных к логическому анализу.

Система WizWhy поддерживает различные форматы баз данных (ASCII, dBase, MS Access, MS Excel и др.), поэтому какой-то дополнительной подготовки данных не требует. И после загрузки системы остается лишь выбрать нужный формат и загрузить данные. Унификация переменных не проводится, поскольку система производит разбивку количественных признаков на информативные интервалы самостоятельно. После того как данные загружены, устанавливается соответствующий тип признака: количественный (Number) и качественный (Category). Задается классификационный признак.

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

В качестве начальных параметров на закладке Rule Parameters задаются:

·  минимальная доверительная вероятность (точность) для правила «Если…То» (if-then);

·  минимальная доверительная вероятность для «Если…То Не» (if-then-Not) правил;

·  минимальное число объектов, на которых подтверждается правило;

·  максимальное число событий в правиле.

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

·  Стоимость пропуска (Cost of a miss) – отнесение к «Не»-диагностируемому классу, когда на самом деле имеет место диагностируемый класс, как правило, задается равной 1;

·  Стоимость ложной тревоги (Cost of a false alarm) – отнесение к противоположному диагностируемому классу, когда на самом деле имеет место правильное распознавание, также задается равной 1.

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

Следующим шагом задаются параметры вывода для отчета: количество правил в отчете (Maximum number of rules), способ сортировки правил (Sorting the rules), а также задается режим вывода (Print rule report to) (окно отчета, текстовый, файл, принтер).

Для того чтобы запустить процедуру поиска логических закономерностей достаточно нажать кнопку «Issue Rule».

Третий шаг. Анализ полученных правил.

Отчет с выявленными правилами представляется двумя подразделами: 1) общие параметры правил и 2) список правил.

Общие параметры правил :

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

Таблица 4.1.

Группа параметров

Название и содержание параметра

Значения

Начальные параметры (Rule Parameters)

Минимальная доверительная вероятность (точность) для правила «Если…То» (if-then);

85%

Минимальная доверительная вероятность для «Если…То Не» (if-then-Not) правил

85%

Минимальное число объектов, на которых подтверждается правило

10

Максимальное количество отображаемых правил

999

Максимальное число событий в правиле

6

Стоимость ошибок (Error Costs).

Стоимость пропуска (Cost of a miss)

Отнесение к «Не»-диагностируемому классу, когда на самом деле имеет место диагностируемый класс

1

Стоимость ложной тревоги (Cost of a false alarm

Отнесение к противоположному диагностируемому классу, когда на самом деле имеет место правильное распознавание

1

Таблица 4.2.

Обозначение

Значение

1.   

Вероятность правила (Rule's probability)

Это значение равно отношению количества случаев, подтверждаемых правилом «Если – То», к общему количеству случаев, содержащих условие «Если»

2.   

Правило проявляется… (The rule exists…)

Количество объектов, для которых срабатывает правило

3.   

Уровень значимости (Significance Level)

Определяет степень, с которой можно полагаться на правило, на основании которого делается распознавание прогноз. Если значение меньше 0.05 – это правило не случайно для данной выборки

4.   

Положительные примеры (Positive Examples)

Список объектов, для которых правило осуществляет корректное распознавание

5.   

Отрицательные примеры (Negative Examples)

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

Четвертый шаг. Оценка информативности признаков.

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

Пятый шаг. Визуализация полученных правил.

В системе WizWhy предусмотрена возможность визуализации любого правила. Чтобы просмотреть правило надо позиционировать курсор на одном из его условий и щелчком правой мыши вызвать контекстное меню, где следует выбрать «Rule Chart…». На экране отобразится диаграмма, иллюстрирующая отдельные компоненты правила.

Шестой шаг. Анализ сегментации признаков.

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

По горизонтальной оси располагаются, в случае качественных признаков возможные значения, а в случае количественных признаков сегменты, на которые выбранный признак автоматически разбивается системой WizWhy. По вертикальной оси откладывается отношение количества объектов класса if-then правил к общему количеству объектов, попадающих в сегмент. Таким образом, высота столбиков на графике отражает информативность сегментов. Синяя горизонтальная линия соответствует значению начальной относительной частоты целевого значения в выборке. Если столбик выше синей (горизонтальной) черты, значит, в данный сегмент чаще попадают объекты класса if-then, а если ниже горизонтальной черты – класса if-then-Not. Чем больше разница между чертой и высотой столбика, тем лучше осуществляется прогнозирование целевого значения по исследуемому признаку.

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

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

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

Седьмой шаг. Анализ неожиданных правил.

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

В отчете приводится две группы правил: 1) неожиданные (Unexpected Rule) и 2) основные правила (Basic Rules), которые объединяет неожиданное правило.

В нашем случае система не обнаружила таких неожиданных правил. Однако можно попытаться это сделать, если мы изменим задание на поиск правил. Например, уменьшим минимальную вероятность if-then - и if-then-NOT - правил с 73 до 56% и с 61 до 40% в окне Rule Parametrs. Проделаем указанную операцию и нажмем кнопку Issue Rules – теперь система обнаружит в данных 71 правило, и среди них окажется одно неожиданным, отчет о котором ведется в специальном окне.

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

Представленное правило расшифровывается следующим образом: если (таз не узкий) и (угрозы нет) и (ребенок по счету второй), то исход родов «не кесарево». В данном правиле выдаются две новые характеристики – уровень неожиданности (Level of Unlikelihood) и ожидавшаяся вероятность правила (Expected rule probability). Как видим, за счет взаимосвязи элементов правила, точность целого правила составила 0,611 и оказалась выше ожидаемого (0,544).

Нижняя секция о неожиданных правилах разделена на две части. В левой части располагаются элементы управления для сортировки этих правил. По умолчанию правила проранжированы по величине разности между реальной и оказавшейся точностями правила. Если установить переключатель в поле Field и выбрать из списка какой либо признак, то будут отображаться только не неожиданные правила, в которых встречается указанный признак. В свою очередь, в поле Type можно выбрать один из трех типов фильтров правил – All (все правила), if-then правила и if-then-NOT.

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

Предсказание на основе полученных правил

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

Нажимаем кнопку Issue Prediction – на экране выдается окно диалога для ручного ввода значений признаков.

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

Осуществляя анализ данных в системе WizWhy, были отмечены некоторые неудобства, а именно: при объеме выборки более 150 объектов и порядка 100 признаков процесс поиска логических закономерностей сильно зависит от мощности используемого компьютера и может растянуться на несколько часов.

Кроме того, система WizWhy выдает, действительно, заявленное авторами «максимальное» число логических правил. В частности, при вышеуказанных условиях было получено более 12000 правил. Естественно, что такой объем информации вызывает дополнительные трудности при анализе полученных результатов.

Задание

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

Контрольные вопросы

1. Опишите предметную область применения Data Mining.

2. Каким образом необходимо подготовить данные для их анализа в системе WizWhy?

3. Какие начальные параметры были заданы?

4. Как проводится оценка информативности признаков?

5. Какие неудобства возникают при анализе данных в системе WizWhy?

Требования к отчету

Отчет должен содержать цель работы, постановку задачи, исходные данные, результаты исследований (таблицы «Field Index») и ответы на контрольные вопросы.