Этап 4. Построение модели
После этого отступления займемся снова этапами процесса Data Mining. После окончания этапа подготовки данных можно переходить к построению модели.
Вернемся к задаче, приведенной в лекции № 6 для более подробного изучения процесса моделирования. Напомним, что в примере рассматривалась задача классификации клиентов туристического агентства на два класса: класс 1 (клиенты, предпочитающие более дорогой, семейный отдых) и класс 2 (клиенты, ориентированные на более дешевый, молодежный отдых).
Задача классификации была выбрана для иллюстрации процесса моделирования, поскольку именно этот тип задач предусматривает обязательное деление процесса моделирования на два отдельных этапа: конструирование (построение) модели и ее использование.
На этапе построения модели при помощи некоего классификационного метода или алгоритма была создана модель (классификатор клиентов). В результате построения модели одно из правил, которые мы получили, гласит: "Если ДОХОД>20 и СЕМЕЙНОЕ ПОЛОЖЕНИЕ = "married", то класс "1".
С одной стороны, можно говорить, что построенная модель выделила наиболее существенные (или значимые) факторы с точки зрения решаемой задачи. Для решения задачи классификации наиболее значимыми оказались переменные "доход" и "семейное положение", остальные факторы (т.е. остальные показатели исследуемой базы данных), сколько бы их ни было, оказались маловажными и не были включены в модель.
С другой стороны, данная модель, как и любая другая, может обладать свойством неполноты. Примером неучтенного фактора могут быть, скажем, природные катаклизмы, которые повлияли на желание клиента пользоваться услугами туристического агентства.
Для построения моделей используются различные методы и алгоритмы Data Mining. Некоторые задачи могут быть решены при помощи моделей, построенных на основе различных методов. Идеальной модели, которая бы позволила решать разнообразные задачи, не существует. Поэтому многие разработчики включают в инструменты Data Mining возможность построения различных моделей, многие также обеспечивают возможность расширяемости моделей.
Некоторые инструменты Data Mining создаются специально для конкретных областей применения.
Не так давно рабочей группой Data Mining Group был предложен стандарт PMML (Predictive Model Markup Language), который позволяет осуществлять обмен моделями, созданными в приложениях различных поставщиков программного обеспечения Data Mining. Этот стандарт будет подробно рассмотрен в одной из следующих лекций Курса.
Среди большого разнообразия методов Data Mining должен быть выбран метод или же комбинация методов, при использовании которых построенная модель будет наилучшим образом описывать исследуемый объект.
Иногда для выявления искомых закономерностей требуется использование нескольких методов и алгоритмов. В таком случае одни методы используются в начале моделирования, другие - на дальнейших этапах. Пример: для определения однотипных групп клиентов применялся один из методов кластеризации, в результате клиенты были разбиты на группы, каждой из которых, присвоен код; далее мы пользовались методом деревьев решений. Код группы (результат работы предыдущего метода) использовался для интерпретации полученных закономерностей.
Выбор метода, на основе которого будет построена модель, должен осуществляться с учетом постановки задачи, особенностей набора исходных данных, специфики решаемой задачи, результатов, которые должны быть получены на выходе.
Постановка задачи формализует суть задачи, так, наличие входных и выходных переменных при решении задачи классификации определяет выбор одного из методов "обучение с учителем". Наличие лишь входных переменных определяет выбор другого - метода "обучение без учителя".
Среди особенностей исходного набора данных, например, могут быть следующие его характеристики:
количество записей в наборе;соотношение количества записей в наборе данных и количества входных переменных;наличие выбросов, ибо некоторые методы особенно чувствительны к наличию выбросов в данных. Этот факт следует учитывать при построении модели на подобных данных.Как уже упоминалось выше, Data Mining является итеративным процессом.
Итерация - это циклическая управляющая структура, она содержит выбор между альтернативами и следование избранной.
Выбор между альтернативами в нашем случае - это этап оценки модели.
Если модель приемлема, возможно ее использование.
Этапы подготовки данных, построения модели, оценки модели и выбора лучшей представляют собой цикл.
Если по каким-либо причинам построенная модель оказалось неприемлемой, цикл повторяется и следует один из следующих этапов:
подготовка данных (если причина некорректности модели - в данных);построение модели (если причина некорректности - во внутренних параметрах самой модели).Для определения специфических свойств исследуемых данных иногда требуется несколько итераций.
Цикл № t-1. Подготовка данных -> построение модели № t-1-> оценка и выбор модели.
Цикл № t. Подготовка данных -> построение модели № t -> оценка и выбор модели.
Цикл № t+1. Подготовка данных -> построение модели № t+1 -> оценка и выбор модели.
Иногда имеет смысл использовать несколько методов параллельно для возможности сравнения и анализа данных с различных точек зрения.
Этап 5. Проверка и оценка моделей
Проверка модели подразумевает проверку ее достоверности или адекватности. Эта проверка заключается в определении степени соответствия модели реальности. Адекватность модели проверяется путем тестирования.
Адекватность модели (adequacy of a model) - соответствие модели моделируемому объекту или процессу.
Понятия достоверности и адекватности являются условными, поскольку мы не можем рассчитывать на полное соответствие модели реальному объекту, иначе это был бы сам объект, а не модель. Поэтому в процессе моделирования следует учитывать адекватность не модели вообще, а именно тех ее свойств, которые являются существенными с точки зрения проводимого исследования. В процессе проверки модели необходимо установить включение в модель всех существенных факторов. Сложность решения этой проблемы зависит от сложности решаемой задачи.
Проверка модели также подразумевает определение той степени, в которой она действительно помогает менеджеру при принятии решений.
Оценка модели подразумевает проверку ее правильности. Оценка построенной модели осуществляется путем ее тестирования.
Тестирование модели заключается в "прогонке" построенной модели, заполненной данными, с целью определения ее характеристик, а также в- проверке ее работоспособности. Тестирование модели включает в себя проведение множества экспериментов. На вход модели могут подаваться выборки различного объема. С точки зрения статистики, точность модели увеличивается с увеличением количества исследуемых данных. Алгоритмы, являющиеся основой для построения моделей на сверхбольших базах данных, должны обладать свойством масштабирования.
Если модель достаточно сложна, а значит, требуется много времени на ее обучение и последующую оценку, то иногда бывает можно построить и протестировать модель на небольшой части выборки. Однако этот вариант подходит только для однородных данных, в противном случае необходимо использовать все доступные данные [98]. Построенные модели рекомендуется тестировать на различных выборках для определения их обобщающих способностей. В ходе экспериментов можно варьировать объем выборки (количество записей), набор входных и выходных переменных, использовать выборки различной сложности.
Выявленные соотношения и закономерности должны быть проанализированы экспертом в предметной области - он поможет определить, как являются выясненные закономерности (возможно, слишком общими или узкими и специфическими).
Для оценки результатов полученных моделей следует использовать знания специалистов предметной области. Если результаты полученной модели эксперт считает неудовлетворительными, следует вернуться на один из предыдущих шагов процесса Data Mining, а именно: подготовка данных, построение модели, выбор модели.
Если же результаты моделирования эксперт считает приемлемыми, ее можно применять для решения реальных задач.
Этап 6. Выбор модели
Если в результате моделирования нами было построено несколько различных моделей, то на основании их оценки мы можем осуществить выбор лучшей из них. В ходе проверки и оценки различных моделей на основании их характеристик, а также с учетом мнения экспертов, следует выбор наилучшей. Достаточно часто это оказывается непростой задачей.
Основные характеристики модели, которые определяют ее выбор, - это точность модели и эффективность работы алгоритма [77].
В некоторых программных продуктах реализован ряд методов, разработанных для выбора модели. Многие из них основаны на так называемой "конкурентной оценке моделей", которая состоит в применении различных моделей к одному и тому же набору данных и последующем сравнении их характеристик.
Например, в пакете Statistica (Statsoft) [39] эти методы рассматриваются как ядро "предсказывающей добычи данных", они включают: накопление (голосование, усреднение); бустинг; мета-обучение.
Этап 7. Применение модели
После тестирования, оценки и выбора модели следует этап применения модели. На этом этапе выбранная модель используется применительно к новым данным с целью решения задач, поставленных в начале процесса Data Mining. Для классификационных и прогнозирующих моделей на этом этапе прогнозируется целевой (выходной) атрибут (target attribute).
Этап 8. Коррекция и обновление модели
По прошествии определенного установленного промежутка времени с момента начала использования модели Data Mining следует проанализировать полученные результаты, определить, действительно ли она "успешна" или же возникли проблемы и сложности в ее использовании.
Однако даже если модель с успехом используется, ее не следует считать абсолютно верной на все времена. Дело в том, что необходимо периодически оценивать адекватность модели набору данных, а также текущей ситуации (следует учитывать возможность изменения внешних факторов). Даже самая точная модель со временем перестает быть таковой. Для того чтобы построенная модель выполняла свою функцию, следует работать над ее коррекцией (улучшением). При появлении новых данных требуется повторное обучение модели. Этот процесс называют обновлением модели. Работы, проводимые с моделью на этом этапе, также называют контролем и сопровождением модели.
Существует много причин, требующих обучить модель заново, т.е. обновить ее, чтобы отразить определенные изменения.
Основными причинами являются следующие:
изменились входящие данные или их поведение;появились дополнительные данные для обучения;изменились требования к форме и количеству выходных данных;изменились цели бизнеса, которые повлияли на критерии принятия решений;изменилось внешнее окружение или среда (макроэкономика, политическая ситуация, научно-технический прогресс, появление новых конкурентов и товаров и т.д.).Причины, перечисленные выше, могут обесценить допущения и исходную информацию, на которых основывалась модель при построении.
Приведем простой пример из задачи о туристическом агентстве.
Рассматриваемое правило гласит: "Если ДОХОД>20 и СЕМЕЙНОЕ ПОЛОЖЕНИЕ = "married", то класс "1". Эта модель может успешно работать на протяжении какого-то периода, но затем, например, в силу инфляции в стране, модель должна быть скорректирована. В результате рассматриваемое правило может выглядеть таким образом: "Если ДОХОД>30 и СЕМЕЙНОЕ ПОЛОЖЕНИЕ = "married", то класс "1".
Математическая модель
Математическая модель объекта - это его отображение в виде совокупности уравнений, неравенств, логических отношений, графиков и т.д.
При помощи математической модели создается образ исследуемого объекта/системы, выраженный в математических формулах с целью изучения определенных свойств данного объекта. После построения математической модели необходимо наполнить ее данными и провести соответствующие расчеты.
При построении модели следует определить экзогенные и эндогенные переменные .
Экзогенные переменные - переменные, которые задаются вне модели, они известны заранее.
Эндогенные переменные - переменные, которые определяются по ходу расчетов в модели, они не задаются извне.
Далее описывается формализация условий задачи и целевая функция, если она имеется.
Наиболее простое формальное описание модели выражается через функциональную зависимость:
Y=f(x1,...,xn),где x1,...,xn - независимые переменные, Y - зависимая или целевая переменная.
Более сложное описание модели выглядит следующим образом:
Y=f(x1,...,xn,z1,...,zr,w1,...,ws),где x1,...,xn - независимые переменные, являющиеся внутренними свойствами изучаемого объекта;
z1,...,zr - независимые переменные, являющиеся внешними факторами, влияющими на изучаемый объект;
w1,...,ws - неучтенные свойства или факторы.
Y - зависимая или целевая переменная.
Необходимо по возможности выяснить все закономерности между целевой переменной и всеми учитываемыми факторами. В результате будет составлена математическая модель, в которой следует отображать те переменные и факторы, которые являются существенными для решения поставленной задачи.
Следует также помнить, что данные, на основе которых строится модель, практически всегда содержат ошибки, поэтому математическая модель является лишь приближенным описанием свойств изучаемого объекта.
В случаях, когда зависимость неизвестна, задача аналитика заключается в том, чтобы определить эту функциональную зависимость. Большинство задач Data Mining относятся как раз к подобной категории задач.
Моделирование
В широком смысле слова моделирование - это научная дисциплина, цель которой - изучение методов построения и использования моделей для познания реального мира.
Моделирование - единственный к настоящему времени систематизированный способ увидеть варианты будущего и определить потенциальные последствия альтернативных решений, что позволяет их объективно сравнивать [97].
Моделирование - достаточно популярный и эффективный метод исследования данных, который является основой анализа данных.
Существует огромное количество ситуаций, когда экспериментировать в реальной жизни не представляется возможным. В этих случаях как раз и применяется моделирование.
Моделирование как процесс представляет собой построение модели и изучение ее свойств, которые подобны наиболее важным, с точки зрения аналитика, свойствам исследуемых объектов.
Таким образом, при помощи моделирования изучаются свойства объектов путем исследования соответствующих свойств построенных моделей.
Моделирование есть метод, процесс и научная дисциплина.
Моделирование широко применяется при использовании методов Data Mining. Путем использования моделей Data Mining осуществляется анализ данных. С помощи моделей Data Mining обнаруживается полезная, ранее неизвестная, доступная интерпретации информация, используемая для принятия решений.
Модель представляет собой упрощенное представление о реальном объекте, процессе или явлении.
Создание и использование Data Mining модели является ключевым моментом для начала понимания, осмысления и прогнозирования тенденций анализируемого объекта.
Построение моделей Data Mining осуществляется с целью исследования или изучения моделируемого объекта, процесса, явления и получения новых знаний, необходимых для принятия решений. Использование моделей Data Mining позволяет определить наилучшее решение в конкретной ситуации.
Аналитик создает модель как подобие изучаемого объекта. Модели могут быть записаны в виде различных изображений, схем, математических формул и т.д. Схематический пример модели был рассмотрен в лекции, посвященной задаче классификации, в первом разделе курса.
Преимуществом использования моделей при исследованиях является простота модели в сравнении с исследуемым объектом. При этом модели позволяют выделить в объекте наиболее существенные факторы с точки зрения цели исследования, и не отвлекаться на маловажные детали.
Из последнего замечания следует, что модель обладает свойством неполноты, поскольку является по своему определению абстрактной.
Приведем простой пример. Пусть имеется база данных клиентов фирмы, содержащая информацию о доходах клиента, семейном положении, предпочтениях и т.д. На основании этой информации нужно определить, является ли определенный клиент потенциальным покупателем нового товара фирмы.
Строя модель, мы предполагаем, что выбор клиента будет определяться характеристиками, которые имеются в базе данных (и мы считаем их существенными для данной задачи). Однако на решение клиента могут оказывать влияние ряд других факторов (например, мода, влияние рекламы, появление на рынке аналогичных товаров других производителей). Эти факторы являются неучтенными. Следовательно, в процессе использования модели ее структура должна совершенствоваться путем уточнения факторов.
Погрешности в процессе Data Mining
Процесс Data Mining может быть успешным и неуспешным. Использование Data Mining не является гарантией получения исключительно достоверных знаний и принятия на основе этих знаний абсолютно верных решений.
Построенная модель может обладать рядом погрешностей. Вот некоторые из них: недостоверные исходные допущения при построении модели; ограниченные возможности при сборе необходимых данных; неуверенность и страхи пользователя системы, и, в силу этого, слабое их применение; неоправданно высокая стоимость.
Наиболее распространенной погрешностью модели являются неверные или недостоверные исходные допущения. Некоторые допущения поддаются объективной предварительной проверке, другие не могут быть заранее проверены. Если модель Data Mining основана на допущениях, естественно, ее точность зависит от точности допущений. Если допущения предыдущих периодов при использовании модели не оправдались, т.е. оказались неточны, то следует отказаться от "продления" этих допущений на будущие периоды.
Допустим ситуацию, когда модель хорошо работает в 18 из 20 филиалов компании. В двух филиалах, скорее всего, причина ошибок кроется не в погрешностях или неточностях модели, а в совсем других причинах, например, в данных. Если же модель плохо работает во всех филиалах без исключения, то, скорее всего, построенная модель некорректна.
Довольно сложно и установить время, которое необходимо для определения качества оценки модели. Этот отрезок времени обусловливается спецификой задачи и определяется индивидуально.
Ограниченные возможности при сборе необходимых данных
Как говорилось в одной из предыдущих Лекций, при формировании переменных модели следует абстрагироваться от тех данных, которые есть в наличии. Однако, не всегда есть возможность получить именно те данные, которые необходимы, а также быть уверенными в их качестве. Тем не менее, следует учитывать, что точность построенной модели определяется точностью входных данных.
Если внешние факторы, включенные в модель, изменяются очень часто, эти изменения должны отражаться в системе.
Следует учитывать, что это не всегда возможно, а иногда - нецелесообразно.
Неуверенность пользователей
По словам Шеннона, ни одну модель "нельзя считать успешно выстроенной, пока она не принята, не понята и не применена на практике". Однако во многих исследованиях, касающихся использования моделей, отмечается, что в процессе принятия решений далеко не все построенные модели используются в полной мере, а некоторые вовсе не используются. Основными причинами этого является недоверие к моделям либо их непонимание. Для того чтобы избежать подобных явлений, лица, принимающие решения, должны принимать участие в постановке той задачи, для которой строится модель. В дальнейшем следует научить руководителя работать с моделью (т.е. ее программной реализацией), в частности, объяснить ему функции модели, возможности, ограничения и т.д.
Неоправданно высокая стоимость
В результате процесса Data Mining должна быть получена выгода (конечно, если речь не идет о научных исследованиях). Полученная прибыль должна оправдать расходы на процесс Data Mining, а это не только стоимость программного обеспечения для Data Mining, но и затраты на подготовку данных, обучение, консультирование и т.д. Стоимость проекта зависит от его длительности, типа конечного приложения, уровня подготовки пользователей, варианта внедрения (готовый продукт, разработка "под ключ", адаптация под конкретную задачу).
Построение и использование модели
В предыдущих двух лекциях мы рассмотрели такие этапы процесса Data Mining как анализ предметной области, постановка задачи и подготовка данных. В этой лекции мы уделим внимание оставшимся этапам процесса Data Mining, а именно:
построению модели;проверке и оценке моделей;выбору модели;применению модели;коррекцию и обновлению модели.Ключевым словом в названии всех этих этапов является понятие "модель". В связи с этим необходимо уделить некоторое время определениям понятий "модель" и "моделирование".
Виды моделей
Построенные модели могут иметь различную сложность. Сложность построенной модели зависит от используемых методов, а также от сложности объекта, который анализируется.
Под сложным объектом понимается объект сложной структуры, который характеризуется большим количеством входных переменных, изменчивостью внутренней структуры и внешних факторов, нелинейностью взаимосвязей и др.
Классификация типов моделей в зависимости от характерных свойств, присущих изучаемому объекту или системе, такова
динамические (системы, изменяющиеся во времени) и статические; стохастические и детерминированные; непрерывные и дискретные; линейные и нелинейные; статистические; экспертные; модели, основанные на методах Data Mining; прогнозирующие (классификационные) и описательные.Рассмотрим подробно прогнозирующие и описательные модели. Именно такое подразделение соответствует делению задач Data Mining на два класса: прогнозирующие и описательные.
Прогнозирующие и классификационные (predictive) модели.
Эти модели в явном виде содержат информацию для прогноза, т.е. позволяют прогнозировать числовые значения либо класс (категорию).
Модели, с помощью которых осуществляется прогноз числовых значений атрибутов, будем называть прогнозирующими. Прогнозирование новых значений осуществляется на основе известных (существующих) значений. Прогнозирующие модели Data Mining позволяют выявить особенности функционирования конкретного объекта и на их основе предсказывать будущее поведение объекта. При использовании моделирования (в отличие, например, от предположений, основанных на интуиции) взаимосвязи переменных могут быть оценены количественно, что позволяет выбрать наиболее точную модель и получить более надежный прогноз.
В отличие от классификации, в задачах прогнозирования целевыми являются непрерывные переменные.
Примеры прогнозирующих моделей - это модели линейной регрессии (простейшие модели) и модели на основе нейронных сетей.
Модели, с помощью которых осуществляется прогнозирование класса объекта, будем называть классификационными.
Таким образом, с помощью описанных выше моделей решают задачи классификации и прогнозирования. Такое решение подразумевает двухэтапный процесс: создание модели и ее использование.
Создание моделей Data Mining этого типа означает поиск правил, которые объясняют зависимость выходных параметров от входных.
Примеры классификационных моделей - модели на основе деревьев решений, а также байесовский метод. При помощи классификационной модели решаются следующие задачи:
принадлежит ли новый клиент к одному из набора существующих классов;подходит ли пациенту определенный курс лечения;выявление групп ненадежных клиентов;определение групп клиентов, которым следует рассылать каталог с новой продукцией.Класс в этом случае является целевой (выходной) переменной модели.
Дескриптивные или описательные (descriptive) модели описывают общие закономерности предметной области. С помощью дескриптивных моделей решают задачи поиска ассоциативных правил, задачи кластеризации, группировки, обобщения.
Модели кластеризации используются для классификации объектов, при условии, что набор целевых классов неизвестен; они создают так называемые сегментированные модели.
При помощи модели кластеризации, например, решается задача разбиения клиентов фирмы на группы (кластеры) по критерию "близости".
Модели правил ассоциаций используются для нахождения закономерностей между связанными событиями в базах данных.
При помощи модели правил ассоциаций решается задача определения часто встречающихся наборов товаров.
Модели могут быть физическими, концептуальными, математическими, аналоговыми.
Рассмотрим, что же представляет собой математическая модель (ее также называют символической).