Федеральное государственное бюджетное образовательное учреждение высшего профессионального образования «Чеченский государственный университет» Лекции по дисциплине «Анализ данных» Направление подготовки 38.03.05 «Бизнес-информатика» Профиль подготовки Электронный бизнес Квалификация Бакалавр Форма обучения Очная Грозный-2015 Рецензент: _____ С.Р.Шамилев ________________ Составитель; ___ А.Р. Юнусов _________________ Лекции дисциплины «Анализ данных» /сост. А.Р. Юнусов – Грозный: ФГБОУ ВПО ЧГУ, 2014г. Лекции предназначены для преподавания дисциплины базовой части цикла математических и естественнонаучных дисциплин студентам очной формы обучения по направлению подготовки 38.03.05 «Бизнес-информатика» в 3 семестре. Лекции составлены с учетом Федерального государственного образовательного стандарта высшего профессионального образования по направлению подготовки «Бизнесинформатика», утвержденного приказом Министерства образования и науки Российской Федерации от 14 января 2010 г. N 27 Составитель ____________________ А.Р.Юнусов (подпись) «____»____________________2014 А.Р. Юнусов, 2014 ФГБОУ ЧГУ, 2014 Содержание 1 Аффинитивный анализ (affinity analysis) ............................................................................................... 4 2 Кластерный анализ ................................................................................................................................... 5 3 Классификация и регрессия ..................................................................................................................10 4 Классификация и регрессия. Машинное обучение .............................................................................30 5 Анализ и прогнозирование временных рядов .....................................................................................88 6 Ансамбли моделей ...............................................................................................................................121 Литература ...............................................................................................................................................124 1 Аффинитивный анализ (affinity analysis) Аффинитивный анализ (affinity analysis) — один из распространенных методов Его название происходит от английского слова affinity, которое в переводе означает «близость», «сходство». Цель данного метода — исследование взаимной связи между событиями, которые происходят совместно. Разновидностью аффинитивного анализа является анализ рыночной корзины (market basket analysis), цель которого — обнаружить ассоциации между различными событиями, то есть найти правила для количественного описания взаимной связи между двумя или более событиями. Такие правила называются ассоциативными правилами (association rules). Примерами приложения ассоциативных правил могут быть следующие задачи: § выявление наборов товаров, которые в супермаркетах часто покупаются вместе или никогда не покупаются вместе; § определение доли клиентов, положительно относящихся к нововведениям в их обслуживании; § определение профиля посетителей веб-ресурса; § определение доли случаев, в которых новое лекарство показывает опасный побочный эффект. Базовым понятием в теории ассоциативных правил является транзакция — некоторое множество событий, происходящих совместно. Типичная транзакция —приобретение клиентом товара в супермаркете. В подавляющем большинстве случаев клиент покупает не один товар, а набор товаров, который называется рыночной корзиной. При этом возникает вопрос: является ли покупка одного товара в корзине следствием или причиной покупки другого товара, то есть связаны ли данные события? Эту связь и устанавливают ассоциативные правила. Например, может быть обнаружено ассоциативное правило, утверждающее, что клиент, купивший молоко, с вероятностью 75 % купит и хлеб. Следующее важное понятие — предметный набор. Это непустое множество предметов, появившихся в одной транзакции. Анализ рыночной корзины — это анализ наборов данных для определения комбинаций товаров, связанных между собой. Иными словами, производится поиск товаров, присутствие которых в транзакции влияет на вероятность наличия других товаров или комбинаций товаров. Современные кассовые аппараты в супермаркетах позволяют собирать информацию о покупках, которая может храниться в базе данных. Затем накопленные данные могут использоваться для построения систем поиска ассоциативных правил. 2 Кластерный анализ Кластерный анализ (англ. cluster analysis) — многомерная статистическая процедура, выполняющая сбор данных, содержащих информацию о выборке объектов, и затем упорядочивающая объекты в сравнительно однородные группы[1][2][3][4]. Задача кластеризации относится к статистической обработке, а также к широкому классу задач обучения без учителя. Большинство исследователей (см., напр., [5]) склоняются к тому, что впервые термин «кластерный анализ» (англ. cluster — гроздь, сгусток, пучок) был предложен математиком Р. Трионом[6]. Впоследствии возник ряд терминов, которые в настоящее время принято считать синонимами термина «кластерный анализ»: автоматическая классификация, ботриология. Спектр применений кластерного анализа очень широк: его используют в археологии, медицине, психологии, химии, биологии, государственном управлении, филологии, антропологии, маркетинге, социологии и других дисциплинах. Однако универсальность применения привела к появлению большого количества несовместимых терминов, методов и подходов, затрудняющих однозначное использование и непротиворечивую интерпретацию кластерного анализа. Кластерный анализ выполняет следующие основные задачи: Разработка типологии или классификации. Исследование полезных концептуальных схем группирования объектов. Порождение гипотез на основе исследования данных. Проверка гипотез или исследования для определения, действительно ли типы (группы), выделенные тем или иным способом, присутствуют в имеющихся данных. Независимо от предмета изучения применение кластерного анализа предполагает следующие этапы: Отбор выборки для кластеризации. Подразумевается, что имеет смысл кластеризовать только количественные данные. Определение множества переменных, по которым будут оцениваться объекты в выборке, то есть признакового пространства. Вычисление значений той или иной меры сходства (или различия) между объектами. Применение метода кластерного анализа для создания групп сходных объектов. Проверка достоверности результатов кластерного решения. Можно встретить описание двух фундаментальных требований предъявляемых к данным — однородность и полнота. Однородность требует, чтобы все кластеризуемые сущности были одной природы, описываться сходным набором характеристик[7]. Если кластерному анализу предшествует факторный анализ, то выборка не нуждается в «ремонте» — изложенные требования выполняются автоматически самой процедурой факторного моделирования (есть ещё одно достоинство — z-стандартизация без негативных последствий для выборки; если её проводить непосредственно для кластерного анализа, она может повлечь за собой уменьшение чёткости разделения групп). В противном случае выборку нужно корректировать. Типология задач кластеризации Типы входных данных Признаковое описание объектов. Каждый объект описывается набором своих характеристик, называемых признаками. Признаки могут быть числовыми или нечисловыми. Матрица расстояний между объектами. Каждый объект описывается расстояниями до всех остальных объектов метрического пространства. Матрица сходства между объектами[8]. Учитывается степень сходства объекта с другими объектами выборки в метрическом пространстве. Сходство здесь дополняет расстояние (различие) между объектами до 1. В современной науке применяется несколько алгоритмов обработки входных данных. Анализ путём сравнения объектов, исходя из признаков, (наиболее распространённый в биологических науках) называется Q-типом анализа, а в случае сравнения признаков, на основе объектов — R-типом анализа. Существуют попытки использования гибридных типов анализа (например, RQ-анализ), но данная методология ещё должным образом не разработана. Цели кластеризации Понимание данных путём выявления кластерной структуры. Разбиение выборки на группы схожих объектов позволяет упростить дальнейшую обработку данных и принятия решений, применяя к каждому кластеру свой метод анализа (стратегия «разделяй и властвуй»). Сжатие данных. Если исходная выборка избыточно большая, то можно сократить её, оставив по одному наиболее типичному представителю от каждого кластера. Обнаружение новизны (англ. novelty detection). Выделяются нетипичные объекты, которые не удаётся присоединить ни к одному из кластеров. В первом случае число кластеров стараются сделать поменьше. Во втором случае важнее обеспечить высокую степень сходства объектов внутри каждого кластера, а кластеров может быть сколько угодно. В третьем случае наибольший интерес представляют отдельные объекты, не вписывающиеся ни в один из кластеров. Во всех этих случаях может применяться иерархическая кластеризация, когда крупные кластеры дробятся на более мелкие, те в свою очередь дробятся ещё мельче, и т. д. Такие задачи называются задачами таксономии. Результатом таксономии является древообразная иерархическая структура. При этом каждый объект характеризуется перечислением всех кластеров, которым он принадлежит, обычно от крупного к мелкому. Методы кластеризации Общепринятой классификации методов кластеризации не существует, но можно выделить ряд групп подходов (некоторые методы можно отнести сразу к нескольким группам и потому предлагается рассматривать данную типизацию как некоторое приближение к реальной классификации методов кластеризации)[9]: 1. Вероятностный подход. Предполагается, что каждый рассматриваемый объект относится к одному из k классов. Некоторые авторы (например, А. И. Орлов) считают, что данная группа вовсе не относится к кластеризации и 2. 3. 4. 5. 6. противопоставляют её под названием «дискриминация», то есть выбор отнесения объектов к одной из известных групп (обучающих выборок). K-средних (K-means) K-medians EM-алгоритм Алгоритмы семейства FOREL Дискриминантный анализ Подходы на основе систем искусственного интеллекта: весьма условная группа, так как методов очень много и методически они весьма различны. Метод нечеткой кластеризации C-средних (C-means) Нейронная сеть Кохонена Генетический алгоритм Логический подход. Построение дендрограммы осуществляется с помощью дерева решений. Теоретико-графовый подход. Графовые алгоритмы кластеризации Иерархический подход. Предполагается наличие вложенных групп (кластеров различного порядка). Алгоритмы в свою очередь подразделяются на агломеративные (объединительные) и дивизивные (разделяющие). По количеству признаков иногда выделяют монотетические и политетические методы классификации. Иерархическая дивизивная кластеризация или таксономия. Задачи кластеризации рассматриваются в количественной таксономии. Другие методы. Не вошедшие в предыдущие группы. Статистические алгоритмы кластеризации Ансамбль кластеризаторов Алгоритмы семейства KRAB Алгоритм, основанный на методе просеивания DBSCAN и др. Подходы 4 и 5 иногда объединяют под названием структурного или геометрического подхода, обладающего большей формализованностью понятия близости[10]. Несмотря на значительные различия между перечисленными методами все они опираются на исходную «гипотезу компактности»: в пространстве объектов все близкие объекты должны относиться к одному кластеру, а все различные объекты соответственно должны находиться в различных кластерах. k-means (метод k-средних) k-means (метод k-средних) — наиболее популярный метод кластеризации. Был изобретён в 1950-х годах математиком Гуго Штейнгаузом[1] и почти одновременно Стюартом Ллойдом[2]. Особую популярность приобрёл после работы Маккуина[3]. Действие алгоритма таково, что он стремится минимизировать суммарное квадратичное отклонение точек кластеров от центров этих кластеров: где — число кластеров, центры масс векторов — полученные кластеры, . и — По аналогии с методом главных компонент центры кластеров называются также главными точками, а сам метод называется методом главных точек[4] и включается в общую теорию главных объектов, обеспечивающих наилучшую аппроксимациюданных[5]. Алгоритм представляет собой версию EM-алгоритма, применяемого также для разделения смеси гауссиан. Он разбивает множество элементов векторного пространства на заранее известное число кластеров k. Основная идея заключается в том, что на каждой итерации перевычисляется центр масс для каждого кластера, полученного на предыдущем шаге, затем векторы разбиваются на кластеры вновь в соответствии с тем, какой из новых центров оказался ближе по выбранной метрике. Алгоритм завершается, когда на какой-то итерации не происходит изменения центра масс кластеров. Это происходит за конечное число итераций, так как количество возможных разбиений конечного множества конечно, а на каждом шаге суммарное квадратичное отклонение V не увеличивается, поэтому зацикливание невозможно. Как показали Дэвид Артур и Сергей Васильвицкий, на некоторых классах множеств сложность алгоритма по времени, нужному для сходимости, равна .[6] Нейронные сети Кохонена Нейронные сети Кохонена — класс нейронных сетей, основным элементом которых является слой Кохонена. Слой Кохонена состоит из адаптивных линейных сумматоров («линейных формальных нейронов»). Как правило, выходные сигналы слоя Кохонена обрабатываются по правилу «Победитель получает всё»: наибольший сигнал превращается в единичный, остальные обращаются в ноль. По способам настройки входных весов сумматоров и по решаемым задачам различают много разновидностей сетей Кохонена[1]. Наиболее известные из них: сети векторного квантования сигналов[2], тесно связанные с простейшим базовым алгоритмом кластерного анализа (метод динамических ядер или K-средних); самоорганизующиеся карты Кохонена (англ. self-organising maps, SOM)[3]; сети векторного квантования, обучаемые с учителем (англ. learning vector quantization)[4]. Идея и алгоритм обучения Задача векторного квантования состоит, по своему существу, в наилучшей аппроксимации всей совокупности векторов данных кодовыми векторами . Самоорганизующиеся карты Кохонена также аппроксимируют данные, однако при наличии дополнительной структуры в совокупности кодовых векторов (англ. codebook). Предполагается, что априори задана некоторая симметричная таблица «мер соседства» (или «мер близости») узлов: для каждой пары ( ) определено число ( ) при этом диагональные элементы таблицы близости равны единице ( ). Векторы входных сигналов обрабатываются по одному, для каждого из них находится ближайший кодовый вектор («победитель», который «забирает всё») . После этого все кодовые векторы , для которых , пересчитываются по формуле где — шаг обучения. Соседи кодового вектора — победителя (по априорно заданной таблице близости) сдвигаются в ту же сторону, что и этот вектор, пропорционально мере близости. Чаще всего, таблица кодовых векторов представляется в виде фрагмента квадратной решётки на плоскости, а мера близости определяется, исходя из евклидового расстояния на плоскости. Самоорганизующиеся карты Кохонена служат, в первую очередь, для визуализации и первоначального («разведывательного») анализа данных[7]. Каждая точка данных отображается соответствующим кодовым вектором из решётки. Так получают представление данных на плоскости («карту данных»). На этой карте возможно отображение многих слоёв: количество данных, попадающих в узлы (то есть «плотность данных»), различные функции данных и так далее. При отображении этих слоёв полезен аппарат географических информационных систем (ГИС). В ГИС подложкой для изображения информационных слоев служит географическая карта. Карта данных является подложкой для произвольного по своей природе набора данных. Карта данных служит заменой географической карте там, где карты данных просто не существует. Принципиальное отличие в следующем: на географической карте соседние объекты обладают близкими географическими координатами, на карте данных близкие объекты обладают близкими свойствами. С помощью карты данных можно визуализировать данные, одновременно нанося на подложку сопровождающую информацию (подписи, аннотации, атрибуты, информационные раскраски)[7]. Карта служит также информационной моделью данных. С её помощью можно заполнять пробелы в данных. Эта способность используется, например, для решения задач прогнозирования. Самоорганизующиеся карты и главные многообразия[править | править викитекст] Идея самоорганизующихся карт очень привлекательна и породила массу обобщений, однако, строго говоря, мы не знаем, что мы строим: карта — это результат работы алгоритма и не имеет отдельного («объектного») определения. Есть, однако, близкая теоретическая идея — главные многообразия (англ. principal manifolds)[8]. Эти многообразия обобщают линейные главные компоненты. Они были введены как линии или поверхности, проходящие через «середину» распределения данных, с помощью условия самосогласованности: каждая точка на главном многообразии является условным математическим ожиданием тех векторов , которые проектируются на (при условии проектирования окрестности на ), , где — оператор Самоорганизующиеся карты могут рассматриваться как аппроксимации главных многообразий и популярны в этом качестве[9]. 3 Классификация и регрессия Data Mining — это процесс обнаружения в сырых данных ранее неизвестных, нетривиальных, практически полезных и доступных интерпретации знаний, необходимых для принятия решений в различных сферах человеческой деятельности. Это технология, которая предназначена для поиска в больших объемах данных неочевидных, объективных и полезных на практике закономерностей. Основателем и одним из идеологов Data Mining считается Григорий Пятецкий-Шапиро (Gregory Piatetsky-Shapiro) Современные технологии Data Mining перерабатывают информацию с целью автоматического поиска шаблонов (паттернов), характерных для каких-либо фрагментов неоднородных многомерных данных. В отличие от оперативной аналитической обработки данных (OLAP) в Data Mining бремя формулировки гипотез и выявления необычных (unexpected) шаблонов переложено с человека на компьютер. Data Mining — это не один, а совокупность большого числа различных методов обнаружения знаний. Выбор метода часто зависит от типа имеющихся данных и от того, какую информацию вы пытаетесь получить. Вот, например, некоторые методы: ассоциация (объединение), классификация, кластеризация, анализ временных рядов и прогнозирование, нейронные сети и т. д. Методы DataMining позволяют решить многие задачи, с которыми сталкивается аналитик. Из них основными являются: классификация, регрессия, поиск ассоциативных правил и кластеризация. Ниже приведено краткое описание основных задач анализа данных. 1) Задача классификации сводится к определению класса объекта по его характеристикам. Необходимо заметить, что в этой задаче множество классов, к которым может быть отнесен объект, заранее известно. 2) Задача регрессии, подобно задаче классификации, позволяет определить по известным характеристикам объекта значение некоторого его параметра. В отличие от задачи классификации значением параметра является не конечное множество классов, а множество действительных чисел. 3) Задача ассоциации. При поиске ассоциативных правил целью является нахождение частых зависимостей (или ассоциаций) между объектами или событиями. Найденные зависимости представляются в виде правил и могут быть использованы как для лучшего понимания природы анализируемых данных, так и для предсказания появления событий. 4) Задача кластеризации заключается в поиске независимых групп (кластеров) и их характеристик во всем множестве анализируемых данных. Решение этой задачи помогает лучше понять данные. Кроме того, группировка однородных объектов позволяет сократить их число, а следовательно, и облегчить анализ. 5) Последовательные шаблоны – установление закономерностей между связанными во времени событиями, т.е. обнаружение зависимости, что если произойдет событие X, то спустя заданное время произойдет событие Y. 6) Анализ отклонений – выявление наиболее нехарактерных шаблонов. Перечисленные задачи по назначению делятся на описательные и предсказательные. Описательные (descriptive) задачи уделяют внимание улучшению понимания анализируемых данных. Ключевой момент в таких моделях — легкость и прозрачность результатов для восприятия человеком. Возможно, обнаруженные закономерности будут специфической чертой именно конкретных исследуемых данных и больше нигде не встретятся, но это все равно может быть полезно и потому должно быть известно. К такому виду задач относятся кластеризация и поиск ассоциативных правил. Решение предсказательных (predictive) задач разбивается на два этапа. На первом этапе на основании набора данных с известными результатами строится модель. На втором этапе она используется для предсказания результатов на основании новых наборов данных. При этом, естественно, требуется, чтобы построенные модели работали максимально точно. К данному виду задач относят задачи классификации и регрессии. Сюда можно отнести и задачу поиска ассоциативных правил, если результаты ее решения могут быть использованы для предсказания появления некоторых событий. По способам решения задачи разделяют на supervised learning (обучение с учителем) и unsupervised learning (обучение без учителя). Такое название произошло от термина Machine Learning (машинное обучение), часто используемого в англоязычной литературе и обозначающего все технологии Data Mining. В случае supervised learning задача анализа данных решается в несколько этапов. Сначала с помощью какого-либо алгоритма Data Mining строится модель анализируемых данных – классификатор. Затем классификатор подвергается обучению. Другими словами, проверяется качество его работы и, если оно неудовлетворительно, происходит дополнительное обучение классификатора. Так продолжается до тех пор, пока не будет достигнут требуемый уровень качества или не станет ясно, что выбранный алгоритм не работает корректно с данными, либо же сами данные не имеют структуры, которую можно выявить. К этому типу задач относят задачи классификации и регрессии. Unsupervised learning объединяет задачи, выявляющие описательные модели, например закономерности в покупках, совершаемых клиентами большого магазина. Очевидно, что если эти закономерности есть, то модель должна их представить и неуместно говорить об ее обучении. Отсюда и название — unsupervised learning. Достоинством таких задач является возможность их решения без каких-либо предварительных знаний об анализируемых данных. К ним относятся кластеризация и поиск ассоциативных правил. При анализе часто требуется определить, к какому из известных классов относятся исследуемые объекты, т. е. классифицировать их. Например, когда человек обращается в банк за предоставлением ему кредита, банковский служащий должен принять решение: кредитоспособен ли потенциальный клиент или нет. Очевидно, что такое решение принимается на основании данных об исследуемом объекте (в данном случае — человеке): его месте работы, размере заработной платы, возрасте, составе семьи и т. п. В результате анализа этой информации банковский служащий должен отнести человека к одному из двух известных классов «кредитоспособен» и «некредитоспособен». Другим примером задачи классификации является фильтрация электронной почты. В этом случае программа фильтрации должна классифицировать входящее сообщение как спам (нежелательная электронная почта) или как письмо. Данное решение принимается на основании частоты появления в сообщении определенных слов (например, имени получателя, безличного обращения, слов и словосочетаний: приобрести, «заработать», «выгодное предложение» и т. п.). В общем случае количество классов в задачах классификации может быть более двух. Например, в задаче распознавания образа цифр таких классов может быть 10 (по количеству цифр в десятичной системе счисления). В такой задаче объектом классификации является матрица пикселов, представляющая образ распознаваемой цифры. При этом цвет каждого пиксела является характеристикой анализируемого объекта. В Data Mining задачу классификации рассматривают как задачу определения ‘значения одного из параметров анализируемого объекта на основании значений других параметров. Определяемый параметр часто называют зависимой переменной, а параметры, участвующие в его определении — независимыми переменными. Задача классификации и регрессии решается в два этапа. На первом выделяется обучающая выборка. В нее входят объекты, для которых известны значения как независимых, так и зависимых переменных. В описанных ранее примерах такими обучающими выборками могут быть: – информация о клиентах, которым ранее выдавались кредиты на разные суммы, и информация об их погашении; – сообщения, классифицированные вручную как спам или как письмо; – распознанные ранее матрицы образов цифр. На основании обучающей выборки строится модель определения значения зависимой переменной. Ее часто называют функцией классификации или регрессии. Для получения максимально точной функции к обучающей выборке предъявляются следующие основные требования: – количество объектов, входящих в выборку, должно быть достаточно большим. Чем больше объектов, тем построенная на ее основе функция классификации или регрессии будет точнее; – в выборку должны входить объекты, представляющие все возможные классы в случае задачи классификации или всю область значений в случае задачи регрессии; – для каждого класса в задаче классификации или каждого интервала области значений в задаче регрессии выборка должна содержать достаточное количество объектов. На втором этапе построенную модель применяют к анализируемым объектам (к объектам с неопределенным значением зависимой переменной). Задача классификации и регрессии имеет геометрическую интерпретацию. Рассмотрим ее на примере с двумя независимыми переменными, что позволит представить ее в двумерном пространстве (рис. 2.1.1). Каждому объекту ставится в соответствие точка на плоскости. Символы «+» и «-» обозначают принадлежность объекта к одному из двух классов. Очевидно, что данные имеют четко выраженную структуру: все точки класса «+» сосредоточены в центральной области. Построение классификационной функции сводится к построению поверхности, которая обводит центральную область. Она определяется как функция, имеющая значения «+» внутри обведенной области и «-» — вне. Как видно из рисунка 1, есть несколько возможностей для построения обводящей области. Вид функции зависит от применяемого алгоритма. Основные проблемы, с которыми сталкиваются при решении задач классификации и регрессии, — это неудовлетворительное качество исходных данных, в которых встречаются как ошибочные данные, так и пропущенные значения, различные типы атрибутов — числовые и категорические, разная значимость атрибутов, а также так называемые проблемы overfitting и underfilling. Рис. 1 Классификация в двумерном пространстве Суть первой из них заключается в том, что классификационная функция при построении «слишком хорошо» адаптируется к данным, и встречающиеся в них ошибки и аномальные значения пытается интерпретировать как часть внутренней структуры данных. Очевидно, что такая модель будет некорректно работать в дальнейшем с другими данными, где характер ошибок будет несколько иной. Термином underfitting обозначают ситуацию, когда слишком велико количество ошибок при проверке классификатора на обучающем множестве. Это означает, что особых закономерностей в данных не было обнаружено и либо их нет вообще, либо необходимо выбрать иной метод их обнаружения. 3 Понятие информация, данных, знания Информация (от лат. informatio, разъяснение, изложение, осведомленность) — сведения о чем-либо, независимо от формы их представления. Информация — это: – данные, определенным образом организованные, имеющие смысл, значение и ценность для своего потребителя и необходимая для принятия им решений, а также для реализации других функций и действий; – совокупность знаний о фактических данных и зависимостях между ними, являющихся одним из видов ресурсов, используемых человеком в трудовой деятельности и быту; – сведения о лицах, предметах, фактах, событиях, явлениях и процессах независимо от формы представления; – сведения, неизвестные до их получения; – значение, приписанное данным; – средство и форма передачи знаний и опыта, сокращающая неопределенность и случайность и неосведомленность; – обобщенный термин, относящийся к любым сигналам, звукам, знакам и т.д., которые могут передаваться, приниматься, записываться и/или храниться Характерными чертами информации являются следующие: – это наиболее важный ресурс современного производства: он снижает потребность в земле, труде, капитале, уменьшает расход сырья и энергии; – вызывает к жизни новые производства; – является товаром, причем продавец информации ее не теряет после продажи; – придает дополнительную ценность другим ресурсам, в частности, трудовым. Действительно, работник с высшим образованием ценится больше, чем со средним; – информация может накапливаться. Известны также следующие трактовки понятия «данные». Данные это: – факты, цифры, и другие сведения о реальных и абстрактных лицах, предметах, объектах, явлениях и событиях, соответствующих определенной предметной области, представленные в цифровом, символьном, графическом, звуковом и любом другом формате; – информация, представленная в виде, пригодном для ее передачи и обработки автоматическими средствами, при возможном участии автоматизированными средствами с человеком; – фактический материал, представленный в виде информации, чисел, символов или букв, используемый для описания личностей, объектов, ситуаций или других понятий с целью последующего анализа, обсуждения или принятия соответствующих решений. Из всего многообразия подходов к определению понятия «данные» на наш взгляд справедливо то, которое говорит о том, что данные несут в себе информацию о событиях, произошедших в материальном мире, поскольку они являются регистрацией сигналов, возникших в результате этих событий. Однако данные не тождественны информации. Станут ли данные информацией, зависит от того, известен ли метод преобразования данных в известные понятия. То есть, чтобы извлечь из данных информацию необходимо подобрать соответствующий форме данных адекватный метод получения информации. Данные, составляющие информацию, имеют свойства, однозначно определяющие адекватный метод получения этой информации. Причем необходимо учитывать тот факт, что информация не является статичным объектом — она динамически меняется и существует только в момент взаимодействия данных и методов. Все прочее время она пребывает в состоянии данных. Информация существует только в момент протекания информационного процесса. Все остальное время она содержится в виде данных. Одни и те же данные могут в момент потребления представлять разную информацию в зависимости от степени адекватности взаимодействующих с ними методов. По своей природе данные являются объективными, так как это результат регистрации объективно существующих сигналах, вызванных изменениями в материальных телах или полях. Методы являются субъективными. В основе искусственных методов лежат алгоритмы (упорядоченные последовательности команд), составленные и подготовленные людьми (субъектами). В основе естественных методов лежат биологические свойства субъектов информационного процесса. Таким образом, информация возникает и существует в момент диалектического взаимодействия объективных данных и субъективных методов. Переходя к рассмотрению подходов к определению понятия «знания» можно выделить следующие трактовки. Знания — это: – вид информации, отражающей знания, опыт и восприятие человека -специалиста (эксперта) в определенной предметной области; – множество всех текущих ситуаций в объектах данного типа и способы перехода от одного описания объекта к другому; – осознание и толкование определенной информации, с учетом путей наилучшего ее использования для достижения конкретных целей, характеристиками знаний являются: внутренняя интерпретируемость, структурируемость, связанность и активность. . Основываясь на приведенных выше трактовках рассматриваемых понятий, можно констатировать тот факт, что знание — это информация, но не всякая информация — знание. Информация выступает как знания, отчужденные от его носителей и обобществленные для всеобщего пользования. Другими словами, информация — это превращенная форма знаний, обеспечивающая их распространение и социальное функционирование. Получая информацию, пользователь превращает ее путем интеллектуального усвоения в свои личностные знания. Здесь мы имеем дело с так называемыми информационно-когнитивными процессами, связанными с представлением личностных знаний в виде информации и воссозданием этих знаний на основе информации Таким образом, учитывая вышеизложенное, можно сделать вывод, что фиксируемые воспринимаемые факты окружающего мира представляют собойданные. При использовании данных в процессе решения конкретных задач — появляется информация. Результаты решения задач, истинная, проверенная информация (сведения), обобщенная в виде законов, теорий, совокупностей взглядов и представлений представляет собой знания 13 Технология и методы обработки экономической информации Сбор, хранение, обработка, передача информации в числовой форме осуществляется с помощью информационных технологий. Особенностью информационных технологий является то, что в них и предметом и продуктом труда является информация, а орудиями труда – средства вычислительной техники и связи. Основная цель информационных технологий — производство необходимой пользователю информации в результате целенаправленных действий по ее переработке. Технология автоматизированной обработки экономической информации строится на следующих принципах: • интеграции обработки данных и возможности работы пользователей в условиях эксплуатации автоматизированных систем централизованного хранения и коллективного использования данных (банков данных); • распределенной обработки данных на базе развитых систем передачи; • рационального сочетания централизованного и децентрализованного управления и организации вычислительных систем; • моделирования и формализованного описания данных, процедур их преобразования, функций и рабочих мест исполнителей; • учета конкретных особенностей объекта, в котором реализуется машинная обработка экономической информации. Обработка экономической информации предполагает выполнение логических и арифметических операций над исходными данными. Логическая обработка включает операции сортировки (подбор, упорядочение, объединение), выборку данных из информационной базы и т.п. Арифметические операции – алгебраическое сложение, деление, умножение и т.д. Системы обработки финансово-экономической информации служат для обработки числовых данных, характеризующих различные производственно-экономические и финансовые явления и объекты, а также для составления соответствующих управленческих документов и информационно-аналитических материалов. Они включают: универсальные табличные процессоры (Microsoft Excel); специализированные бухгалтерские программы («1С: Бухгалтерия»); специализированные банковские программы (для внутрибанковских и межбанковских расчетов); специализированные программы финансово-экономического анализа и планирования и др. При поиске решений в экономической сфере используются следующие методы обработки и анализа информации: 1. Эвристические — используются когда информации недостаточно и нельзя точно очертить границы применения формализованных методов, оценить допуск ошибки: – метод коллективного блокнота; – мозговой штурм; – приём синектики; – кейс-метод; 2. Традиционные методы: – метод сравнения; – метод относительных и сравнительных величин; – графический метод; – метод группировки. 3. Способ детерминированных факторов: – способ цепных подстановок; – способ абсолютных разниц; – способ относительных разниц; 4. Способы стохастического факторного анализа – корелляционно-регрессионный анализ; – дисперсионный анализ; – компонентный анализ; – многомерный факторный анализ. 5. Способы оптимизированных показателей – экономико-математические методы; – программирование; – теория массового обследования; – теория игр; – исследование операций. С учётом сферы применения в экономике выделяют: – банковские информационные системы; – информационные системы фондового рынка; – страховые информационные системы; – налоговые информационные системы; – информационные системы промышленных предприятий и организаций (бухгалтерские и иные информационные системы); – статистические информационные системы и др. К видам экономических задач относят: – учётно-операционные работы (в т.ч. учёт труда, зарплаты, материалов и пр.), – расчёт нормативов, межбанковские расчёты, – прогнозно-аналитические работы, – лизинг, – обслуживание клиентов, в т.ч. с помощью пластиковых карт. 23 Мультимедийные технологии Технология мультимедиа (лат. multi – «много», media – «среда») – способ представления информации в компьютере с возможностью одновременного использования текста, графики, звука, видео и анимационных эффектов. Мультимедийные технологии — это совокупность современных средств аудио- теле-, визуальных и виртуальных коммуникаций, используемых в процессе организации, планирования и управления различных видов деятельности. Средства мультимедиа позволяют создавать базы, банки данных и знаний в сфере культуры, науки и производства. Такие продукты всё более завоёвывают рынок пользователей. Мультимедиа технологии широко используются в рекламной деятельности, при организации управления маркетингом средств и методов продвижения товаров и услуг, в обучении и досуговой деятельности. К компьютерным средствам мультимедиа относят: специальное ПО, а также: CD и DVD драйверы и компакт-диски к ним; аудиокарты, аудио колонки, наушники и микрофоны; видеокарты; аудио- и видео периферийные устройства (цифровые кинокамеры и фотоаппараты и др.). Технология мультимедиа позволяет вводить, сохранять, перерабатывать и воспроизводить текстовую, аудиовизуальную, графическую, трёхмерную и иную информацию. Свойство интегрировать эти виды данных, компактно и длительно хранить их на электронных носителях, не разрушающихся со временем и не ухудшающих свои характеристики при копировании, позволяет утверждать, что они могут отражать богатейшие национальные богатства России в мультимедийных БД, которые вместе с системами гипертекста, гипермедиа и WWW обеспечат пользователям почти моментальный доступ к любому их фрагменту. Организации и подразделения, обладающие информационными ресурсами и средствами мультимедиа, использующими мультимедийные технологии порой называют медиатеками. В России медиатеки находят широкое распространение в библиотеках и учебных заведениях. В этом случае считается, что медиатека – хранилище информационных медиаресурсов. Технические средства мультимедиа, как и любые компьютерные информационные системы, позволяют выполнять все виды информационных процессов. 23 Управление проектами в Microsoft Project Управление проектами (проектный менеджмент — project management)- это планирование, координация и контроль работ по проекту для достижения его целей в рамках установленного бюджета и сроков, с надлежащим качеством. К достаточно распространенным и поддерживаемым на российском рынке программным продуктам относятся «большие» мультипроектные профессиональные системы — PrimaVera Planner , Open Plan Professional и более «скромные» — Microsoft Project , Sure Track Manager. Наиболее популярна на сегодняшний день в мире программа управления проектами MS Project. Microsoft Project стал фактически стандартом среди средств автоматизации индивидуальной работы менеджеров проектов. Свою популярность он заслужил благодаря удачному сочетанию простоты использования, дружеского интерфейса и наиболее необходимых инструментов управления проектами. Microsoft Project рассчитан, в первую очередь, на пользователей, которые не являются профессионалами в управлении проектами. Таким образом, его можно отнести к «непрофессиональным системам» управления проектами. с другой стороны, с помощью Microsoft Project можно управлять проектами со значительным количеством работ и ресурсов. Microsoft Project входит в семейство Microsoft Office, что подтверждается следующими его свойствами: построение интерфейса и справочной системы на единственных с Microsoft Office принципах; возможность сохранения данных проектов в базе данных Access; двусторонний обмен данными с Outlook; Среди преимуществ Microsoft Project также можно назвать усовершенствованные средства групповой работы, что позволяют одному менеджеру одновременно управлять несколькими проектами с большим числом участников. По мнению Gartner Group, Microsoft Project – лучший выбор для организаций, где используется матричная схема управления, то есть проектные команды допускают взаимодействие сотрудников из разных департаментов. К недостаткам системы можно отнести ограниченные средства управления бюджетом и отсутствие средств для управления рисками проекта. Для расширения функциональности системы разработанные дополнительные модули, доступные для бесплатной загрузки через Internet. Кроме того, существует web-сервис Microsoft ProjectCentral.com, предназначенный для организации совместной работы над проектами для групп, распределенных территориально. ProjectCentral.com предоставляет членам рабочей группы и всем заинтересованным лицам веб-страницы для работы с информацией проекта. 43 Статистические пакеты Потребность в средствах статистического анализа данных очень велика, что и послужило причиной для развития рынка статистических программ. Наилучший выбор статистического пакета для анализа данных зависит от характера решаемых задач, объема обрабатываемых данных, квалификации пользователей, имеющегося оборудования. Число статистических пакетов, получивших распространение в России, достаточно велико (несколько десятков). Из зарубежных пакетов этоSTATGRAPHICS, SYSTAT, STATISTICA, SPSS, SAS, CSS. Из отечественных можно назвать такие пакеты, как STADIA, ЭВРИСТА, МЕЗОЗАВР, САНИ, КЛАСС-МАСТЕР, СТАТЭксперт и др. Для пользователей, имеющих дело со сверхбольшими объемами данных или узкоспециальными методами анализа, пока нет альтернативы использованию профессиональных западных пакетов. Среди интерактивных пакетов такого рода наибольшими возможностями обладает пакетSAS. Если Вам необходимо обработать данные умеренных объемов (несколько сотен или тысяч наблюдений) стандартными статистическими методами, подойдет универсальный или специальный статистический пакет, надо только убедиться, что он содержит нужные методы обработки. Пакеты STADIA и STATISTICA являются универсальными пакетами, содержащими большинство стандартных статистических методов. Пакеты SPSS и SyStat перенесены на персональные компьютеры с больших ЭВМ предыдущих поколений, поэтому, наряду с представительным набором тщательно реализованных вычислительных методов, они сохраняют и некоторые архаические элементы. Однако имеющиеся в них возможности командного языка (впрочем, очень непростые в изучении и использовании) могут быть весьма полезны для сложных задач обработки данных. Пакеты STADIA и STATISTICA исходно разработаны для ПЭВМ, а поэтому проще в обращении. Эти пакеты, пожалуй, содержат наибольшее количество методов статистического анализа. STATISTICA — это универсальная интегрированная система, предназначенная для статистического анализа, визуализации данных и разработки пользовательских приложений. Программа содержит широкий набор процедур анализа для применения в научных исследованиях, технике, бизнесе. Помимо общих статистических и графических средств в системе имеются специализированные модули, например, для проведения социологических или биомедицинских исследований, решения технических и промышленных задач: карты контроля качества, анализ процессов и планирование эксперимента. Универсальный российский статистический пакет STADIA — за 15 лет существования и развития стал аналитическим инструментом для многих тысяч пользователей в различных областях науки, техники, планирования, управления, производства, сельского хозяйства, экономики, бизнеса, маркетинга, образования, медицины по всей русскоязычной Евразии. По своим базовым возможностям сопоставим с наиболее известными западными статистическими пакетами. Отличается простотой использования применительно к отечественной аудитории. Следует обратить внимание на удивительную компактность пакета STADIA: он требует в несколько раз меньше места на диске, чем его конкуренты, и при этом не уступает, а часто и превосходит их по своим функциональным возможностям. Простая линейная регрессия В предыдущих заметках предметом анализа часто становилась отдельная числовая переменная, например, доходность взаимных фондов, время загрузки Web-страницы или объем потребления безалкогольных напитков. В настоящей и следующих заметках мы рассмотрим методы предсказания значений числовой переменной в зависимости от значений одной или нескольких других числовых переменных.1 Материал будет проиллюстрирован сквозным примером. Прогнозирование объема продаж в магазине одежды. Сеть магазинов уцененной одежды Sunflowers на протяжении 25 лет постоянно расширялась. Однако в настоящее время у компании нет систематического подхода к выбору новых торговых точек. Место, в котором компания собирается открыть новый магазин, определяется на основе субъективных соображений. Критериями выбора являются выгодные условия аренды или представления менеджера об идеальном местоположении магазина. Представьте, что вы — руководитель отдела специальных проектов и планирования. Вам поручили разработать стратегический план открытия новых магазинов. Этот план должен содержать прогноз годового объема продаж во вновь открываемых магазинах. Вы полагаете, что торговая площадь непосредственно связана с объемом выручки, и хотите учесть этот факт в процессе принятия решения. Как разработать статистическую модель, позволяющую прогнозировать годовой объем продаж на основе размера нового магазина? Как правило, для предсказания значений переменной используется регрессионный анализ. Его цель — разработать статистическую модель, позволяющую предсказывать значения зависимой переменной, или отклика, по значениям, по крайней мере одной, независимой, или объясняющей, переменной. В настоящей заметке мы рассмотрим простую линейную регрессию — статистический метод, позволяющий предсказывать значения зависимой переменной Y по значениям независимой переменной X. В последующих заметках будет описана модель множественной регрессии, предназначенная для предсказания значений независимой переменной Y по значениям нескольких зависимых переменных (Х1, Х2, …, Xk).2 Виды регрессионных моделей 1 2 Используются материалы книги Левин и др. Статистика для менеджеров. – М.: Вильямс, 2004. – с. 792–872 Если зависимая переменная является категорийной, необходимо применять логистическую регрессию. В заметке Представление числовых данных в виде таблиц и диаграмм для иллюстрации зависимости между переменными X и Y использовалась диаграмма разброса. На ней значения переменной X откладывались по горизонтальной оси, а значения переменной Y — по вертикальной. Зависимость между двумя переменными может быть разной: от самой простой до крайне сложной. Пример простейшей (линейной) зависимости показан на рис. 1. Рис. 1. Положительная линейная зависимость Простая линейная регрессия: (1) Yi = β0 + β1Xi + εi где β0 — сдвиг (длина отрезка, отсекаемого на координатной оси прямой Y), β1 — наклон прямой Y, εi — случайная ошибка переменной Y в i-м наблюдении. В этой модели наклон β1 представляет собой количество единиц измерения переменной Y, приходящихся на одну единицу измерения переменной X. Эта величина характеризует среднюю величину изменения переменной Y (положительного или отрицательного) на заданном отрезке оси X. Сдвиг β0 представляет собой среднее значение переменной Y, когда переменная X равна 0. Последний компонент модели εi является случайной ошибкой переменной Y в i-м наблюдении. Выбор подходящей математической модели зависит от распределения значений переменных X и Y на диаграмме разброса. Различные виды зависимости переменных показаны на рис. 2. Рис. 2. Диаграммы разброса, иллюстрирующие разные виды зависимостей На панели А значения переменной Y почти линейно возрастают с увеличением переменной X. Этот рисунок аналогичен рис. 1, иллюстрирующему положительную зависимость между размером магазина (в квадратных футах) и годовым объемом продаж. Панель Б является примером отрицательной линейной зависимости. Если переменная X возрастает, переменная Y в целом убывает. Примером этой зависимости является связь между стоимостью конкретного товара и объемом продаж. На панели В показан набор данных, в котором переменные X и Y практически не зависят друг от друга. Каждому значению переменной X соответствуют как большие, так и малые значения переменной Y. Данные, приведенные на панели Г, демонстрируют криволинейную зависимость между переменными X и Y. Значения переменной Y возрастают при увеличении переменной X, однако скорость роста после определенных значений переменной X падает. Примером положительной криволинейной зависимости является связь между возрастом и стоимостью обслуживания автомобилей. По мере старения машины стоимость ее обслуживания сначала резко возрастает, однако после определенного уровня стабилизируется. Панель Д демонстрирует параболическую U-образную форму зависимости между переменными X и Y. По мере увеличения значений переменной X значения переменной Y сначала убывают, а затем возрастают. Примером такой зависимости является связь между количеством ошибок, совершенных за час работы, и количеством отработанных часов. Сначала работник осваивается и делает много ошибок, потом привыкает, и количество ошибок уменьшается, однако после определенного момента он начинает чувствовать усталость, и число ошибок увеличивается. На панели Е показана экспоненциальная зависимость между переменными X и Y. В этом случае переменная Y сначала очень быстро убывает при возрастании переменной X, однако скорость этого убывания постепенно падает. Например, стоимость автомобиля при перепродаже экспоненциально зависит от его возраста. Если перепродавать автомобиль в течение первого года, его цена резко падает, однако впоследствии ее падение постепенно замедляется. Мы кратко рассмотрели основные модели, которые позволяют формализовать зависимости между двумя переменными. Несмотря на то что диаграмма разброса чрезвычайно полезна при выборе математической модели зависимости, существуют более сложные и точные статистические процедуры, позволяющие описать отношения между переменными. В дальнейшем мы будем рассматривать лишь линейную зависимость. Вывод уравнения простой линейной регрессии Вернемся к сценарию, изложенному в начале главы. Наша цель — предсказать объем годовых продаж для всех новых магазинов, зная их размеры. Для оценки зависимости между размером магазина (в квадратных футах) и объемом его годовых продаж создадим выборки из 14 магазинов (рис. 3). Рис. 3. Площади и годовые объемы продаж 14 магазинов сети Sunflowers: (а) исходные данные; (б) диаграмма разброса Анализ рис. 3 показывает, что между площадью магазина X и годовым объемом продаж Y существует положительная зависимость. Если площадь магазина увеличивается, объем продаж возрастает почти линейно. Таким образом, наиболее подходящей для исследования является линейная модель. Остается лишь определить, какая из линейных моделей точнее остальных описывает зависимость между анализируемыми переменными. Множественная линейная регрессия Задачей множественной линейной регрессии является построение линейной модели связи между набором непрерывных предикторов и непрерывной зависимой переменной. Часто используется следующее регрессионное уравнение: (1) Здесь аi - регрессионные коэффициенты, b0 - свободный член(если он используется), е член, содержащий ошибку - по поводу него делаются различные предположения, которые, однако, чаще сводятся к нормальности распределения с нулевым вектором мат. ожидания и корреляционной матрицей . Такой линейной моделью хорошо описываются многие задачи в различных предметных областях, например, экономике, промышленности, медицине. Это происходит потому, что некоторые задачи линейны по своей природе. Приведем простой пример. Пусть требуется предсказать стоимость прокладки дороги по известным ее параметрам. При этом у нас есть данные о уже проложенных дорогах с указанием протяженности, глубины обсыпки, количества рабочего материала, числе рабочих и так далее. Ясно, что стоимость дороги в итоге станет равной сумме стоимостей всех этих факторов в отдельности. Потребуется некоторое количество, например, щебня, с известной стоимостью за тонну, некоторое количество асфальта также с известной стоимостью. Возможно, для прокладки придется вырубать лес, что также приведет к дополнительным затратам. Все это вместе даст стоимость создания дороги. При этом в модель войдет свободный член, который, например, будет отвечать за организационные расходы (которые примерно одинаковы для всех строительномонтажных работ данного уровня) или налоговые отчисления. Ошибка будет включать в себя факторы, которые мы не учли при построении модели (например, погоду при строительстве - ее вообще учесть невозможно). Пример: множественный регрессионный анализ Для этого примера будут анализироваться несколько возможных корреляций уровня бедности и степень, которая предсказывает процент семей, находящихся за чертой бедности. Следовательно мы будем считать переменную характерезующую процент семей, находящихся за чертой бедности, - зависимой переменной, а остальные переменные непрерывными предикторами. Коэффициенты регрессии Чтобы узнать, какая из независимых переменных делает больший вклад в предсказание уровня бедности, изучим стандартизованные коэффициенты (или Бета) регрессии. Рис. 1. Оценки параметров коэффициентов регрессии. Коэффициенты Бета это коэффициенты, которые вы бы получили, если бы привели все переменные к среднему 0 и стандартному отклонению 1. Следовательно величина этих Бета коэффициентов позволяет сравнивать относительный вклад каждой независимой переменной в зависимую переменную. Как видно из Таблицы, показанной выше, переменные изменения населения с 1960 года (POP_ CHING), процент населения, проживающего в деревне (PT_RURAL) и число людей, занятых в сельском хозяйстве (N_Empld) являются самыми главными предикторами уровня бедности, т.к. только они статистически значимы (их 95% доверительный интервал не включает в себя 0). Коэффициент регрессии изменения населения с 1960 года (Pop_Chng) отрицательный, следовательно, чем меньше возрастает численность населения, тем больше семей, которые живут за чертой бедности в соответствующем округе. Коэффициент регрессии для населения (%), проживающего в деревне (Pt_Rural) положительный, т.е., чем больше процент сельских жителей, тем больше уровень бедности. Значимость эффектов предиктора Просмотрим Таблицу с критериями значимости. Рис. 2. Одновременные результаты для каждой заданной переменной. Как показывает эта Таблица, статистически значимы только эффекты 2 переменных: изменение населения с 1960 года (Pop_Chng) и процент населения, проживающего в деревне (Pt_Rural), p < .05. Анализ остатков. После подгонки уравнения регрессии, почти всегда нужно проверять предсказанные значения и остатки. Например, большие выбросы могут сильно исказить результаты и привести к ошибочным выводам. Построчный график выбросов Обычно необходимо проверять исходные или стандартизованные остатки на большие выбросы. Рис. 3. Номера наблюдений и остатки. Шкала вертикальной оси этого графика отложена по величине сигма, т.е., стандартного отклонения остатков. Если одно или несколько наблюдений не попадают в интервал ± 3 умноженное на сигма, то, возможно, стоит исключить эти наблюдения (это можно легко сделать через условия выбора наблюдений) и еще раз запустить анализ, чтобы убедится, что результаты не изменяются этими выбросами. Логистическая регрессия Линейная регрессионная модель не всегда способна качественно предсказывать значения зависимой переменной. Выбирая для построения модели линейное уравнение, мы естественным образом не накладываем никаких ограничений на значения зависимой переменной. А такие ограничения могут быть существенными. Например, при проектировании оптимальной длины шахты лифта в новом здании необходимо учесть, что эта длина не может превышать высоту здания вообще. Линейная регрессионная модель может дать результаты, несовместимые с реальностью. С целью решения данных проблем полезно изменить вид уравнения регрессии и подстроить его для решения конкретной задачи. Вообще, логит регрессионная модель предназначена для решения задач предсказания значения непрерывной зависимой переменной, при условии, что эта зависимая переменная может принимать значения на интервале от 0 до 1. В силу такой специфики, ее часто используют для предсказания вероятности наступления некоторого события в зависимости от значений некоторого числа предикторов. Можно использовать логит регрессию и для решения задач с бинарным откликом. Такие задачи появляются, когда зависимая переменная может принимать только два значения. Приведем конкретный пример. Пусть требуется предсказать эффективность операции по пересадке сердца. Такие операции очень сложны и результата от их проведения может быть только два- пациент жив или умер (точнее, пережил ли он месяц после трансплантации - этот срок является определяющим). В качестве предикторов используются данные предоперационного обследования и клинические параметры, например, возраст, уровень холестерина в крови, давление, группа крови и т.д. Задача свелась к классификации пациентов на две группы. Для первой группы прогноз положительный, для второй - отрицательный. Решение подобной задачи может повлиять на принятие решения о проведении операции - стоит ли вообще проводить пересадку, если вероятность пережить месяц после трансплантации для пациента невелика? Математическая основа логистической регрессии Итак, как уже было сказано, в логит регрессионной модели предсказанные значения зависимой переменной или переменной отклика не могут быть меньше (или равными) 0, или больше (или равными) 1, не зависимо от значений независимых переменных; поэтому, эта модель часто используется для анализа бинарных зависимых переменных или переменных отклика. При этом используется следующее уравнение регреcсии (термин логит был впервые использован Berkson, 1944): y=exp(b0+b1*x1+...+bn*xn)/[1+exp(b0+b1*x1+...+bn*xn)] Легко увидеть, что независимо от регрессионных коэффициентов или величин х, предсказанные значения (у) в этой модели всегда будут лежать в диапазоне от 0 до 1. Термин логит произошел от того, что эту модель легко линеаризовать с помощью логит преобразования. Предположим, что бинарная зависимая переменная y является непрерывной вероятностью p, лежащей в диапазоне от 0 до 1. Тогда можно преобразовать эту вероятность p следующим образом: p' = loge {p/(1-p)} Это преобразование называется логит или логистическим преобразованием. Заметим, что p' теоретически может принимать любые значения от минус до плюс бесконечности. Поскольку логит преобразование решает проблему 0/1 границ для исходной зависимой переменной (вероятности), то можно использовать эти (логит преобразованные) значения в обычном линейном уравнении регресии. Фактически, при проведении логит преобразования обеих частей логит регрессионного уравнения, приведенного выше, мы получим стандартную линейную модель множественной регрессии: p' = b0+ b1*x1+ b2*x2+ ... + bn*xn Подобное уравнение нам уже знакомо. Решив его, мы получим значения регрессионных коэффициентов, по которым затем можно восстановить вероятность р. Особенности логит регрессии Однако, применение логистического преобразования к уравнению логит регрессии порождает определенные проблемы. При решении задачи линейной регрессии мы подгоняли к наблюдаемым значениям некоторую гиперповерхность - прямую в случае простой регрессии, плоскость - в случае двух независимых переменных. Также мы требуем нормальность и некоррелированность ошибок. При переходе к уравнению логит регрессии подгоняемая поверхность уже не будет иметь такой простой вид. Также, нас не спасет уже и нормальность ошибок. Все это делает невозможным использования методов оценивания, применяемых для линейных задач. Например, в случае одной независимой переменной для простой регрессии применялся известный метод наименьших квадратов. В случае простой логит регрессии такой метод уже неприменим. Неприменимыми являются и подобные методы для решения задач с большим числом предикторов. Поэтому для решения задач логит регрессии используется только метод максимального правдоподобия. Вкратце, процесс оценки регрессионных коэффициентов сводится к максимизации вероятности появления конкретной выборки (при заданных наблюдаемых значениях). Это приводит к часто невысокому проценту корректной классификации. Логит регрессия также слабо устойчива к излишней подгонке. Множественная логистическая регрессия. В общем виде рассматривают множественную логистическую регрессию для описания дискретной зависимой переменной с конечным числом (2 и более) значений. Множественная логистическая регрессия представляет дискретную переменную Y, имеющую G (G ≥ 2) значений {Y1, Y2,…,YG} через набор из р независимых переменных X1, X2, …, Xp. Заметим, что при применении логистической регрессии не предполагается какое-либо упорядочение значений зависимой переменной, Y используется как номинальная переменная. Одно из ее значений используется для определения базовой или референтной группы, а все остальные выступают равноправно как метки опытных или исследуемых групп. Разница между множественной логистической регрессией и логистической регрессией для бинарного отклика – чисто техническая, определяемая числом групп G. Однако в тех случаях, когда исследователь может выбирать между применением нескольких бинарных и полиномиальной зависимой переменной, следует остановить свой выбор именно на бинарных переменных, поскольку интерпретация полученных результатов будет проще. В частности, независимые переменные, необходимые для описания одной группы, могут оказаться излишними при описании другой. А при использовании множественной логистической регрессии они все должны быть включены в уравнения. Обозначим набор независимых переменных Х = (Х1, Х2, … , Хр), а набор соответствующих всем значениям зависимой переменной параметров β обозначим Если для бинарной зависимой переменной логистическая модель задается одним уравнением, то в общем случае для этого требуется G-1 уравнение - по количеству значений зависимой переменной минус 1 – из-за использования одной из групп, обычно первой, в качестве референтной. Необходимость референтной группы связана с тем, что логистическая модель описывает не вероятности, а отношения вероятностей принадлежности к группам: (5.6) pg – это вероятность того, что наблюдение, для которого независимые переменные имеют значения X1, X2, …, Xp, относится к группе g, т.е. зависимая переменная Y принимает значение Yg pg = Prob(Y = Yg | X) Обычно в модель включено пересечение, или свободный член, но это не обязательно. Величины Р1, Р2, … , РG - это априорные вероятности групп. Референтной (reference) называется первая по порядку группа в уравнениях. Выбор референтной группы произвольный, но осмысленный. Обычно это наибольшая группа или контрольная группа, с которой сравниваются все остальные группы. {βij} – это множество регрессионных коэффициентов (неизвестных), которые требуется оценить по имеющимся данным. Эти оценки обозначаются {bij}. Оценки максимального правдоподобия параметров {βij} получаются с помощью нахождения точки экстремума логарифма отношения правдоподобия. Формулы приведены в Приложении. Там же описаны основные статистики, применяемые для оценки результатов применения логистической регрессии. 4 Классификация и регрессия. Машинное обучение Data Mining — это процесс обнаружения в сырых данных ранее неизвестных, нетривиальных, практически полезных и доступных интерпретации знаний, необходимых для принятия решений в различных сферах человеческой деятельности. Это технология, которая предназначена для поиска в больших объемах данных неочевидных, объективных и полезных на практике закономерностей. Основателем и одним из идеологов Data Mining считается Григорий Пятецкий-Шапиро (Gregory Piatetsky-Shapiro) Современные технологии Data Mining перерабатывают информацию с целью автоматического поиска шаблонов (паттернов), характерных для каких-либо фрагментов неоднородных многомерных данных. В отличие от оперативной аналитической обработки данных (OLAP) в Data Mining бремя формулировки гипотез и выявления необычных (unexpected) шаблонов переложено с человека на компьютер. Data Mining — это не один, а совокупность большого числа различных методов обнаружения знаний. Выбор метода часто зависит от типа имеющихся данных и от того, какую информацию вы пытаетесь получить. Вот, например, некоторые методы: ассоциация (объединение), классификация, кластеризация, анализ временных рядов и прогнозирование, нейронные сети и т. д. Методы DataMining позволяют решить многие задачи, с которыми сталкивается аналитик. Из них основными являются: классификация, регрессия, поиск ассоциативных правил и кластеризация. Ниже приведено краткое описание основных задач анализа данных. 1) Задача классификации сводится к определению класса объекта по его характеристикам. Необходимо заметить, что в этой задаче множество классов, к которым может быть отнесен объект, заранее известно. 2) Задача регрессии, подобно задаче классификации, позволяет определить по известным характеристикам объекта значение некоторого его параметра. В отличие от задачи классификации значением параметра является не конечное множество классов, а множество действительных чисел. 3) Задача ассоциации. При поиске ассоциативных правил целью является нахождение частых зависимостей (или ассоциаций) между объектами или событиями. Найденные зависимости представляются в виде правил и могут быть использованы как для лучшего понимания природы анализируемых данных, так и для предсказания появления событий. 4) Задача кластеризации заключается в поиске независимых групп (кластеров) и их характеристик во всем множестве анализируемых данных. Решение этой задачи помогает лучше понять данные. Кроме того, группировка однородных объектов позволяет сократить их число, а следовательно, и облегчить анализ. 5) Последовательные шаблоны – установление закономерностей между связанными во времени событиями, т.е. обнаружение зависимости, что если произойдет событие X, то спустя заданное время произойдет событие Y. 6) Анализ отклонений – выявление наиболее нехарактерных шаблонов. Перечисленные задачи по назначению делятся на описательные и предсказательные. Описательные (descriptive) задачи уделяют внимание улучшению понимания анализируемых данных. Ключевой момент в таких моделях — легкость и прозрачность результатов для восприятия человеком. Возможно, обнаруженные закономерности будут специфической чертой именно конкретных исследуемых данных и больше нигде не встретятся, но это все равно может быть полезно и потому должно быть известно. К такому виду задач относятся кластеризация и поиск ассоциативных правил. Решение предсказательных (predictive) задач разбивается на два этапа. На первом этапе на основании набора данных с известными результатами строится модель. На втором этапе она используется для предсказания результатов на основании новых наборов данных. При этом, естественно, требуется, чтобы построенные модели работали максимально точно. К данному виду задач относят задачи классификации и регрессии. Сюда можно отнести и задачу поиска ассоциативных правил, если результаты ее решения могут быть использованы для предсказания появления некоторых событий. По способам решения задачи разделяют на supervised learning (обучение с учителем) и unsupervised learning (обучение без учителя). Такое название произошло от термина Machine Learning (машинное обучение), часто используемого в англоязычной литературе и обозначающего все технологии Data Mining. В случае supervised learning задача анализа данных решается в несколько этапов. Сначала с помощью какого-либо алгоритма Data Mining строится модель анализируемых данных – классификатор. Затем классификатор подвергается обучению. Другими словами, проверяется качество его работы и, если оно неудовлетворительно, происходит дополнительное обучение классификатора. Так продолжается до тех пор, пока не будет достигнут требуемый уровень качества или не станет ясно, что выбранный алгоритм не работает корректно с данными, либо же сами данные не имеют структуры, которую можно выявить. К этому типу задач относят задачи классификации и регрессии. Unsupervised learning объединяет задачи, выявляющие описательные модели, например закономерности в покупках, совершаемых клиентами большого магазина. Очевидно, что если эти закономерности есть, то модель должна их представить и неуместно говорить об ее обучении. Отсюда и название — unsupervised learning. Достоинством таких задач является возможность их решения без каких-либо предварительных знаний об анализируемых данных. К ним относятся кластеризация и поиск ассоциативных правил. При анализе часто требуется определить, к какому из известных классов относятся исследуемые объекты, т. е. классифицировать их. Например, когда человек обращается в банк за предоставлением ему кредита, банковский служащий должен принять решение: кредитоспособен ли потенциальный клиент или нет. Очевидно, что такое решение принимается на основании данных об исследуемом объекте (в данном случае — человеке): его месте работы, размере заработной платы, возрасте, составе семьи и т. п. В результате анализа этой информации банковский служащий должен отнести человека к одному из двух известных классов «кредитоспособен» и «некредитоспособен». Другим примером задачи классификации является фильтрация электронной почты. В этом случае программа фильтрации должна классифицировать входящее сообщение как спам (нежелательная электронная почта) или как письмо. Данное решение принимается на основании частоты появления в сообщении определенных слов (например, имени получателя, безличного обращения, слов и словосочетаний: приобрести, «заработать», «выгодное предложение» и т. п.). В общем случае количество классов в задачах классификации может быть более двух. Например, в задаче распознавания образа цифр таких классов может быть 10 (по количеству цифр в десятичной системе счисления). В такой задаче объектом классификации является матрица пикселов, представляющая образ распознаваемой цифры. При этом цвет каждого пиксела является характеристикой анализируемого объекта. В Data Mining задачу классификации рассматривают как задачу определения ‘значения одного из параметров анализируемого объекта на основании значений других параметров. Определяемый параметр часто называют зависимой переменной, а параметры, участвующие в его определении — независимыми переменными. Задача классификации и регрессии решается в два этапа. На первом выделяется обучающая выборка. В нее входят объекты, для которых известны значения как независимых, так и зависимых переменных. В описанных ранее примерах такими обучающими выборками могут быть: – информация о клиентах, которым ранее выдавались кредиты на разные суммы, и информация об их погашении; – сообщения, классифицированные вручную как спам или как письмо; – распознанные ранее матрицы образов цифр. На основании обучающей выборки строится модель определения значения зависимой переменной. Ее часто называют функцией классификации или регрессии. Для получения максимально точной функции к обучающей выборке предъявляются следующие основные требования: – количество объектов, входящих в выборку, должно быть достаточно большим. Чем больше объектов, тем построенная на ее основе функция классификации или регрессии будет точнее; – в выборку должны входить объекты, представляющие все возможные классы в случае задачи классификации или всю область значений в случае задачи регрессии; – для каждого класса в задаче классификации или каждого интервала области значений в задаче регрессии выборка должна содержать достаточное количество объектов. На втором этапе построенную модель применяют к анализируемым объектам (к объектам с неопределенным значением зависимой переменной). Задача классификации и регрессии имеет геометрическую интерпретацию. Рассмотрим ее на примере с двумя независимыми переменными, что позволит представить ее в двумерном пространстве (рис. 2.1.1). Каждому объекту ставится в соответствие точка на плоскости. Символы «+» и «-» обозначают принадлежность объекта к одному из двух классов. Очевидно, что данные имеют четко выраженную структуру: все точки класса «+» сосредоточены в центральной области. Построение классификационной функции сводится к построению поверхности, которая обводит центральную область. Она определяется как функция, имеющая значения «+» внутри обведенной области и «-» — вне. Как видно из рисунка 1, есть несколько возможностей для построения обводящей области. Вид функции зависит от применяемого алгоритма. Основные проблемы, с которыми сталкиваются при решении задач классификации и регрессии, — это неудовлетворительное качество исходных данных, в которых встречаются как ошибочные данные, так и пропущенные значения, различные типы атрибутов — числовые и категорические, разная значимость атрибутов, а также так называемые проблемы overfitting и underfilling. Рис. 1 Классификация в двумерном пространстве Суть первой из них заключается в том, что классификационная функция при построении «слишком хорошо» адаптируется к данным, и встречающиеся в них ошибки и аномальные значения пытается интерпретировать как часть внутренней структуры данных. Очевидно, что такая модель будет некорректно работать в дальнейшем с другими данными, где характер ошибок будет несколько иной. Термином underfitting обозначают ситуацию, когда слишком велико количество ошибок при проверке классификатора на обучающем множестве. Это означает, что особых закономерностей в данных не было обнаружено и либо их нет вообще, либо необходимо выбрать иной метод их обнаружения. 3 Понятие информация, данных, знания Информация (от лат. informatio, разъяснение, изложение, осведомленность) — сведения о чем-либо, независимо от формы их представления. Информация — это: – данные, определенным образом организованные, имеющие смысл, значение и ценность для своего потребителя и необходимая для принятия им решений, а также для реализации других функций и действий; – совокупность знаний о фактических данных и зависимостях между ними, являющихся одним из видов ресурсов, используемых человеком в трудовой деятельности и быту; – сведения о лицах, предметах, фактах, событиях, явлениях и процессах независимо от формы представления; – сведения, неизвестные до их получения; – значение, приписанное данным; – средство и форма передачи знаний и опыта, сокращающая неопределенность и случайность и неосведомленность; – обобщенный термин, относящийся к любым сигналам, звукам, знакам и т.д., которые могут передаваться, приниматься, записываться и/или храниться Характерными чертами информации являются следующие: – это наиболее важный ресурс современного производства: он снижает потребность в земле, труде, капитале, уменьшает расход сырья и энергии; – вызывает к жизни новые производства; – является товаром, причем продавец информации ее не теряет после продажи; – придает дополнительную ценность другим ресурсам, в частности, трудовым. Действительно, работник с высшим образованием ценится больше, чем со средним; – информация может накапливаться. Известны также следующие трактовки понятия «данные». Данные это: – факты, цифры, и другие сведения о реальных и абстрактных лицах, предметах, объектах, явлениях и событиях, соответствующих определенной предметной области, представленные в цифровом, символьном, графическом, звуковом и любом другом формате; – информация, представленная в виде, пригодном для ее передачи и обработки автоматическими средствами, при возможном участии автоматизированными средствами с человеком; – фактический материал, представленный в виде информации, чисел, символов или букв, используемый для описания личностей, объектов, ситуаций или других понятий с целью последующего анализа, обсуждения или принятия соответствующих решений. Из всего многообразия подходов к определению понятия «данные» на наш взгляд справедливо то, которое говорит о том, что данные несут в себе информацию о событиях, произошедших в материальном мире, поскольку они являются регистрацией сигналов, возникших в результате этих событий. Однако данные не тождественны информации. Станут ли данные информацией, зависит от того, известен ли метод преобразования данных в известные понятия. То есть, чтобы извлечь из данных информацию необходимо подобрать соответствующий форме данных адекватный метод получения информации. Данные, составляющие информацию, имеют свойства, однозначно определяющие адекватный метод получения этой информации. Причем необходимо учитывать тот факт, что информация не является статичным объектом — она динамически меняется и существует только в момент взаимодействия данных и методов. Все прочее время она пребывает в состоянии данных. Информация существует только в момент протекания информационного процесса. Все остальное время она содержится в виде данных. Одни и те же данные могут в момент потребления представлять разную информацию в зависимости от степени адекватности взаимодействующих с ними методов. По своей природе данные являются объективными, так как это результат регистрации объективно существующих сигналах, вызванных изменениями в материальных телах или полях. Методы являются субъективными. В основе искусственных методов лежат алгоритмы (упорядоченные последовательности команд), составленные и подготовленные людьми (субъектами). В основе естественных методов лежат биологические свойства субъектов информационного процесса. Таким образом, информация возникает и существует в момент диалектического взаимодействия объективных данных и субъективных методов. Переходя к рассмотрению подходов к определению понятия «знания» можно выделить следующие трактовки. Знания — это: – вид информации, отражающей знания, опыт и восприятие человека -специалиста (эксперта) в определенной предметной области; – множество всех текущих ситуаций в объектах данного типа и способы перехода от одного описания объекта к другому; – осознание и толкование определенной информации, с учетом путей наилучшего ее использования для достижения конкретных целей, характеристиками знаний являются: внутренняя интерпретируемость, структурируемость, связанность и активность. . Основываясь на приведенных выше трактовках рассматриваемых понятий, можно констатировать тот факт, что знание — это информация, но не всякая информация — знание. Информация выступает как знания, отчужденные от его носителей и обобществленные для всеобщего пользования. Другими словами, информация — это превращенная форма знаний, обеспечивающая их распространение и социальное функционирование. Получая информацию, пользователь превращает ее путем интеллектуального усвоения в свои личностные знания. Здесь мы имеем дело с так называемыми информационно-когнитивными процессами, связанными с представлением личностных знаний в виде информации и воссозданием этих знаний на основе информации Таким образом, учитывая вышеизложенное, можно сделать вывод, что фиксируемые воспринимаемые факты окружающего мира представляют собойданные. При использовании данных в процессе решения конкретных задач — появляется информация. Результаты решения задач, истинная, проверенная информация (сведения), обобщенная в виде законов, теорий, совокупностей взглядов и представлений представляет собой знания 13 Технология и методы обработки экономической информации Сбор, хранение, обработка, передача информации в числовой форме осуществляется с помощью информационных технологий. Особенностью информационных технологий является то, что в них и предметом и продуктом труда является информация, а орудиями труда – средства вычислительной техники и связи. Основная цель информационных технологий — производство необходимой пользователю информации в результате целенаправленных действий по ее переработке. Технология автоматизированной обработки экономической информации строится на следующих принципах: • интеграции обработки данных и возможности работы пользователей в условиях эксплуатации автоматизированных систем централизованного хранения и коллективного использования данных (банков данных); • распределенной обработки данных на базе развитых систем передачи; • рационального сочетания централизованного и децентрализованного управления и организации вычислительных систем; • моделирования и формализованного описания данных, процедур их преобразования, функций и рабочих мест исполнителей; • учета конкретных особенностей объекта, в котором реализуется машинная обработка экономической информации. Обработка экономической информации предполагает выполнение логических и арифметических операций над исходными данными. Логическая обработка включает операции сортировки (подбор, упорядочение, объединение), выборку данных из информационной базы и т.п. Арифметические операции – алгебраическое сложение, деление, умножение и т.д. Системы обработки финансово-экономической информации служат для обработки числовых данных, характеризующих различные производственно-экономические и финансовые явления и объекты, а также для составления соответствующих управленческих документов и информационно-аналитических материалов. Они включают: универсальные табличные процессоры (Microsoft Excel); специализированные бухгалтерские программы («1С: Бухгалтерия»); специализированные банковские программы (для внутрибанковских и межбанковских расчетов); специализированные программы финансово-экономического анализа и планирования и др. При поиске решений в экономической сфере используются следующие методы обработки и анализа информации: 1. Эвристические — используются когда информации недостаточно и нельзя точно очертить границы применения формализованных методов, оценить допуск ошибки: – метод коллективного блокнота; – мозговой штурм; – приём синектики; – кейс-метод; 2. Традиционные методы: – метод сравнения; – метод относительных и сравнительных величин; – графический метод; – метод группировки. 3. Способ детерминированных факторов: – способ цепных подстановок; – способ абсолютных разниц; – способ относительных разниц; 4. Способы стохастического факторного анализа – корелляционно-регрессионный анализ; – дисперсионный анализ; – компонентный анализ; – многомерный факторный анализ. 5. Способы оптимизированных показателей – экономико-математические методы; – программирование; – теория массового обследования; – теория игр; – исследование операций. С учётом сферы применения в экономике выделяют: – банковские информационные системы; – информационные системы фондового рынка; – страховые информационные системы; – налоговые информационные системы; – информационные системы промышленных предприятий и организаций (бухгалтерские и иные информационные системы); – статистические информационные системы и др. К видам экономических задач относят: – учётно-операционные работы (в т.ч. учёт труда, зарплаты, материалов и пр.), – расчёт нормативов, межбанковские расчёты, – прогнозно-аналитические работы, – лизинг, – обслуживание клиентов, в т.ч. с помощью пластиковых карт. 23 Мультимедийные технологии Технология мультимедиа (лат. multi – «много», media – «среда») – способ представления информации в компьютере с возможностью одновременного использования текста, графики, звука, видео и анимационных эффектов. Мультимедийные технологии — это совокупность современных средств аудио- теле-, визуальных и виртуальных коммуникаций, используемых в процессе организации, планирования и управления различных видов деятельности. Средства мультимедиа позволяют создавать базы, банки данных и знаний в сфере культуры, науки и производства. Такие продукты всё более завоёвывают рынок пользователей. Мультимедиа технологии широко используются в рекламной деятельности, при организации управления маркетингом средств и методов продвижения товаров и услуг, в обучении и досуговой деятельности. К компьютерным средствам мультимедиа относят: специальное ПО, а также: CD и DVD драйверы и компакт-диски к ним; аудиокарты, аудио колонки, наушники и микрофоны; видеокарты; аудио- и видео периферийные устройства (цифровые кинокамеры и фотоаппараты и др.). Технология мультимедиа позволяет вводить, сохранять, перерабатывать и воспроизводить текстовую, аудиовизуальную, графическую, трёхмерную и иную информацию. Свойство интегрировать эти виды данных, компактно и длительно хранить их на электронных носителях, не разрушающихся со временем и не ухудшающих свои характеристики при копировании, позволяет утверждать, что они могут отражать богатейшие национальные богатства России в мультимедийных БД, которые вместе с системами гипертекста, гипермедиа и WWW обеспечат пользователям почти моментальный доступ к любому их фрагменту. Организации и подразделения, обладающие информационными ресурсами и средствами мультимедиа, использующими мультимедийные технологии порой называют медиатеками. В России медиатеки находят широкое распространение в библиотеках и учебных заведениях. В этом случае считается, что медиатека – хранилище информационных медиаресурсов. Технические средства мультимедиа, как и любые компьютерные информационные системы, позволяют выполнять все виды информационных процессов. 23 Управление проектами в Microsoft Project Управление проектами (проектный менеджмент — project management)- это планирование, координация и контроль работ по проекту для достижения его целей в рамках установленного бюджета и сроков, с надлежащим качеством. К достаточно распространенным и поддерживаемым на российском рынке программным продуктам относятся «большие» мультипроектные профессиональные системы — PrimaVera Planner , Open Plan Professional и более «скромные» — Microsoft Project , Sure Track Manager. Наиболее популярна на сегодняшний день в мире программа управления проектами MS Project. Microsoft Project стал фактически стандартом среди средств автоматизации индивидуальной работы менеджеров проектов. Свою популярность он заслужил благодаря удачному сочетанию простоты использования, дружеского интерфейса и наиболее необходимых инструментов управления проектами. Microsoft Project рассчитан, в первую очередь, на пользователей, которые не являются профессионалами в управлении проектами. Таким образом, его можно отнести к «непрофессиональным системам» управления проектами. с другой стороны, с помощью Microsoft Project можно управлять проектами со значительным количеством работ и ресурсов. Microsoft Project входит в семейство Microsoft Office, что подтверждается следующими его свойствами: построение интерфейса и справочной системы на единственных с Microsoft Office принципах; возможность сохранения данных проектов в базе данных Access; двусторонний обмен данными с Outlook; Среди преимуществ Microsoft Project также можно назвать усовершенствованные средства групповой работы, что позволяют одному менеджеру одновременно управлять несколькими проектами с большим числом участников. По мнению Gartner Group, Microsoft Project – лучший выбор для организаций, где используется матричная схема управления, то есть проектные команды допускают взаимодействие сотрудников из разных департаментов. К недостаткам системы можно отнести ограниченные средства управления бюджетом и отсутствие средств для управления рисками проекта. Для расширения функциональности системы разработанные дополнительные модули, доступные для бесплатной загрузки через Internet. Кроме того, существует web-сервис Microsoft ProjectCentral.com, предназначенный для организации совместной работы над проектами для групп, распределенных территориально. ProjectCentral.com предоставляет членам рабочей группы и всем заинтересованным лицам веб-страницы для работы с информацией проекта. 43 Статистические пакеты Потребность в средствах статистического анализа данных очень велика, что и послужило причиной для развития рынка статистических программ. Наилучший выбор статистического пакета для анализа данных зависит от характера решаемых задач, объема обрабатываемых данных, квалификации пользователей, имеющегося оборудования. Число статистических пакетов, получивших распространение в России, достаточно велико (несколько десятков). Из зарубежных пакетов этоSTATGRAPHICS, SYSTAT, STATISTICA, SPSS, SAS, CSS. Из отечественных можно назвать такие пакеты, как STADIA, ЭВРИСТА, МЕЗОЗАВР, САНИ, КЛАСС-МАСТЕР, СТАТЭксперт и др. Для пользователей, имеющих дело со сверхбольшими объемами данных или узкоспециальными методами анализа, пока нет альтернативы использованию профессиональных западных пакетов. Среди интерактивных пакетов такого рода наибольшими возможностями обладает пакетSAS. Если Вам необходимо обработать данные умеренных объемов (несколько сотен или тысяч наблюдений) стандартными статистическими методами, подойдет универсальный или специальный статистический пакет, надо только убедиться, что он содержит нужные методы обработки. Пакеты STADIA и STATISTICA являются универсальными пакетами, содержащими большинство стандартных статистических методов. Пакеты SPSS и SyStat перенесены на персональные компьютеры с больших ЭВМ предыдущих поколений, поэтому, наряду с представительным набором тщательно реализованных вычислительных методов, они сохраняют и некоторые архаические элементы. Однако имеющиеся в них возможности командного языка (впрочем, очень непростые в изучении и использовании) могут быть весьма полезны для сложных задач обработки данных. Пакеты STADIA и STATISTICA исходно разработаны для ПЭВМ, а поэтому проще в обращении. Эти пакеты, пожалуй, содержат наибольшее количество методов статистического анализа. STATISTICA — это универсальная интегрированная система, предназначенная для статистического анализа, визуализации данных и разработки пользовательских приложений. Программа содержит широкий набор процедур анализа для применения в научных исследованиях, технике, бизнесе. Помимо общих статистических и графических средств в системе имеются специализированные модули, например, для проведения социологических или биомедицинских исследований, решения технических и промышленных задач: карты контроля качества, анализ процессов и планирование эксперимента. Универсальный российский статистический пакет STADIA — за 15 лет существования и развития стал аналитическим инструментом для многих тысяч пользователей в различных областях науки, техники, планирования, управления, производства, сельского хозяйства, экономики, бизнеса, маркетинга, образования, медицины по всей русскоязычной Евразии. По своим базовым возможностям сопоставим с наиболее известными западными статистическими пакетами. Отличается простотой использования применительно к отечественной аудитории. Следует обратить внимание на удивительную компактность пакета STADIA: он требует в несколько раз меньше места на диске, чем его конкуренты, и при этом не уступает, а часто и превосходит их по своим функциональным возможностям. Алгоритм формирования дерева решений по обучающей выборке Ниже будет описан алгоритм формирования дерева решений по обучающей выборке, использованный в системе IDЗ. Задача, которую решает алгоритм, формулируется следующим образом. Задано: множество целевых непересекающихся классов {С1, С2, ..., Сk}; обучающая выборка S, в которой содержатся объекты более чем одного класса. Алгоритм использует последовательность тестовых процедур, с помощью которых множество 5 разделяется на подмножества, содержащие объекты только одного класса. Ключевой в алгоритме является процедура построения дерева решений, в котором нетерминальные узлы соответствуют тестовым процедурам, каждая из которых имеет дело с единственным атрибутом объектов из обучающей выборки. Как вы увидите ниже, весь фокус состоит в в выборе этих тестов. Пусть Т представляет любую тестовую процедуру, имеющую дело с одним из атрибутов, а {О1,O2,...,On} — множество допустимых выходных значений такой процедуры при ее применении к произвольному объекту х. Применение процедуры Т к объекту х будем обозначать как Т(х). Следовательно, процедура Т(х) разбивает множество S на составляющие {S1, S2, ..., Sn}, такие, что Si= {x|T(x) = Oi}. Такое разделение графически представлено на рис. 20.3. Рис. 20.3. Дерево разделения объектов обучающей выборки Если рекурсивно заменять каждый узел Si, на рис. 20.3 поддеревом, то в результате будет построено дерево решений для обучающей выборки S. Как уже отмечалось выше, ключевым фактором в решении этой проблемы является выбор тестовой процедуры — для каждого поддерева нужно найти наиболее подходящий атрибут, по которому можно выполнять дальнейшее разделение объектов. Квинлан (Quinlan) использует для этого заимствованное из теории информации понятие неопределенности. Неопределенность — это число, описывающее множество сообщений M= { m1, т2,..., тn}. Вероятность получения определенного сообщения mi из этого множества определим как р(тi). Объем информации, содержащейся в этом сообщении, будет в таком случае равен I(mi) = -logp(mi). Таким образом, объем информации в сообщении связан с вероятностью получения этого сообщения обратной монотонной зависимостью. Поскольку объем информации измеряется в битах, логарифм в этой формуле берется по основанию 2. Неопределенность множества сообщений U(M) является взвешенной суммой количества информации в каждом отдельном сообщении, причем в качестве весовых коэффициентов используются вероятности получения соответствующих сообщений: U(М) = -Sumip[(mi) logp(mi), i = 1,..., п.] Интуитивно ясно, что чем большую неожиданность представляет получение определенного сообщения из числа возможных, тем более оно информативно. Если все сообщения в множестве равновероятны, энтропия множества сообщений достигает максимума. Тот способ, который использует Квинлан, базируется на следующих предположениях. Корректное дерево решения, сформированное по обучающей выборке S, будет разделять объекты в той же пропорции, в какой они представлены в этой обучающей выборке. Для какого-либо объекта, который нужно классифицировать, тестирующую процедуру можно рассматривать как источник сообщений об этом объекте. Пусть Ni — количество объектов в S, принадлежащих классу Сi. Тогда вероятность того, что произвольный объект с, "выдернутый" из S, принадлежит классу Сi, можно оценить по формуле p(c~Ci) = Ni/|S|, а количество информации, которое несет такое сообщение, равно I(с ~ Сi) = -1оg2р(mi) (с ~ Сi) бит. Теперь рассмотрим энтропию множества целевых классов, считая их также множеством сообщений {С1 C2, ..., Ck}. Энтропия также может быть вычислена как взвешенная сумма количества информации в отдельных сообщениях, причем весовые коэффициенты можно определить, опираясь на "представительство" классов в обучающей выборке: U(M) = -Sumi=1...,k[ р(с ~ Ci)x I(с ~ Сi)] бит. Энтропия U(M) соответствует среднему количеству информации, которое необходимо для определения принадлежности произвольного объекта (с ~ S) какому-то классу до того, как выполнена хотя бы одна тестирующая процедура. После того как соответствующая тестирующая процедура Т выполнит разделение S на подмножества {S1, S2, ..., Sn}, энтропия будет определяться соотношением Uт(S) = -Sumi=1,...k(|S|/|Si|)х U(Si). Полученная оценка говорит нам, сколько информации еще необходимо после того, как выполнено разделение. Оценка формируется как сумма неопределенностей сформированных подмножеств, взвешенная в пропорции размеров этих подмножеств. Из этих рассуждений очевидно следует эвристика выбора очередного атрибута для тестирования, используемая в алгоритме, — нужно выбрать тот атрибут, который сулит наибольший прирост информации. Прирост информации GS(T) после выполнения процедуры тестирования Т по отношению к множеству 5 равен GS(7)=U(S)-Uт(S). Такую эвристику иногда называют "минимизацией энтропии", поскольку увеличивая прирост информации на каждом последующем тестировании, алгоритм тем самым уменьшает энтропию или меру беспорядка в множестве. Вернемся теперь к нашему примеру с погодой и посмотрим, как эти формулы интерпретируются в самом простом случае, когда множество целевых классов включает всего два элемента. Пусть р — это количество объектов класса П в множестве обучающей выборки S, а п — количество объектов класса Н в этом же множестве. Таким образом, произвольный объект принадлежит к классу П с вероятностью p / (p + п), а к классу Н с вероятностью n /(p + п). Ожидаемое количество информации в множестве сообщений М = {П, Н} равно U(M) = -p / (p + п) log2(p/(p + n )) n / (p + n) 1оg2(n/(р + п)) Пусть тестирующая процедура Т, как и ранее, разделяет множество S на подмножества {S1, S2.....Sn}, и предположим, что каждый компонент S, содержит pi, объектов класса П и и, объектов класса Н. Тогда энтропия каждого подмножества Si будет равна U(Si) = -рi/(рi + ni) log2(pi/(pi + ni)) n/(рi + ni) log2(ni/(pi +ni)) Ожидаемое количество информации в той части дерева, которая включает корневой узел, можно представить в виде взвешенной суммы: Uт(S) = -Sumi=1,...n((pi, + ni)/(р + n)) х U(Si) Отношение (р, + п,)/(р + п) соответствует весу каждой i-и ветви дерева, вроде того, которое показано на рис. 20.3. Это отношение показывает, какая часть всех объектов S принадлежит подмножеству S,. Ниже мы покажем, что в последней версии этого алгоритма, использованной в системе С4.5, Квинлан выбрал слегка отличающуюся эвристику. Использование меры прироста информации в том виде, в котором она определена чуть выше, приводит к тому, что предпочтение отдается тестирующим процедурам, имеющим наибольшее количество выходных значений {O1 O2,..., Оп}. Но несмотря на эту "загвоздку", описанный алгоритм успешно применялся при обработке достаточно внушительных обучающих выборок (см., например, [Quintan, 1983]). Сложность алгоритма зависит в основном от сложности процедуры выбора очередного теста для дальнейшего разделения обучающей выборки на все более мелкие подмножества, а последняя линейно зависит от произведения количества объектов в обучающей выборке на количество атрибутов, использованное для их представления. Кроме того, система может работать с зашумленными и неполными данными, хотя этот вопрос в данной книге мы и не рассматривали (читателей, интересующихся этим вопросом, я отсылаю к работе [Quinlan, 1986, b]). Простота и эффективность описанного алгоритма позволяет рассматривать его в качестве достойного соперника существующим процедурам извлечения знаний у экспертов в тех применениях, где возможно сформировать репрезентативную обучающую выборку. Но, в отличие от методики, использующей пространства версий, такой метод не может быть использован инкрементально, т.е. нельзя "дообучить" систему, представив ей новую обучающую выборку, без повторения обработки ранее просмотренных выборок. Рассмотренный алгоритм также не гарантирует, что сформированное дерево решений будет самым простым из возможных, поскольку использованная оценочная функция, базирующаяся на выводах теории информации, является только эвристикой. Но многочисленные эксперименты, проведенные с этим алгоритмом, показали, что формируемые им деревья решений довольно просты и позволяют прекрасно справиться с классификацией объектов, ранее неизвестных системе. Продолжение поиска "наилучшего решения" приведет к усложнению алгоритма, а как уже отмечалось в главе 14, для многих сложных проблем вполне достаточно найти не лучшее, а удовлетворительное решение. В состав программного комплекса С4.5, в котором используется описанный выше алгоритм, включен модуль C4.5Rules, формирующий из дерева решений набор порождающих правил. В этом модуле применяется эвристика отсечения, с помощью которой дерево решений упрощается. При этом, во-первых, формируемые правила становятся более понятными, а значит, упрощается сопровождение экспертной системы, а во-вторых, они меньше зависят от использованной обучающей выборки. Как уже упоминалось, в С4.5 также несколько модифицирован критерий отбора тестирующих процедур по сравнению с оригинальным алгоритмом, использованным в ID3. Недостатком эвристики, основанной на приросте количества информации, является то, что она отдает предпочтение процедурам с наибольшим количеством выходных значений {О1, O2, ..., Оn}. Возьмем, например, крайний случай, когда практически бесполезные тесты будут разделять исходную обучающую выборку на множество классов с единственным представителем в каждом. Это произойдет, если обучающую выборку с медицинскими данными пациентов классифицировать по именам пациентов. Для описанной эвристики именно такой вариант получит преимущество перед прочими, поскольку UT(S) будет равно нулю и, следовательно, разность Gs(T) = U(S) UT(S) достигнет максимального значения. Для заданной тестирующей процедуры Т на множестве данных S, которая характеризуется приростом количества информации GS{T), мы теперь возьмем в качестве критерия отбора относительный прирост НS(Т), который определяется соотношением НS{Т) = GS(Т)/V(S), где V(S) = -Sumi=1,..., (|S|/|Si|) x log2(|S|/|Si|). Важно разобраться, в чем состоит отличие величины V(S) от U(S). Величина V(S) определяется множеством сообщений {О1, О2,...,Оn] или, что то же самое, множеством подмножеств {S1 S2,...,Sn}, ассоциированных с выходными значениями тестовой процедуры, а не с множеством классов {С1 C2,...,Ck}. Таким образом, при вычислении величины V(S) принимается во внимание множество выходных значений теста, а не множество классов. Новая эвристика состоит в том, что выбирается та тестирующая процедура, которая максимизирует определенную выше величину относительного прироста количества информации. Теперь те пустые тесты, о которых мы говорили чуть выше и которым прежний алгоритм отдал бы преимущество, окажутся в самом "хвосте", поскольку для них знаменатель будет равен log2(N), где N— количество элементов в обучающей выборке. Оригинальный алгоритм формирования дерева страдает еще одной "хворью" - он часто формирует сложное дерево, в котором фиксируются несущественные для задачи классификации отличия в элементах обучающей выборки. Один из способов справиться с этой проблемой — использовать правило "останова", которое прекращало бы процесс дальнейшего разделения ветвей дерева при выполнении определенного условия. Но оказалось, что сформулировать это условие не менее сложно, а потому Квинлан пошел по другому пути. Он решил "обрезать" дерево решений после того, как оно будет сформировано алгоритмом. Можно показать, что такое "обрезание" может привести к тому, что новое дерево будет обрабатывать обучающую выборку с ошибками, но с новыми данными оно обычно справляется лучше, чем полное дерево. Проблема "обрезания" довольно сложна и выходит за рамки данной книги. Читателям, которые заинтересуются ею, я рекомендую познакомиться с работами [Mingers, 1989, b] и [Mitchell, 1997], а подробное описание реализации этого процесса в С4.5 можно найти в [Quinlan, 1993, Chapter 4]. Для того чтобы сделать более понятным результат выполнения алгоритма, в системе С4.5 дерево решений преобразуется в набор порождающих правил. Мы уже ранее демонстрировали соответствие между отдельным путем на графе решений от корня к листу и порождающим правилом. Условия в правиле — это просто тестовые процедуры, выполняемые в промежуточных узлах дерева, а заключение правила — отнесение объекта к определенному классу. Однако строить набор правил перечислением всех возможных путей на графе — процесс весьма неэффективный. Некоторые тесты могут служить просто для того, чтобы разделить дерево и таким образом сузить пространство выбора до подмножества, которое в дальнейшем уточняется с помощью проверки других, более информативных атрибутов. Это происходит по той причине, что не все атрибуты имеют отношение ко всем классам объектов. Квинлан применил следующую стратегию формирования множества правил из дерева решений. (1) Сформировать начальный вариант множества правил, перечислив все пути от корня дерева к листьям. (2) Обобщить правила и при этом удалить из них те условия, которые представляются излишними. (3) Сгруппировать правила в подмножества в соответствии с тем, к каким классам они имеют отношение, а затем удалить из каждого подмножества те правила, которые не вносят ничего нового в определение соответствующего класса. (4) Упорядочить множества правил по классам и выбрать класс, который будет являться классом по умолчанию. Упорядочение правил, которое выполняется на шаге (4), можно рассматривать как примитивную форму механизма разрешения конфликтов (см. главу 5). Порядок классов внутри определенного подмножества теперь уже не будет иметь значения. Назначение класса по умолчанию можно считать своего рода правилом по умолчанию, которое действует в том случае, когда не подходит ни одно другое правило. Полученное в результате множество правил скорее всего не будет точно соответствовать исходному дереву решений, но разобраться в них будет значительно проще, чем в логике дерева решений. При необходимости эти правила можно будет затем уточнить вручную. Квинлан очень осторожно подошел к формулировке тех условий, при которых созданная им система С4.5 может быть использована как подходящий инструмент обучения, позволяющий ожидать удовлетворительных результатов. Подход, основанный на использовании дерева решений, можно применять для решения далеко не всех задач классификации. Определенные ограничения свойственны и тем конкретным алгоритмам, которые использованы в системе С4.5. Необходимым условием успешного применения этой системы является выполнение следующих требований. Перечень классов, с которыми в дальнейшем будет оперировать экспертная система, необходимо сформулировать заранее. Другими словами, алгоритмы, положенные в основу функционирования системы С4.5, не способны формировать перечень классов на основе группировки обучающей последовательности объектов. Кроме того, классы должны быть четко очерченными, а не "расплывчатыми" — некоторый объект либо принадлежит к данному классу, либо нет, никаких промежуточных состояний быть не может. И, кроме того, классы не должны перекрываться. Применяемые в системе методы обучения требуют использовать обучающие выборки большого объема. Чем больше объем выборки, тем лучше. При малой длине обучающей выборки на полученных в результате правилах будут сказываться индивидуальные особенности экземпляров в обучающей выборке, что может привести к неверной классификации незнакомых объектов. Методы "усечения" дерева решений, использованные в С4.5, будут работать некорректно, если длина обучающей выборки слишком мала и содержит нетипичные объекты классов. 4 Данные в обучающей выборке должны быть представлены в формате "атрибутзначение", т.е. каждый объект должен быть охарактеризован в терминах фиксированного набора атрибутов и их значений для данного объекта. Существуют методы обработки, которые позволяют справиться и с пропущенными атрибутами, — предполагается, что в таких случаях выход соответствующей тестирующей процедуры будет в вероятностном смысле распределен по закону, определенному на основе тех объектов, в которых такой атрибут определен. В тех областях применения, в которых можно использовать и подход, базирующийся на дереве решений, и обычные статистические методы, выбор первого дает определенные преимущества. Этот подход не требует знания никаких априорных статистических характеристик классифицируемого множества объектов, в частности функций распределения значений отдельных атрибутов (использование статистических методов зачастую основано на предположении о существовании нормального распределения значений атрибутов). Как показали эксперименты с экспертными системами классификации разных типов, те из них, в которых используются деревья решений, выигрывают по сравнению с другими по таким показателям, как точность классификации, устойчивость к возмущениям и скорость вычислений. Алгоритм CART Алгоритм CART (Classification and Regression Tree), как видно из названия, решает задачи классификации и регрессии. Он разработан в 1974-1984 годах четырьмя профессорами статистики - Leo Breiman (Berkeley), Jerry Friedman (Stanford), Charles Stone (Berkeley) и Richard Olshen (Stanford). Атрибуты набора данных могут иметь как дискретное, так и числовое значение. Алгоритм CART предназначен для построения бинарного дерева решений. Бинарные деревья также называют двоичными. Пример такого дерева рассматривался в начале лекции. Другие особенности алгоритма CART: функция оценки качества разбиения; механизм отсечения дерева; алгоритм обработки пропущенных значений; построение деревьев регрессии. Каждый узел бинарного дерева при разбиении имеет только двух потомков, называемых дочерними ветвями. Дальнейшее разделение ветви зависит от того, много ли исходных данных описывает данная ветвь. На каждом шаге построения дерева правило, формируемое в узле, делит заданное множество примеров на две части. Правая его часть ( ветвь right) - это та часть множества, в которой правило выполняется; левая ( ветвь left) та, для которой правило не выполняется. Функция оценки качества разбиения, которая используется для выбора оптимального правила, - индекс Gini - был описан выше. Отметим, что данная оценочная функция основана на идее уменьшения неопределенности в узле. Допустим, есть узел, и он разбит на два класса. Максимальная неопределенность в узле будет достигнута при разбиении его на два подмножества по 50 примеров, а максимальная определенность - при разбиении на 100 и 0 примеров. Правила разбиения. Напомним, что алгоритм CART работает с числовыми и категориальными атрибутами. В каждом узле разбиение может идти только по одному атрибуту. Если атрибут является числовым, то во внутреннем узле формируется правило вида xi <= c, Значение c в большинстве случаев выбирается как среднее арифметическое двух соседних упорядоченных значений переменной xi обучающего набора данных. Если же атрибут относится к категориальному типу, то во внутреннем узле формируется правило xi V(xi), где V(xi) - некоторое непустое подмножество множества значений переменной xi в обучающем наборе данных. Механизм отсечения. Этим механизмом, имеющим название minimal cost-complexity tree pruning, алгоритм CART принципиально отличается от других алгоритмов конструирования деревьев решений. В рассматриваемом алгоритме отсечение - это некий компромисс между получением дерева "подходящего размера" и получением наиболее точной оценки классификации. Метод заключается в получении последовательности уменьшающихся деревьев, но деревья рассматриваются не все, а только "лучшие представители". Перекрестная проверка (V-fold cross-validation) является наиболее сложной и одновременно оригинальной частью алгоритмаCART. Она представляет собой путь выбора окончательного дерева, при условии, что набор данных имеет небольшой объем или же записи набора данных настолько специфические, что разделить набор на обучающую и тестовую выборку не представляется возможным. Итак, основные характеристики алгоритма CART: бинарное расщепление, критерий расщепления - индекс Gini, алгоритмы minimalcost-complexity tree pruning и V-fold crossvalidation, принцип "вырастить дерево, а затем сократить", высокая скорость построения, обработка пропущенных значений. Алгоритм C4.5 Алгоритм C4.5 строит дерево решений с неограниченным количеством ветвей у узла. Данный алгоритм может работать только с дискретным зависимым атрибутом и поэтому может решать только задачи классификации. C4.5 считается одним из самых известных и широко используемых алгоритмов построения деревьев классификации. Для работы алгоритма C4.5 необходимо соблюдение следующих требований: Каждая запись набора данных должна быть ассоциирована с одним из предопределенных классов, т.е. один из атрибутов набора данных должен являться меткой класса. Классы должны быть дискретными. Каждый пример должен однозначно относиться к одному из классов. Количество классов должно быть значительно меньше количества записей в исследуемом наборе данных. Последняя версия алгоритма - алгоритм C4.8 - реализована в инструменте Weka как J4.8 (Java). Коммерческая реализация метода: C5.0, разработчик RuleQuest, Австралия. Алгоритм C4.5 медленно работает на сверхбольших и зашумленных наборах данных. Мы рассмотрели два известных алгоритма построения деревьев решений CART и C4.5. Оба алгоритма являются робастными, т.е. устойчивыми к шумам и выбросам данных. Алгоритмы построения деревьев решений различаются следующими характеристиками: вид расщепления - бинарное (binary), множественное (multi-way) критерии расщепления - энтропия, Gini, другие возможность обработки пропущенных значений процедура сокращения ветвей или отсечения возможности извлечения правил из деревьев. Ни один алгоритм построения дерева нельзя априори считать наилучшим или совершенным, подтверждение целесообразности использования конкретного алгоритма должно быть проверено и подтверждено экспериментом. Разработка новых масштабируемых алгоритмов Наиболее серьезное требование, которое сейчас предъявляется к алгоритмам конструирования деревьев решений - это масштабируемость, т.е. алгоритм должен обладать масштабируемым методом доступа к данным. Разработан ряд новых масштабируемых алгоритмов, среди них - алгоритм Sprint, предложенный Джоном Шафером и его коллегами [36]. Sprint, являющийся масштабируемым вариантом рассмотренного в лекции алгоритма CART, предъявляет минимальные требования к объему оперативной памяти. Выводы В лекции мы рассмотрели метод деревьев решений; определить его кратко можно как иерархическое, гибкое средство предсказания принадлежности объектов к определенному классу или прогнозирования значений числовых переменных. Качество работы рассмотренного метода деревьев решений зависит как от выбора алгоритма, так и от набора исследуемых данных. Несмотря на все преимущества данного метода, следует помнить, что для того, чтобы построить качественную модель, необходимо понимать природу взаимосвязи между зависимыми и независимыми переменными и подготовить достаточный набор данных. Нейронные сети Введение В последние несколько лет мы наблюдаем взрыв интереса к нейронным сетям, которые успешно применяются в самых различных областях - бизнесе, медицине, технике, геологии , физике. Нейронные сети вошли в практику везде, где нужно решать задачи прогнозирования, классификации или управления. Такой впечатляющий успех определяется несколькими причинами: Богатые возможности. Нейронные сети - исключительно мощный метод моделирования, позволяющий воспроизводить чрезвычайно сложные зависимости. В частности, нейронные сети нелинейны по свой природе (смысл этого понятия подробно разъясняется далее в этой главе). На протяжение многих лет линейное моделирование было основным методом моделирования в большинстве областей, поскольку для него хорошо разработаны процедуры оптимизации. В задачах, где линейная аппроксимация неудовлетворительна (а таких достаточно много), линейные модели работают плохо. Кроме того, нейронные сети справляются с "проклятием размерности", которое не позволяет моделировать линейные зависимости в случае большого числа переменных Простота в использовании. Нейронные сети учатся на примерах. Пользователь нейронной сети подбирает представительные данные, а затем запускает алгоритм обучения, который автоматически воспринимает структуру данных. При этом от пользователя, конечно, требуется какой-то набор эвристических знаний о том, как следует отбирать и подготавливать данные, выбирать нужную архитектуру сети и интерпретировать результаты, однако уровень знаний, необходимый для успешного применения нейронных сетей, гораздо скромнее, чем, например, при использовании традиционных методов статистики. Нейронные сети привлекательны с интуитивной точки зрения, ибо они основаны на примитивной биологической модели нервных систем. В будущем развитие таких нейробиологических моделей может привести к созданию действительно мыслящих компьютеров. Между тем уже "простые" нейронные сети, которые строит система ST Neural Networks , являются мощным оружием в арсенале специалиста по прикладной статистике. В начало Параллели из биологии Нейронные сети возникли из исследований в области искусственного интеллекта, а именно, из попыток воспроизвести способность биологических нервных систем обучаться и исправлять ошибки, моделируя низкоуровневую структуру мозга (Patterson, 1996). Основной областью исследований по искусственному интеллекту в 60-е - 80-е годы были экспертные системы. Такие системы основывались на высокоуровневом моделировании процесса мышления (в частности, на представлении, что процесс нашего мышления построен на манипуляциях с символами). Скоро стало ясно, что подобные системы, хотя и могут принести пользу в некоторых областях, не ухватывают некоторые ключевые аспекты человеческого интеллекта. Согласно одной из точек зрения, причина этого состоит в том, что они не в состоянии воспроизвести структуру мозга. Чтобы создать искусственных интеллект, необходимо построить систему с похожей архитектурой. Мозг состоит из очень большого числа (приблизительно 10,000,000,000) нейронов, соединенных многочисленными связями (в среднем несколько тысяч связей на один нейрон, однако это число может сильно колебаться). Нейроны - это специальная клетки, способные распространять электрохимические сигналы. Нейрон имеет разветвленную структуру ввода информации (дендриты), ядро и разветвляющийся выход (аксон). Аксоны клетки соединяются с дендритами других клеток с помощью синапсов. При активации нейрон посылает электрохимический сигнал по своему аксону. Через синапсы этот сигнал достигает других нейронов, которые могут в свою очередь активироваться. Нейрон активируется тогда, когда суммарный уровень сигналов, пришедших в его ядро из дендритов, превысит определенный уровень (порог активации). .Интенсивность сигнала, получаемого нейроном (а следовательно и возможность его активации), сильно зависит от активности синапсов. Каждый синапс имеет протяженность, и специальные химические вещества передают сигнал вдоль него. Один из самых авторитетных исследователей нейросистем, Дональд Хебб, высказал постулат, что обучение заключается в первую очередь в изменениях "силы" синаптических связей. Например, в классическом опыте Павлова, каждый раз непосредственно перед кормлением собаки звонил колокольчик, и собака быстро научилась связывать звонок колокольчика с пищей. Синаптические связи между участками коры головного мозга, ответственными за слух, и слюнными железами усилились, и при возбуждении коры звуком колокольчика у собаки начиналось слюноотделение. Таким образом, будучи построен из очень большого числа совсем простых элементов (каждый из которых берет взвешенную сумму входных сигналов и в случае, если суммарный вход превышает определенный уровень, передает дальше двоичный сигнал), мозг способен решать чрезвычайно сложные задачи. Разумеется, мы не затронули здесь многих сложных аспектов устройства мозга, однако интересно то, что искусственные нейронные сети способны достичь замечательных результатов, используя модель, которая ненамного сложнее, чем описанная выше. В начало Базовая искусственная модель Чтобы отразить суть биологических нейронных систем, определение искусственного нейрона дается следующим образом: Он получает входные сигналы (исходные данные либо выходные сигналы других нейронов нейронной сети) через несколько входных каналов. Каждый входной сигнал проходит через соединение, имеющее определенную интенсивность (или вес); этот вес соответствует синаптической активности биологического нейрона. С каждым нейроном связано определенное пороговое значение. Вычисляется взвешенная сумма входов, из нее вычитается пороговое значение и в результате получается величина активации нейрона (она также называется постсинаптическим потенциалом нейрона - PSP). Сигнал активации преобразуется с помощью функции активации (или передаточной функции) и в результате получается выходной сигнал нейрона. .Если при этом использовать ступенчатую функцию активации (т.е., выход нейрона равен нулю, если вход отрицательный, и единице, если вход нулевой или положительный), то такой нейрон будет работать точно так же, как описанный выше естественный нейрон (вычесть пороговое значение из взвешенной суммы и сравнить результат с нулем - это то же самое, что сравнить взвешенную сумму с пороговым значением). В действительности, как мы скоро увидим, пороговые функции редко используются в искусственных нейронных сетях. Учтите, что веса могут быть отрицательными, - это значит, что синапс оказывает на нейрон не возбуждающее, а тормозящее воздействие (в мозге присутствуют тормозящие нейроны). Это было описание отдельного нейрона. Теперь возникает вопрос: как соединять нейроны друг с другом? Если сеть предполагается для чего-то использовать, то у нее должны быть входы (принимающие значения интересующих нас переменных из внешнего мира) и выходы (прогнозы или управляющие сигналы). Входы и выходы соответствуют сенсорным и двигательным нервам - например, соответственно, идущим от глаз и в руки. Кроме этого, однако, в сети может быть еще много промежуточных (скрытых) нейронов, выполняющих внутренние функции. Входные, скрытые и выходные нейроны должны быть связаны между собой. Ключевой вопрос здесь - обратная связь (Haykin, 1994). Простейшая сеть имеет структуру прямой передачи сигнала: Сигналы проходят от входов через скрытые элементы и в конце концов приходят на выходные элементы. Такая структура имеет устойчивое поведение. Если же сеть рекуррентная (т.е. содержит связи, ведущие назад от более дальних к более ближним нейронам), то она может быть неустойчива и иметь очень сложную динамику поведения. Рекуррентные сети представляют большой интерес для исследователей в областинейронных сетей, однако при решении практических задач, по крайней мере до сих пор, наиболее полезными оказались структуры прямой передачи, и именно такой тип нейронных сетей моделируется в пакете ST Neural Networks. .Типичный пример сети с прямой передачей сигнала показан на рисунке. Нейроны регулярным образом организованы в слои. Входной слой служит просто для ввода значений входных переменных. Каждый из скрытых и выходных нейронов соединен со всеми элементами предыдущего слоя. Можно было бы рассматривать сети, в которых нейроны связаны только с некоторыми из нейронов предыдущего слоя; однако, для большинства приложений сети с полной системой связей предпочтительнее, и именно такой тип сетей реализован в пакетеST Neural Networks. При работе (использовании) сети во входные элементы подаются значения входных переменных, затем последовательно отрабатывают нейроны промежуточных и выходного слоев. Каждый из них вычисляет свое значение активации, беря взвешенную сумму выходов элементов предыдущего слоя и вычитая из нее пороговое значение. Затем значение активации преобразуются с помощью функции активации, и в результате получается выход нейрона. После того, как вся сеть отработает, выходные значения элементов выходного слоя принимаются за выход всей сети в целом. В начало Применение нейронных сетей В предыдущем разделе в несколько упрощенном виде было описано, как нейронная сеть преобразует входные сигналы в выходные. Теперь возникает следующий важный вопрос: как применить нейронную сеть к решению конкретной задачи? Класс задач, которые можно решить с помощью нейронной сети, определяется тем, как сеть работает и тем, как она обучается. При работе нейронная сеть принимает значения входных переменных и выдает значения выходных переменных. Таким образом, сеть можно применять в ситуации, когда у Вас имеется определенная известная информация, и Вы хотите из нее получить некоторую пока не известную информацию (Patterson, 1996; Fausett, 1994). Вот некоторые примеры таких задач: Прогнозирование на фондовом рынке. Зная цены акций за последнюю неделю и сегодняшнее значение индекса FTSE, спрогнозировать завтрашнюю цену акций. Предоставление кредита. Требуется определить, высок ли риск предоставления кредита частному лицу, обратившемуся с такой просьбой. В результате разговора с ним известен его доход, предыдущая кредитная история и т.д. Управление. Нужно определить что должен делать робот (повернуться направо или налево, двигаться вперед и т.д.), чтобы достичь цели; известно изображение, которое передает установленная на роботе видеокамера. Разумеется, вовсе не любую задачу можно решить с помощью нейронной сети. Если Вы хотите определить результаты лотереи, тираж которой состоится через неделю, зная свой размер обуви, то едва ли это получится, поскольку эти вещи не связаны друг с другом. На самом деле, если тираж проводится честно, то не существует такой информации, на основании которой можно было бы предсказать результат. Многие финансовые структуры уже используют нейронные сети или экспериментируют с ними с целью прогнозирования ситуации на фондовом рынке, и похоже, что любой тренд, прогнозируемый с помощью нейронных методов, всякий раз уже бывает "дисконтирован" рынком, и поэтому (к сожалению) эту задачу Вам тоже вряд ли удастся решить. Итак, мы приходим ко второму важному условию применения нейронных сетей: Вы должны знать (или хотя бы иметь серьезные подозрения), что между известными входными значениями и неизвестными выходами имеется связь. Эта связь может быть искажена шумом (так, едва ли можно ожидать, что по данным из примера с прогнозированием цен акций можно построить абсолютно точный прогноз, поскольку на цену влияют и другие факторы, не представленные во входном наборе данных, и кроме того в задаче присутствует элемент случайности), но она должна существовать. Как правило, нейронная сеть используется тогда, когда неизвестен точный вид связей между входами и выходами, - если бы он был известен, то связь можно было бы моделировать непосредственно. Другая существенная особенность нейронных сетей состоит в том, что зависимость между входом и выходом находится в процессе обучения сети. Для обучения нейронных сетей применяются алгоритмы двух типов (разные типы сетей используют разные типы обучения): управляемое ("обучение с учителем") и не управляемое ("без учителя"). Чаще всего применяется обучение с учителем, и именно этот метод мы сейчас рассмотрим (о неуправляемом обучении будет рассказано позже). Для управляемого обучения сети пользователь должен подготовить набор обучающих данных. Эти данные представляют собой примеры входных данных и соответствующих им выходов. Сеть учится устанавливать связь между первыми и вторыми. Обычно обучающие данные берутся из исторических сведений. В рассмотренных выше примерах это могут быть предыдущие значения цен акций и индекса FTSE, сведения о прошлых заемщиках - их анкетные данные и то, успешно ли они выполнили свои обязательства, примеры положений робота и его правильной реакции. Затем нейронная сеть обучается с помощью того или иного алгоритма управляемого обучения (наиболее известным из них является метод обратного распространения, предложенный в работе Rumelhart et al., 1986), при котором имеющиеся данные используются для корректировки весов и пороговых значений сети таким образом, чтобы минимизировать ошибку прогноза на обучающем множестве. Если сеть обучена хорошо, она приобретает способность моделировать (неизвестную) функцию, связывающую значения входных и выходных переменных, и впоследствии такую сеть можно использовать для прогнозирования в ситуации, когда выходные значения неизвестны. В начало Сбор данных для нейронной сети Если задача будет решаться с помощью нейронной сети, то необходимо собрать данные для обучения. Обучающий набор данных представляет собой набор наблюдений, для которых указаны значения входных и выходных переменных. Первый вопрос, который нужно решить, - какие переменные использовать и сколько (и каких) наблюдений собрать. Выбор переменных (по крайней мере первоначальный) осуществляется интуитивно. Ваш опыт работы в данной предметной области поможет определить, какие переменные являются важными. При работе с пакетом ST Neural Networks Вы можете произвольно выбирать переменные и отменять предыдущий выбор; кроме того, система ST Neural Networks умеет сама опытным путем отбирать полезные переменные. Для начала имеет смысл включить все переменные, которые, по Вашему мнению, могут влиять на результат - на последующих этапах мы сократим это множество. Нейронные сети могут работать с числовыми данными, лежащими в определенном ограниченном диапазоне. Это создает проблемы в случаях, когда данные имеют нестандартный масштаб, когда в них имеются пропущенные значения, и когда данные являются нечисловыми. В пакете ST Neural Networks имеются средства, позволяющие справиться со всеми этими трудностями. Числовые данные масштабируются в подходящий для сети диапазон, а пропущенные значения можно заменить на среднее значение (или на другую статистику) этой переменной по всем имеющимся обучающим примерам (Bishop, 1995). Более трудной задачей является работа с данными нечислового характера. Чаще всего нечисловые данные бывают представлены в виде номинальных переменных типа Пол = {Муж , Жен }. Переменные с номинальными значениями можно представить в числовом виде, и в системе ST Neural Networks имеются средства для работы с такими данными. Однако, нейронные сети не дают хороших результатов при работе с номинальными переменными, которые могут принимать много разных значений. Пусть, например, мы хотим научить нейронную сеть оценивать стоимость объектов недвижимости. Цена дома очень сильно зависит от того, в каком районе города он расположен. Город может быть подразделен на несколько десятков районов, имеющих собственные названия, и кажется естественным ввести для обозначения района переменную с номинальными значениями. К сожалению, в этом случае обучить нейронную сеть будет очень трудно, и вместо этого лучше присвоить каждому району определенный рейтинг (основываясь на экспертных оценках). Нечисловые данные других типов можно либо преобразовать в числовую форму, либо объявить незначащими. Значения дат и времени, если они нужны, можно преобразовать в числовые, вычитая из них начальную дату (время). Обозначения денежных сумм преобразовать совсем несложно. С произвольными текстовыми полями (например, фамилиями людей) работать нельзя и их нужно сделать незначащими. Вопрос о том, сколько наблюдений нужно иметь для обучения сети, часто оказывается непростым. Известен ряд эвристических правил, увязывающих число необходимых наблюдений с размерами сети (простейшее из них гласит, что число наблюдений должно быть в десять раз больше числа связей в сети). На самом деле это число зависит также от (заранее неизвестной) сложности того отображения, которое нейронная сеть стремится воспроизвести. С ростом количества переменных количество требуемых наблюдений растет нелинейно, так что уже при довольно небольшом (например, пятьдесят) числе переменных может потребоваться огромное число наблюдений. Эта трудность известна как "проклятие размерности", и мы обсудим ее дальше в этой главе. Для большинства реальных задач бывает достаточно нескольких сотен или тысяч наблюдений. Для особо сложных задач может потребоваться еще большее количество, однако очень редко может встретиться (даже тривиальная) задача, где хватило бы менее сотни наблюдений. Если данных меньше, чем здесь сказано, то на самом деле у Вас недостаточно информации для обучения сети, и лучшее, что Вы можете сделать - это попробовать подогнать к данным некоторую линейную модель. В пакете ST Neural Networks реализованы средства для подгонки линейных моделей (см. раздел про линейные сети, а также материал по модулю Множественная регрессия системы STATISTICA). Во многих реальных задачах приходится иметь дело с не вполне достоверными данными. Значения некоторых переменных могут быть искажены шумом или частично отсутствовать. Пакет ST Neural Networks имеет специальные средства работы с пропущенными значениями (они могут быть заменены на среднее значение этой переменной или на другие ее статистики), так что если у Вас не так много данных, Вы можете включить в рассмотрение случаи с пропущенными значениями (хотя, конечно, лучше этого избегать). Кроме того,нейронные сети в целом устойчивы к шумам. Однако у этой устойчивости есть предел. Например, выбросы, т.е. значения, лежащие очень далеко от области нормальных значений некоторой переменной, могут исказить результат обучения. В таких случаях лучше всего постараться обнаружить и удалить эти выбросы (либо удалив соответствующие наблюдения, либо преобразовав выбросы в пропущенные значения). Если выбросы выявить трудно, то можно воспользоваться имеющимися в пакете ST Neural Networks возможностями сделать процесс обучения устойчивым к выбросам (с помощью функции ошибок типа "городских кварталов"; см. Bishop, 1995), однако такое устойчивое к выбросам обучение, как правило, менее эффективно, чем стандартное. Выводы Выбирайте такие переменные, которые, как Вы предполагаете, влияют на результат. С числовыми и номинальными переменными в пакете ST Neural Networks можно работать непосредственно. Переменные других типов следует преобразовать в указанные типы или объявить незначащими. Для анализа нужно иметь порядка сотен или тысяч наблюдений; чем больше в задаче переменных, тем больше нужно иметь наблюдений. Пакет ST Neural Networks имеет средства для распознавания значимых переменных, поэтому включайте в рассмотрение переменные, в значимости которых Вы не уверены. В случае необходимости можно работать с наблюдениями, содержащими пропущенные значения. Наличие выбросов в данных может создать трудности. Если возможно, удалите выбросы. Если данных достаточное количество, уберите из рассмотрения наблюдения с пропущенными значениями. В начало Пре/пост процессирование Всякая нейронная сеть принимает на входе числовые значения и выдает на выходе также числовые значения. Передаточная функция для каждого элемента сети обычно выбирается таким образом, чтобы ее входной аргумент мог принимать произвольные значения, авыходные значения лежали бы в строго ограниченном диапазоне ("сплющивание"). При этом, хотя входные значения могут быть любыми, возникает эффект насыщения, когда элемент оказывается чувствительным лишь к входным значениям, лежащим в некоторой ограниченной области. На этом рисунке представлена одна из наиболее распространенных передаточных функций - так называемая логистическая функция (иногда ее также называют сигмоидной функцией, хотя если говорить строго, это всего лишь один из частных случаев сигмоидных - т.е. имеющих форму буквы S - функций). В этом случае выходное значение всегда будет лежать в интервале (0,1), а область чувствительности для входов чуть шире интервала (-1,+1). Данная функция является гладкой, а ее производная легко вычисляется - это обстоятельство весьма существенно для работы алгоритма обучения сети (в этом также кроется причина того, что ступенчатая функция для этой цели практически не используется). Коль скоро выходные значения всегда принадлежат некоторой ограниченной области, а вся информация должна быть представлена в числовом виде, очевидно, что при решении реальных задач методами нейронных сетей требуются этапы предварительной обработки пре-процессирования - и заключительной обработки - пост-процессирования данных (Bishop, 1995). Соответствующие средства имеются в пакете ST Neural Networks. Здесь нужно рассмотреть два вопроса: Шкалирование. Числовые значения должны быть приведены в масштаб, подходящий для сети. Обычно исходные данные масштабируются по линейной шкале. В пакете ST Neural Networks реализованы алгоритмы минимакса и среднего/стандартного отклонения, которые автоматически находят масштабирующие параметры для преобразования числовых значений в нужный диапазон. В некоторых случаях более подходящим может оказаться нелинейное шкалирование (например, если заранее известно, что переменная имеет экспоненциальное распределение, имеет смысл взять ее логарифм). Нелинейное шкалирование не реализовано в модуле ST Neural Networks. Вы можете прошкалировать переменную средствами преобразования даных базовой системы STATISTICA, а затем работать с ней в модуле ST Neural Networks. Номинальные переменные. Номинальные переменные могут быть двузначными (например, Пол ={Муж, Жен}) или многозначными (т.е. принимать более двух значений или состояний). Двузначную номинальную переменную легко преобразовать в числовую (например,Муж = 0, Жен = 1). С многозначными номинальными переменными дело обстоит сложнее. Их тоже можно представить одним числовым значением (например, Собака = 0, Овца = 1, Кошка = 2), однако при этом возникнет (возможно) ложное упорядочивание значений номинальной переменной: в рассмотренном примере Овца окажется чем-то средним между Собакой и Кошкой. Существует более точный способ, известный как кодирование 1-из-N, в котором одна номинальная переменная представляется несколькими числовыми переменными. Количество числовых переменных равно числу возможных значений номинальной переменной; при этом всякий раз ровно одна из N переменных принимает ненулевое значение (например, Собака = {1,0,0}, Овца = {0,1,0}, Кошка = {0,0,1}). В пакете ST Neural Networks имеются возможности преобразовывать как двух-, так и многозначные номинальные переменные для последующего использования в нейронной сети. К сожалению, номинальная переменная с большим числом возможных состояний потребует при кодировании методом 1-из-N очень большого количества числовых переменных, а это приведет к росту размеров сети и создаст трудности при ее обучении. В таких ситуациях возможно (но не всегда достаточно) смоделировать номинальную переменную с помощью одного числового индекса, однако лучше будет попытаться найти другой способ представления данных. Задачи прогнозирования можно разбить на два основных класса: классификация и регрессия. В задачах классификации нужно бывает определить, к какому из нескольких заданных классов принадлежит данный входной набор. Примерами могут служить предоставление кредита (относится ли данное лицо к группе высокого или низкого кредитного риска), диагностика раковых заболеваний (опухоль, чисто), распознавание подписи (поддельная, подлинная). Во всех этих случаях, очевидно, на выходе требуется всего одна номинальная переменная. Чаще всего (как в этих примерах) задачи классификации бывают двузначными, хотя встречаются и задачи с несколькими возможными состояниями. В задачах регрессии требуется предсказать значение переменной, принимающей (как правило) непрерывные числовые значения: завтрашнюю цену акций, расход топлива в автомобиле, прибыли в следующем году и т.п.. В таких случаях в качестве выходной требуется одна числовая переменная. Нейронная сеть может решать одновременно несколько задач регрессии и/или классификации, однако обычно в каждый момент решается только одна задача. Таким образом, в большинстве случаев нейронная сеть будет иметь всего одну выходную переменную; в случае задач классификации со многими состояниями для этого может потребоваться несколько выходных элементов (этап пост-процессирования отвечает за преобразование информации из выходных элементов в выходную переменную). В пакете ST Neural Networks для решения всех этих вопросов реализованы специальные средства пре- и пост-процессирования, которые позволяют привести сырые исходные данные в числовую форму, пригодную для обработки нейронной сетью, и преобразовать выход нейронной сети обратно в формат входных данных. Нейронная сеть служит "прослойкой"между пре- и пост-процессированием, и результат выдается в нужном виде (например, в задаче классификации выдается название выходного класса). Кроме того, в пакете ST Neural Networks пользователь может (если пожелает) получить прямой доступ к внутренним параметрам активации сети. В начало Многослойный персептрон (MLP) Вероятно, эта архитектура сети используется сейчас наиболее часто. Она была предложена в работе Rumelhart, McClelland (1986) и подробно обсуждается почти во всех учебниках по нейронным сетям (см., например, Bishop, 1995). Вкратце этот тип сети был описан выше. Каждый элемент сети строит взвешенную сумму своих входов с поправкой в виде слагаемого и затем пропускает эту величину активации через передаточную функцию, и таким образом получается выходное значение этого элемента. Элементы организованы в послойную топологию с прямой передачей сигнала. Такую сеть легко можно интерпретировать как модель вход-выход, в которой веса и пороговые значения (смещения) являются свободными параметрами модели. Такая сеть может моделировать функцию практически любой степени сложности, причем число слоев и число элементов в каждом слое определяют сложность функции. Определение числа промежуточных слоев и числа элементов в них является важным вопросом при конструировании MLP (Haykin, 1994; Bishop, 1995). Количество входных и выходных элементов определяется условиями задачи. Сомнения могут возникнуть в отношении того, какие входные значения использовать, а какие нет, к этому вопросу мы вернемся позже. Сейчас будем предполагать, что входные переменные выбраны интуитивно и что все они являются значимыми. Вопрос же о том, сколько использовать промежуточных слоев и элементов в них, пока совершенно неясен. В качестве начального приближения можно взять один промежуточный слой, а число элементов в нем положить равным полусумме числа входных и выходных элементов. Опять-таки, позже мы обсудим этот вопрос подробнее. Обучение многослойного персептрона После того, как определено число слоев и число элементов в каждом из них, нужно найти значения для весов и порогов сети, которые бы минимизировали ошибку прогноза, выдаваемого сетью. Именно для этого служат алгоритмы обучения. С использованием собранных исторических данных веса и пороговые значения автоматически корректируются с целью минимизировать эту ошибку. По сути этот процесс представляет собой подгонку модели, которая реализуется сетью, к имеющимся обучающим данным. Ошибка для конкретной конфигурации сети определяется путем прогона через сеть всех имеющихся наблюдений и сравнения реально выдаваемых выходных значений с желаемыми (целевыми) значениями. Все такие разности суммируются в так называемую функцию ошибок, значение которой и есть ошибка сети. В качестве функции ошибок чаще всего берется сумма квадратов ошибок, т.е. когда все ошибки выходных элементов для всех наблюдений возводятся в квадрат и затем суммируются. При работе с пакетом ST Neural Networks пользователю выдается так называемая среднеквадратичная ошибка (RMS) - описанная выше величина нормируется на число наблюдений и переменных, после чего из нее извлекается квадратный корень - это очень хорошая мера ошибки, усредненная по всему обучающему множеству и по всем выходным элементам. В традиционном моделировании (например, линейном моделировании) можно алгоритмически определить конфигурацию модели, дающую абсолютный минимум для указанной ошибки. Цена, которую приходится платить за более широкие (нелинейные) возможности моделирования с помощью нейронных сетей, состоит в том, что, корректируя сеть с целью минимизировать ошибку, мы никогда не можем быть уверены, что нельзя добиться еще меньшей ошибки. В этих рассмотрениях оказывается очень полезным понятие поверхности ошибок. Каждому из весов и порогов сети (т.е. свободных параметров модели; их общее число обозначим через N) соответствует одно измерение в многомерном пространстве. N+1-е измерение соответствует ошибке сети. Для всевозможных сочетаний весов соответствующую ошибку сети можно изобразить точкой в N+1-мерном пространстве, и все такие точки образуют там некоторую поверхность - поверхность ошибок. Цель обучения нейронной сети состоит в том, чтобы найти на этой многомерной поверхности самую низкую точку. В случае линейной модели с суммой квадратов в качестве функции ошибок эта поверхность ошибок будет представлять собой параболоид (квадрику) - гладкую поверхность, похожую на часть поверхности сферы, с единственным минимумом. В такой ситуации локализовать этот минимум достаточно просто. В случае нейронной сети поверхность ошибок имеет гораздо более сложное строение и обладает рядом неприятных свойств, в частности, может иметь локальные минимумы (точки, самые низкие в некоторой своей окрестности, но лежащие выше глобального минимума), плоские участки, седловые точки и длинные узкие овраги. Аналитическими средствами невозможно определить положение глобального минимума на поверхности ошибок, поэтому обучение нейронной сети по сути дела заключается в исследовании поверхности ошибок. Отталкиваясь от случайной начальной конфигурации весов и порогов (т.е. случайно взятой точки на поверхности ошибок), алгоритм обучения постепенно отыскивает глобальный минимум. Как правило, для этого вычисляется градиент (наклон) поверхности ошибок в данной точке, а затем эта информация используется для продвижения вниз по склону. В конце концов алгоритм останавливается в нижней точке, которая может оказаться всего лишь локальным минимумом (а если повезет - глобальным минимумом). Алгоритм обратного распространения Самый известный вариант алгоритма обучения нейронной сети - так называемый алгоритм обратного распространения (back propagation; см. Patterson, 1996; Haykin, 1994; Fausett, 1994). Существуют современные алгоритмы второго порядка, такие как метод сопряженных градиентов и метод Левенберга-Маркара (Bishop, 1995; Shepherd, 1997) (оба они реализованы в пакете ST Neural Networks), которые на многих задачах работают существенно быстрее (иногда на порядок). Алгоритм обратного распространения наиболее прост для понимания, а в некоторых случаях он имеет определенные преимущества. Сейчас мы опишем его, а более продвинутые алгоритмы рассмотрим позже. Разработаны также эвристические модификации этого алгоритма, хорошо работающие для определенных классов задач, -быстрое распространение (Fahlman, 1988) и Дельта-дельта с чертой (Jacobs, 1988) - оба они также реализованы в пакете ST Neural Networks. В алгоритме обратного распространения вычисляется вектор градиента поверхности ошибок. Этот вектор указывает направление кратчайшего спуска по поверхности из данной точки, поэтому если мы "немного" продвинемся по нему, ошибка уменьшится. Последовательность таких шагов (замедляющаяся по мере приближения к дну) в конце концов приведет к минимуму того или иного типа. Определенную трудность здесь представляет вопрос о том, какую нужно брать длину шагов. При большой длине шага сходимость будет более быстрой, но имеется опасность перепрыгнуть через решение или (если поверхность ошибок имеет особо вычурную форму) уйти в неправильном направлении. Классическим примером такого явления при обучениинейронной сети является ситуация, когда алгоритм очень медленно продвигается по узкому оврагу с крутыми склонами, прыгая с одной его стороны на другую. Напротив, при маленьком шаге, вероятно, будет схвачено верное направление, однако при этом потребуется очень много итераций. На практике величина шага берется пропорциональной крутизне склона (так что алгоритм замедляет ход вблизи минимума) с некоторой константой, которая называется скоростью обучения. Правильный выбор скорости обучения зависит от конкретной задачи и обычно осуществляется опытным путем; эта константа может также зависеть от времени, уменьшаясь по мере продвижения алгоритма. Обычно этот алгоритм видоизменяется таким образом, чтобы включать слагаемое импульса (или инерции). Этот член способствует продвижению в фиксированном направлении, поэтому если было сделано несколько шагов в одном и том же направлении, то алгоритм "увеличивает скорость", что (иногда) позволяет избежать локального минимума, а также быстрее проходить плоские участки. Таким образом, алгоритм действует итеративно, и его шаги принято называть эпохами. На каждой эпохе на вход сети поочередно подаются все обучающие наблюдения, выходные значения сети сравниваются с целевыми значениями и вычисляется ошибка. Значение ошибки, а также градиента поверхности ошибок используется для корректировки весов, после чего все действия повторяются. Начальная конфигурация сети выбирается случайным образом, и процесс обучения прекращается либо когда пройдено определенное количество эпох, либо когда ошибка достигнет некоторого определенного уровня малости, либо когда ошибка перестанет уменьшаться (пользователь может сам выбрать нужное условие остановки). Переобучение и обобщение Одна из наиболее серьезных трудностей изложенного подхода заключается в том, что таким образом мы минимизируем не ту ошибку, которую на самом деле нужно минимизировать, - ошибку, которую можно ожидать от сети, когда ей будут подаваться совершенно новые наблюдения. Иначе говоря, мы хотели бы, чтобы нейронная сеть обладала способностью обобщать результат на новые наблюдения. В действительности сеть обучается минимизировать ошибку на обучающем множестве, и в отсутствие идеального и бесконечно большого обучающего множества это совсем не то же самое, что минимизировать "настоящую" ошибку на поверхности ошибок в заранее неизвестной модели явления (Bishop, 1995). Сильнее всего это различие проявляется в проблеме переобучения, или слишком близкой подгонки. Это явление проще будет продемонстрировать не для нейронной сети, а на примере аппроксимации посредством полиномов, - при этом суть явления абсолютно та же. Полином (или многочлен) - это выражение, содержащее только константы и целые степени независимой переменной. Вот примеры: y=2x+3 y=3x2+4x+1 Графики полиномов могут иметь различную форму, причем чем выше степень многочлена (и, тем самым, чем больше членов в него входит), тем более сложной может быть эта форма. Если у нас есть некоторые данные, мы можем поставить цель подогнать к ним полиномиальную кривую (модель) и получить таким образом объяснение для имеющейся зависимости. Наши данные могут быть зашумлены, поэтому нельзя считать, что самая лучшая модель задается кривой, которая в точности проходит через все имеющиеся точки. Полином низкого порядка может быть недостаточно гибким средством для аппроксимации данных, в то время как полином высокого порядка может оказаться чересчур гибким, и будет точно следовать данным, принимая при этом замысловатую форму, не имеющую никакого отношения к форме настоящей зависимости (см. рис.). Нейронная сеть сталкивается с точно такой же трудностью. Сети с большим числом весов моделируют более сложные функции и, следовательно, склонны к переобучению. Сеть же с небольшим числом весов может оказаться недостаточно гибкой, чтобы смоделировать имеющуюся зависимость. Например, сеть без промежуточных слоев на самом деле моделирует обычную линейную функцию. Как же выбрать "правильную" степень сложности для сети? Почти всегда более сложная сеть дает меньшую ошибку, но это может свидетельствовать не о хорошем качестве модели, а о переобучении. Ответ состоит в том, чтобы использовать механизм контрольной кросс-проверки. Мы резервируем часть обучающих наблюдений и не используем их в обучении по алгоритму обратного распространения. Вместо этого, по мере работы алгоритма, они используются для независимого контроля результата. В самом начале работы ошибка сети на обучающем и контрольном множестве будет одинаковой (если они существенно отличаются, то, вероятно, разбиение всех наблюдений на два множества было неоднородно). По мере того, как сеть обучается, ошибка обучения, естественно, убывает, и, пока обучение уменьшает действительную функцию ошибок, ошибка на контрольном множестве также будет убывать. Если же контрольная ошибка перестала убывать или даже стала расти, это указывает на то, что сеть начала слишком близко аппроксимировать данные и обучение следует остановить (в пакете ST Neural Networks можно задать автоматическую остановку обучения при появлении эффекта переобучения). Это явление чересчур точной аппроксимации в процессе обучения и называется переобучением. Если такое случилось, то обычно советуют уменьшить число скрытых элементов и/или слоев, ибо сеть является слишком мощной для данной задачи. Если же сеть, наоборот, была взята недостаточно богатой для того, чтобы моделировать имеющуюся зависимость, то переобучения, скорее всего, не произойдет, и обе ошибки обучения и проверки - не достигнут достаточного уровня малости. Описанные проблемы с локальными минимумами и выбором размера сети приводят к тому, что при практической работе с нейронными сетями, как правило, приходится экспериментировать с большим числом различных сетей, порой обучая каждую из них по нескольку раз (чтобы не быть введенным в заблуждение локальными минимумами) и сравнивая полученные результаты. Главным показателем качества результата является здесь контрольная ошибка. При этом, в соответствии с общенаучным принципом, согласно которому при прочих равных следует предпочесть более простую модель, из двух сетей с приблизительно равными ошибками контроля имеет смысл выбрать ту, которая меньше. Необходимость многократных экспериментов ведет к тому, что контрольное множество начинает играть ключевую роль в выборе модели, то есть становится частью процесса обучения. Тем самым ослабляется его роль как независимого критерия качества модели при большом числе экспериментов есть риск выбрать "удачную" сеть, дающую хороший результат на контрольном множестве. Для того, чтобы придать окончательной модели должную надежность, часто (по крайней мере, когда объем обучающих данных это позволяет) поступают так: резервируют еще одно - тестовое множество наблюдений. Итоговая модель тестируется на данных из этого множества, чтобы убедиться, что результаты, достигнутые на обучающем и контрольном множествах реальны, а не являются артефактами процесса обучения. Разумеется, для того чтобы хорошо играть свою роль, тестовое множество должно быть использовано только один раз: если его использовать повторно для корректировки процесса обучения, то оно фактически превратится в контрольное множество. Итак, построение сети (после выбора входных переменных) состоит из следующих шагов: Выбрать начальную конфигурацию сети (например, один промежуточный слой с числом элементов в нем, равным полусумме числа входов и числа выходов Наставник (Network Advisor) пакета ST Neural Networks предложит Вам такую конфигурацию по умолчанию). Провести ряд экспериментов с различными конфигурациями, запоминая при этом лучшую сеть (в смысле контрольной ошибки). В пакете ST Neural Networks предусмотрено автоматическое запоминание лучшей сети во время эксперимента. Для каждой конфигурации следует провести несколько экспериментов, чтобы не получить ошибочный результат из-за того, что процесс обучения попал в локальный минимум. Если в очередном эксперименте наблюдается недообучение (сеть не выдает результат приемлемого качества), попробовать добавить дополнительные нейроны в промежуточный слой (слои). Если это не помогает, попробовать добавить новый промежуточный слой. Если имеет место переобучение (контрольная ошибка стала расти), попробовать удалить несколько скрытых элементов (а возможно и слоев). Многократное повторение эвристических экспериментов в лучшем случае довольно утомительно, и поэтому в пакет ST Neural Networks включен специальный алгоритм автоматического поиска, который проделает эти действия за Вас. Автоматический конструктор сети - Automatic Network Designer проведет эксперименты с различным числом скрытых элементов, для каждой пробной архитектуры сети выполнит несколько прогонов обучения, отбирая при этом наилучшую сеть по показателю контрольной ошибки с поправкой на размер сети. В Автоматическом конструкторе сети реализованы сложные алгоритмы поиска, в том числе метод "искусственного отжига" (simulated annealing, Kirkpatrick et al., 1983), с помощью которых можно перепробовать сотни различных сетей, выделяя из них особо перспективные, либо быстро находить "грубое и простое" решение. Отбор данных На всех предыдущих этапах существенно использовалось одно предположение. А именно, обучающее, контрольное и тестовое множества должны быть репрезентативными (представительными) с точки зрения существа задачи (более того, эти множества должны быть репрезентативными каждое в отдельности). Известное изречение программистов "garbage in, garbage out" ("мусор на входе - мусор на выходе") нигде не справедливо в такой степени, как при нейросетевом моделировании. Если обучающие данные не репрезентативны, то модель, как минимум, будет не очень хорошей, а в худшем случае бесполезной. Имеет смысл перечислить ряд причин, которые ухудшают качество обучающего множества: Будущее непохоже на прошлое. Обычно в качестве обучающих берутся исторические данные. Если обстоятельства изменились, то закономерности, имевшие место в прошлом, могут больше не действовать. Следует учесть все возможности. Нейронная сеть может обучаться только на тех данных, которыми она располагает. Предположим, что лица с годовым доходом более $100,000 имеют высокий кредитный риск, а обучающее множество не содержало лиц с доходом более $40,000 в год. Тогда едва ли можно ожидать от сети правильного решения в совершенно новой для нее ситуации. Сеть обучается тому, чему проще всего обучиться. Классическим (возможно, вымышленным) примером является система машинного зрения, предназначенная для автоматического распознавания танков. Сеть обучалась на ста картинках, содержащих изображения танков, и на ста других картинках, где танков не было. Был достигнут стопроцентно "правильный" результат. Но когда на вход сети были поданы новые данные, она безнадежно провалилась. В чем же была причина? Выяснилось, что фотографии с танками были сделаны в пасмурный, дождливый день, а фотографии без танков - в солнечный день. Сеть научилась улавливать (очевидную) разницу в общей освещенности. Чтобы сеть могла результативно работать, ее следовало обучать на данных, где бы присутствовали все погодные условия и типы освещения, при которых сеть предполагается использовать - и это еще не говоря о рельефе местности, угле и дистанции съемки и т.д. Несбалансированный набор данных. Коль скоро сеть минимизирует общую погрешность, важное значение приобретает пропорции, в которых представлены данные различных типов. Сеть, обученная на 900 хороших и 100 плохих примерах будет искажать результат в пользу хороших наблюдений, поскольку это позволит алгоритму уменьшить общую погрешность (которая определяется в основном хорошими случаями). Если в реальной популяции хорошие и плохие объекты представлены в другой пропорции, то результаты, выдаваемые сетью, могут оказаться неверными. Хорошим примером служит задача выявления заболеваний. Пусть, например, при обычных обследованиях в среднем 90% людей оказываются здоровыми. Сеть обучается на имеющихся данных, в которых пропорция здоровые/больные равна 90/10. Затем она применяется для диагностики пациентов с определенным жалобами, среди которых это соотношение уже 50/50. В этом случае сеть будет ставить диагноз чересчур осторожно и не распознает заболевание у некоторых больных. Если же, наоборот, сеть обучить на данных "с жалобами", а затем протестировать на "обычных" данных, то она будет выдавать повышенное число неправильных диагнозов о наличии заболевания. В таких ситуациях обучающие данные нужно скорректировать так, чтобы были учтены различия в распределении данных (например, можно повторять редкие наблюдения или удалить часто встречающиеся), или же видоизменить решения, выдаваемые сетью, посредством матрицы потерь (Bishop, 1995). Как правило, лучше всего постараться сделать так, чтобы наблюдения различных типов были представлены равномерно, и соответственно этому интерпретировать результаты, которые выдает сеть. Как обучается многослойный персептрон Мы сможем лучше понять, как устроен и как обучается многослойный персептрон (MLP), если выясним, какие функции он способен моделировать. Вспомним, что уровнем активации элемента называется взвешенная сумма его входов с добавленным к ней пороговым значением. Таким образом, уровень активации представляет собой простую линейную функцию входов. Эта активация затем преобразуется с помощью сигмоидной ( имеющей S-образную форму) кривой. Комбинация линейной функции нескольких переменных и скалярной сигмоидной функции приводит к характерному профилю "сигмоидного склона", который выдает элемент первого промежуточного слоя MLP (На приведенном здесь рисунке соответствующая поверхность изображена в виде функции двух входных переменных. Элемент с большим числом входов выдает многомерный аналог такой поверхности). При изменении весов и порогов меняется и поверхность отклика. При этом может меняться как ориентация всей поверхности, так и крутизна склона. Большим значениям весов соответствует более крутой склон. Так например, если увеличить все веса в два раза, то ориентация не изменится, а наклон будет более крутым. В многослойной сети подобные функции отклика комбинируются друг с другом с помощью последовательного взятия их линейных комбинаций и применения нелинейных функций активации. На этом рисунке изображена типичная поверхность отклика для сети с одним промежуточным слоем, состоящим из двух элементов, и одним выходным элементом, для классической задачи "исключающего или" (Xor). Две разных сигмоидных поверхности объединены в одну поверхность, имеющую форму буквы "U". Перед началом обучения сети весам и порогам случайным образом присваиваются небольшие по величине начальные значения. Тем самым отклики отдельных элементов сети имеют малый наклон и ориентированы хаотично - фактически они не связаны друг с другом. По мере того, как происходит обучение, поверхности отклика элементов сети вращаются и сдвигаются в нужное положение, а значения весов увеличиваются, поскольку они должны моделировать отдельные участки целевой поверхности отклика. В задачах классификации выходной элемент должен выдавать сильный сигнал в случае, если данное наблюдение принадлежит к интересующему нас классу, и слабый - в противоположном случае. Иначе говоря, этот элемент должен стремиться смоделировать функцию, равную единице в той области пространства объектов, где располагаются объекты из нужного класса, и равную нулю вне этой области. Такая конструкция известна как дискриминантная функция в задачах распознавания. "Идеальная" дискриминантная функция должна иметь плоскую структуру, так чтобы точки соответствующей поверхности располагались либо на нулевом уровне, либо на высоте единица. Если сеть не содержит скрытых элементов, то на выходе она может моделировать только одинарный "сигмоидный склон": точки, находящиеся по одну его сторону, располагаются низко, по другую - высоко. При этом всегда будет существовать область между ними (на склоне), где высота принимает промежуточные значения, но по мере увеличения весов эта область будет сужаться. Такой сигмоидный склон фактически работает как линейная дискриминантная функция. Точки, лежащие по одну сторону склона, классифицируются как принадлежащие нужному классу, а лежащие по другую сторону - как не принадлежащие. Следовательно, сеть без скрытых слоев может служить классификатором только в линейно-отделимых задачах (когда можно провести линию - или, в случае более высоких размерностей, гиперплоскость, разделяющую точки в пространстве признаков). Сеть, содержащая один промежуточный слой, строит несколько сигмоидных склонов - по одному для каждого скрытого элемента, - и затем выходной элемент комбинирует из них "возвышенность". Эта возвышенность получается выпуклой, т.е. не содержащей впадин. При этом в некоторых направлениях она может уходить на бесконечность (как длинный полуостров). Такая сеть может моделировать большинство реальных задач классификации. На этом рисунке показана поверхность отклика, полученная многослойным персептроном для решения задачи исключающего или: хорошо видно, что она выделяет область пространства, расположенную вдоль диагонали. Сеть с двумя промежуточными слоями строит комбинацию из нескольких таких возвышенностей. Их будет столько же, сколько элементов во втором слое, и у каждой из них будет столько сторон, сколько элементов было в первом скрытом слое. После небольшого размышления можно прийти к выводу, что, используя достаточное число таких возвышенностей, можно воспроизвести поверхность любой формы - в том числе с впадинами и вогнутостями. Как следствие наших рассмотрений мы получаем, что, теоретически, для моделирования любой задачи достаточно многослойного персептрона с двумя промежуточными слоями (в точной формулировке этот результат известен как теорема Колмогорова). При этом может оказаться и так, что для решения некоторой конкретной задачи более простой и удобной будет сеть с еще большим числом слоев. Однако, для решения большинства практических задач достаточно всего одного промежуточного слоя, два слоя применяются как резерв в особых случаях, а сети с тремя слоями практически не применяются. В задачах классификации очень важно понять, как следует интерпретировать те точки, которые попали на склон или лежат близко от него. Стандартный выход здесь состоит в том, чтобы для пороговых значений установить некоторые доверительные пределы (принятия или отвержения), которые должны быть достигнуты, чтобы данных элемент считался "принявшим решение". Например, если установлены пороги принятия/отвержения 0.95/0.05, то при уровне выходного сигнала, превосходящем 0.95 элемент считается активным, при уровне ниже 0.05 - неактивным, а в промежутке "неопределенным". Имеется и более тонкий (и, вероятно, более полезный) способ интерпретировать уровни выходного сигнала: считать их вероятностями. В этом случае сеть выдает несколько большую информацию, чем просто "да/нет": она сообщает нам, насколько (в некотором формальном смысле) мы можем доверять ее решению. Разработаны (и реализованы в пакете ST Neural Networks) модификации метода MLP, позволяющие интерпретировать выходной сигнал нейронной сети как вероятность, в результате чего сеть по существу учится моделировать плотность вероятности распределения данного класса. При этом, однако, вероятностная интерпретация обоснована только в том случае, если выполнены определенные предположения относительно распределения исходных данных (конкретно, что они являются выборкой из некоторого распределения, принадлежащего к семейству экспоненциальных распределений; Bishop, 1995). Здесь, как и ранее, может быть принято решение по классификации, но, кроме того, вероятностная интерпретация позволяет ввести концепцию "решения с минимальными затратами". Другие алгоритмы обучения MLP Выше было описано, как с помощью алгоритма обратного распространения осуществляется градиентный спуск по поверхности ошибок. Вкратце дело происходит так: в данной точке поверхности находится направление скорейшего спуска, затем делается прыжок вниз на расстояние, пропорциональное коэффициенту скорости обучения и крутизне склона, при этом учитывается инерция, те есть стремление сохранить прежнее направление движения. Можно сказать, что метод ведет себя как слепой кенгуру - каждый раз прыгает в направлении, которое кажется ему наилучшим. На самом деле шаг спуска вычисляется отдельно для всех обучающих наблюдений, взятых в случайном порядке, но в результате получается достаточно хорошая аппроксимация спуска по совокупной поверхности ошибок. Существуют и другие алгоритмы обучения MLP, однако все они используют ту или иную стратегию скорейшего продвижения к точке минимума. В некоторых задачах бывает целесообразно использовать такие - более сложные - методы нелинейной оптимизации. В пакете ST Neural Networks реализованы два подобных метода: методы спуска по сопряженным градиентам и Левенберга -Маркара (Bishop, 1995; Shepherd, 1997), представляющие собой очень удачные варианты реализации двух типов алгоритмов: линейного поиска и доверительных областей. Алгоритм линейного поиска действует следующим образом: выбирается какое-либо разумное направление движения по многомерной поверхности. В этом направлении проводится линия, и на ней ищется точка минимума (это делается относительно просто с помощью того или иного варианта метода деления отрезка пополам); затем все повторяется сначала. Что в данном случае следует считать "разумным направлением"? Очевидным ответом является направление скорейшего спуска (именно так действует алгоритм обратного распространения). На самом деле этот вроде бы очевидный выбор не слишком удачен. После того, как был найден минимум по некоторой прямой, следующая линия, выбранная для кратчайшего спуска, может "испортить" результаты минимизации по предыдущему направлению (даже на такой простой поверхности, как параболоид, может потребоваться очень большое число шагов линейного поиска). Более разумно было бы выбирать "не мешающие друг другу " направления спуска - так мы приходим к методу сопряженных градиентов(Bishop, 1995). Идея метода состоит в следующем: поскольку мы нашли точку минимума вдоль некоторой прямой, производная по этому направлению равна нулю. Сопряженное направление выбирается таким образом, чтобы эта производная и дальше оставалась нулевой - в предположении, что поверхность имеет форму параболоида (или, грубо говоря, является "хорошей и гладкой "). Если это условие выполнено, то для достижения точки минимума достаточно будет N эпох. На реальных, сложно устроенных поверхностях по мере хода алгоритма условие сопряженности портится, и тем не менее такой алгоритм, как правило, требует гораздо меньшего числа шагов, чем метод обратного распространения, и дает лучшую точку минимума (для того, чтобы алгоритм обратного распространения точно установился в некоторой точке, нужно выбирать очень маленькую скорость обучения). Метод доверительных областей основан на следующей идее: вместо того, чтобы двигаться в определенном направлении поиска, предположим, что поверхность имеет достаточно простую форму, так что точку минимума можно найти (и прыгнуть туда) непосредственно. Попробуем смоделировать это и посмотреть, насколько хорошей окажется полученная точка. Вид модели предполагает, что поверхность имеет хорошую и гладкую форму (например, является параболоидом), - такое предположение выполнено вблизи точек минимума. Вдали от них данное предположение может сильно нарушаться, так что модель будет выбирать для очередного продвижения совершенно не те точки. Правильно работать такая модель будет только в некоторой окрестности данной точки, причем размеры этой окрестности заранее неизвестны. Поэтому выберем в качестве следующей точки для продвижения нечто промежуточное между точкой, которую предлагает наша модель, и точкой, которая получилась бы по обычному методу градиентного спуска. Если эта новая точка оказалась хорошей, передвинемся в нее и усилим роль нашей модели в выборе очередных точек; если же точка оказалась плохой, не будем в нее перемещаться и увеличим роль метода градиентного спуска при выборе очередной точки (а также уменьшим шаг). В основанном на этой идее методе ЛевенбергаМаркара предполагается, что исходное отображение является локально линейным (и тогда поверхность ошибок будет параболоидом). Метод Левенберга-Маркара (Levenberg, 1944; Marquardt, 1963; Bishop, 1995) - самый быстрый алгоритм обучения из всех, которые реализованы в пакете ST Neural Networks, но, к сожалению, на его использование имеется ряд важных ограничений. Он применим только для сетей с одним выходным элементом, работает только с функцией ошибок сумма квадратов и требует памяти порядка W**2 (где W - количество весов у сети; поэтому для больших сетей он плохо применим). Метод сопряженных градиентов почти так же эффективен, как и этот метод, и не связан подобными ограничениями. При всем сказанном метод обратного распространения также сохраняет свое значение, причем не только для тех случаев, когда требуется быстро найти решение (и не требуется особой точности). Его следует предпочесть, когда объем данных очень велик, и среди данных есть избыточные. Благодаря тому, что в методе обратного распространения корректировка ошибки происходит по отдельным случаям, избыточность данных не вредит (если, например, приписать к имеющемуся набору данных еще один точно такой же набор, так что каждый случай будет повторяться дважды, то эпоха будет занимать вдвое больше времени, чем раньше, однако результат ее будет точно таким же, как от двух старых, так что ничего плохого не произойдет). Методы же Левенберга-Маркара и сопряженных градиентовпроводят вычисления на всем наборе данных, поэтому при увеличении числа наблюдений продолжительность одной эпохи сильно растет, но при этом совсем не обязательно улучшается результат, достигнутый на этой эпохе (в частности, если данные избыточны; если же данные редкие, то добавление новых данных улучшит обучение на каждой эпохе). Кроме того, обратное распространение не уступает другим методам в ситуациях, когда данных мало, поскольку в этом случае недостаточно данных для принятия очень точного решения (более тонкий алгоритм может дать меньшую ошибку обучения, но контрольная ошибка у него, скорее всего, не будет меньше). Кроме уже перечисленных, в пакете ST Neural Networks имеются две модификации метода обратного распространения - метод быстрого распространения (Fahlman, 1988) и дельта-дельта с чертой (Jacobs, 1988), - разработанные с целью преодолеть некоторые ограничения этого подхода. В большинстве случаев они работают не лучше, чем обратное распространение, а иногда и хуже (это зависит от задачи). Кроме того, в этих методах используется больше управляющих параметров, чем в других методах, и поэтому ими сложнее пользоваться. Мы не будем описывать это методы подробно в данной главе. В начало Радиальная базисная функция В предыдущем разделе было описано, как многослойный персептрон моделирует функцию отклика с помощью функций "сигмоидных склонов " - в задачах классификации это соответствует разбиению пространства входных данных посредством гиперплоскостей. Метод разбиения пространства гиперплоскостями представляется естественным и интуитивно понятным, ибо он использует фундаментальное простое понятие прямой линии. Столь же естественным является подход, основанный на разбиении пространства окружностями или (в общем случае) гиперсферами. Гиперсфера задается своим центром и радиусом. Подобно тому, как элемент MLP реагирует (нелинейно) на расстояние от данной точки до линии "сигмоидного склона", в сети, построенной на радиальных базисных функциях (Broomhead and Lowe, 1988; Moody and Darkin, 1989; Haykin, 1994), элемент реагирует (нелинейно) на расстояние от данной точки до "центра", соответствующего этому радиальному элементу. Поверхность отклика радиального элемента представляет собой гауссову функцию (колоколообразной формы), с вершиной в центре и понижением к краям. Наклон гауссова радиального элемента можно менять подобно тому, как можно менять наклон сигмоидной кривой в MLP (см. рис.). Элемент многослойного персептрона полностью задается значениями своих весов и порогов, которые в совокупности определяют уравнение разделяющей прямой и скорость изменения функции при отходе от этой линии. До действия сигмоидной функции активацииуровень активации такого элемента определяется гиперплоскостью, поэтому в системе ST Neural Networks такие элементы называется линейными (хотя функция активации, как правило, нелинейна). В отличие от них, радиальный элемент задается своим центром и "радиусом". Положение точки в N-мерном пространстве определяется N числовыми параметрами, т.е. их ровно столько же, сколько весов у линейного элемента, и поэтому координаты центра радиального элемента в пакете ST Neural Networks хранятся как "веса". Его радиус (отклонение) хранится как "порог". Следует отчетливо понимать, что "веса" и "пороги" радиального элемента принципиально отличаются от весов и порогов линейного элемента, и если забыть об этом, термин может ввести Вас в заблуждение. Радиальные веса на самом деле представляют точку, а радиальный порог - отклонение. Сеть типа радиальной базисной функции (RBF) имеет промежуточный слой из радиальных элементов, каждый из которых воспроизводит гауссову поверхность отклика. Поскольку эти функции нелинейны, для моделирования произвольной функции нет необходимости брать более одного промежуточного слоя. Для моделирования любой функции необходимо лишь взять достаточное число радиальных элементов. Остается решить вопрос о том, как следует скомбинировать выходы скрытых радиальных элементов, чтобы получить из них выход сети. Оказывается, что достаточно взять их линейную комбинацию (т.е. взвешенную сумму гауссовых функций). Сеть RBF имеет выходной слой, состоящий из элементов с линейными функциями активации (Haykin, 1994; Bishop, 1995). Сети RBF имеют ряд преимуществ перед сетями MLP. Во-первых, как уже сказано, они моделируют произвольную нелинейную функцию с помощью всего одного промежуточного слоя, и тем самым избавляют нас от необходимости решать вопрос о числе слоев. Во-вторых, параметры линейной комбинации в выходном слое можно полностью оптимизировать с помощью хорошо известных методов линейного моделирования, которые работают быстро и не испытывают трудностей с локальными минимумами, так мешающими при обучении MLP. Поэтому сеть RBF обучается очень быстро (на порядок быстрее MLP). С другой стороны, до того, как применять линейную оптимизацию в выходном слое сети RBF, необходимо определить число радиальных элементов, положение их центров и величины отклонений. Соответствующие алгоритмы, хотя и работают быстрее алгоритмов обучения MLP, в меньшей степени пригодны для отыскания субоптимальных решений. В качестве компенсации, Автоматический конструктор сети пакета ST Neural Networks сможет выполнить за Вас все необходимые действия по экспериментированию с сетью. Другие отличия работы RBF от MLP связаны с различным представлением пространства модели: "групповым" в RBF и "плоскостным" в MLP. Опыт показывает, что для правильного моделирования типичной функции сеть RBF, с ее более эксцентричной поверхностью отклика, требует несколько большего числа элементов. Конечно, можно специально придумать форму поверхности, которая будет хорошо представляться первым или, наоборот, вторым способом, но общий итог оказывается не в пользу RBF. Следовательно, модель, основанная на RBF, будет работать медленнее и потребует больше памяти, чем соответствующий MLP (однако она гораздо быстрее обучается, а в некоторых случаях это важнее). С "групповым" подходом связано и неумение сетей RBF экстраполировать свои выводы за область известных данных. При удалении от обучающего множества значение функции отклика быстро спадает до нуля. Напротив, сеть MLP выдает более определенные решения при обработке сильно отклоняющихся данных. Достоинство это или недостаток зависит от конкретной задачи, однако в целом склонность MLP к некритическому экстраполированию результата считается его слабостью. Экстраполяция на данные, лежащие далеко от обучающего множества, - вещь, как правило, опасная и необоснованная. Сети RBF более чувствительны к "проклятию размерности" и испытывают значительные трудности, когда число входов велико. Мы обсудим этот вопрос ниже. Как уже говорилось, обучение RBF-сети происходит в несколько этапов. Сначала определяются центры и отклонения для радиальных элементов; после этого оптимизируются параметры линейного выходного слоя. Расположение центров должно соответствовать кластерам, реально присутствующим в исходных данных. Рассмотрим два наиболее часто используемых метода. Расположение центров должно соответствовать кластерам, реально присутствующим в исходных данных. Рассмотрим два наиболее часто изпользуемых метода. Выборка из выборки. В качестве центров радиальных элементов берутся несколько случайно выбранных точек обучающего множества. В силу случайности выбора они "представляют" распределение обучающих данных в статистическом смысле. Однако, если число радиальных элементов невелико, такое представление может быть неудовлетворительным (Haykin, 1994). Алгоритм K-средних. Этот алгоритм (Bishop, 1995) стремится выбрать оптимальное множество точек, являющихся центроидами кластеров в обучающих данных. При K радиальных элементах их центры располагаются таким образом, чтобы: Каждая обучающая точка "относилась" к одному центру кластера и лежала к нему ближе, чем к любому другому центру; Каждый центр кластера был центроидом множества обучающих точек, относящихся к этому кластеру. После того, как определено расположение центров, нужно найти отклонения. Величина отклонения (ее также называют сглаживающим фактором) определяет, насколько "острой" будет гауссова функция. Если эти функции выбраны слишком острыми, сеть не будет интерполировать данные между известными точками и потеряет способность к обобщению. Если же гауссовы функции взяты чересчур широкими, сеть не будет воспринимать мелкие детали. На самом деле сказанное - еще одна форма проявления дилеммы пере/недообучения. Как правило, отклонения выбираются таким образом, чтобы колпак каждой гауссовой функций захватывал "несколько" соседних центров. Для этого имеется несколько методов: Явный. Отклонения задаются пользователем. Изотропный. Отклонение берется одинаковым для всех элементов и определяется эвристически с учетом количества радиальных элементов и объема покрываемого пространства (Haykin, 1994). K ближайших соседей. Отклонение каждого элемента устанавливается (индивидуально) равным среднему расстоянию до его K ближайших соседей (Bishop, 1995). Тем самым отклонения будут меньше в тех частях пространства, где точки расположены густо, - здесь будут хорошо учитываться детали, - а там, где точек мало, отклонения будут большими (и будет производится интерполяция). После того, как выбраны центры и отклонения, параметры выходного слоя оптимизируются с помощью стандартного метода линейной оптимизации - алгоритма псевдообратных матриц (сингулярного разложения) (Haykin, 1994; Golub and Kahan, 1965). Могут быть построены различные гибридные разновидности радиальных базисных функций. Например, выходной слой может иметь нелинейные функции активации, и тогда для его обучения используется какой-либо из алгоритмов обучения многослойных персептронов, например метод обратного распространения. Можно также обучать радиальный (скрытый) слой с помощью алгоритма обучения сети Кохонена - это еще один способ разместить центры так, чтобы они отражали расположение данных. В начало Вероятностная нейронная сеть В предыдущем разделе, говоря о задачах классификации, мы кратко упомянули о том, что выходы сети можно с пользой интерпретировать как оценки вероятности того, что элемент принадлежит некоторому классу, и сеть фактически учится оценивать функцию плотности вероятности. Аналогичная полезная интерпретация может иметь место и в задачах регрессии - выход сети рассматривается как ожидаемое значение модели в данной точке пространства входов. Это ожидаемое значение связано с плотностью вероятности совместного распределения входных и выходных данных. Задача оценки плотности вероятности (p.d.f.) по данным имеет давнюю историю в математической статистике (Parzen, 1962) и относится к области байесовой статистики. Обычная статистика по заданной модели говорит нам, какова будет вероятность того или иного исхода (например, что на игральной кости шесть очков будет выпадать в среднем одном случае из шести). Байесова статистика переворачивает вопрос вверх ногами: правильность модели оценивается по имеющимся достоверным данным. В более общем плане, байесова статистика дает возможность оценивать плотность вероятности распределений параметров модели по имеющимся данных. Для того, чтобы минимизировать ошибку, выбирается модель с такими параметрами, при которых плотность вероятности будет наибольшей. При решении задачи классификации можно оценить плотность вероятности для каждого класса, сравнить между собой вероятности принадлежности различным классам и выбрать наиболее вероятный. На самом деле именно это происходит, когда мы обучаем нейронную сеть решать задачу классификации - сеть пытается определить (т.е. аппроксимировать) плотность вероятности. Традиционный подход к задаче состоит в том, чтобы построить оценку для плотности вероятности по имеющимся данным. Обычно при этом предполагается, что плотность имеет некоторый определенный вид (чаще всего - что она имеет нормальное распределение). После этого оцениваются параметры модели. Нормальное распределение часто используется потому, что тогда параметры модели (среднее и стандартное отклонение) можно оценить аналитически. При этом остается вопрос о том, что предположение о нормальности не всегда оправдано. Другой подход к оценке плотности вероятности основан на ядерных оценках (Parzen, 1962; Speckt, 1990; Speckt, 1991; Bishop, 1995; Patterson, 1996). Можно рассуждать так: тот факт, что наблюдение расположено в данной точке пространства, свидетельствует о том, что в этой точке имеется некоторая плотность вероятности. Кластеры из близко лежащих точек указывают на то, что в этом месте плотность вероятности большая. Вблизи наблюдения имеется большее доверие к уровню плотности, а по мере отдаления от него доверие убывает и стремится к нулю. В методе ядерных оценок в точке, соответствующей каждому наблюдению, помещается некоторая простая функция, затем все они складываются и в результате получается оценка для общей плотности вероятности. Чаще всего в качестве ядерных функций берутся гауссовы функции (с формой колокола). Если обучающих примеров достаточное количество, то такой метод дает достаточно хорошее приближение к истинной плотности вероятности. Метод аппроксимации плотности вероятности с помощью ядерных функций во многом похож на метод радиальных базисных функций, и таким образом мы естественно приходим к понятиям вероятностной нейронной сети (PNN) и обобщенно-регрессионной нейронной сети (GRNN) (Speckt 1990, 1991). PNN-сети предназначены для задач классификации, а GRNN - для задач регрессии. Сети этих двух типов представляют собой реализацию методов ядерной аппроксимации, оформленных в виде нейронной сети. Сеть PNN имеет по меньшей мере три слоя: входной, радиальный и выходной. Радиальные элементы берутся по одному на каждое обучающее наблюдение. Каждый из них представляет гауссову функцию с центром в этом наблюдении. Каждому классу соответствует один выходной элемент. Каждый такой элемент соединен со всеми радиальными элементами, относящимися к его классу, а со всеми остальными радиальными элементами он имеет нулевое соединение. Таким образом, выходной элемент просто складывает отклики всех элементов, принадлежащих к его классу. Значения выходных сигналов получаются пропорциональными ядерным оценкам вероятности принадлежности соответствующим классам, и пронормировав их на единицу, мы получаем окончательные оценки вероятности принадлежности классам. Базовая модель PNN-сети может иметь две модификации. В первом случае мы предполагаем, что пропорции классов в обучающем множестве соответствуют их пропорциям во всей исследуемой популяции (или так называемым априорным вероятностям). Например, если среди всех людей больными являются 2%, то в обучающем множестве для сети, диагностирующей заболевание, больных должно быть тоже 2%. Если же априорные вероятности будут отличаться от пропорций в обучающей выборке, то сеть будет выдавать неправильный результат. Это можно впоследствии учесть (если стали известны априорные вероятности), вводя поправочные коэффициенты для различных классов. Второй вариант модификации основан на следующей идее. Любая оценка, выдаваемая сетью, основывается на зашумленных данных и неизбежно будет приводить к отдельным ошибкам классификации (например, у некоторых больных результаты анализов могут быть вполне нормальными). Иногда бывает целесообразно считать, что некоторые виды ошибок обходятся "дороже" других (например, если здоровый человек будет диагностирован как больной, то это вызовет лишние затраты на его обследование, но не создаст угрозы для жизни; если же не будет выявлен действительный больной, то это может привести к смертельному исходу). В такой ситуации те вероятности, которые выдает сеть, следует домножить на коэффициенты потерь, отражающие относительную цену ошибок классификации. В пакете ST Neural Networks в вероятностную нейронную сеть может быть добавлен четвертый слой, содержащий матрицу потерь. Она умножается на вектор оценок, полученный в третьем слое, после чего в качестве ответа берется класс, имеющий наименьшую оценку потерь. (Матрицу потерь можно добавлять и к другим видам сетей, решающих задачи классификации.) Вероятностная нейронная сеть имеет единственный управляющий параметр обучения, значение которого должно выбираться пользователем, - степень сглаживания (или отклонение гауссовой функции). Как и в случае RBF-сетей, этот параметр выбирается из тех соображений, чтобы шапки " определенное число раз перекрывались": выбор слишком маленьких отклонений приведет к "острым" аппроксимирующим функциям и неспособности сети к обобщению, а при слишком больших отклонениях будут теряться детали. Требуемое значение несложно найти опытным путем, подбирая его так, чтобы контрольная ошибка была как можно меньше. К счастью, PNN-сети не очень чувствительны к выбору параметра сглаживания. Наиболее важные преимущества PNN-сетей состоят в том, что выходное значение имеет вероятностный смысл (и поэтому его легче интерпретировать), и в том, что сеть быстро обучается. При обучения такой сети время тратится практически только на то, чтобы подавать ей на вход обучающие наблюдения, и сеть работает настолько быстро, насколько это вообще возможно. Существенным недостатком таких сетей является их объем. PNN-сеть фактически вмещает в себя все обучающие данные, поэтому она требует много памяти и может медленно работать. PNN-сети особенно полезны при пробных экспериментах (например, когда нужно решить, какие из входных переменных использовать), так как благодаря короткому времени обучения можно быстро проделать большое количество пробных тестов. В пакете ST Neural Networks PNN-сети используются также в Нейро-генетическом алгоритме отбора входных данных - Neuro-Genetic Input Selection, который автоматически находит значимые входы (будет описан ниже). В начало Обобщенно-регрессионная нейронная сеть Обобщенно-регрессионная нейронная сеть (GRNN) устроена аналогично вероятностной нейронной сети (PNN), но она предназначена для решения задач регрессии, а не классификации (Speckt, 1991; Patterson, 1996; Bishop, 1995). Как и в случае PNN-сети, в точку расположения каждого обучающего наблюдения помещается гауссова ядерная функция. Мы считаем, что каждое наблюдение свидетельствует о некоторой нашей уверенности в том, что поверхность отклика в данной точке имеет определенную высоту, и эта уверенность убывает при отходе в сторону от точки. GRNN-сеть копирует внутрь себя все обучающие наблюдения и использует их для оценки отклика в произвольной точке. Окончательная выходная оценка сети получается как взвешенное среднее выходов по всем обучающим наблюдениям, где величины весов отражают расстояние от этих наблюдений до той точки, в которой производится оценивание (и, таким образом, более близкие точки вносят больший вклад в оценку). Первый промежуточный слой сети GRNN состоит из радиальных элементов. Второй промежуточный слой содержит элементы, которые помогают оценить взвешенное среднее. Для этого используется специальная процедура. Каждый выход имеет в этом слое свой элемент, формирующий для него взвешенную сумму. Чтобы получить из взвешенной суммы взвешенное среднее, эту сумму нужно поделить на сумму весовых коэффициентов. Последнюю сумму вычисляет специальный элемент второго слоя. После этого в выходном слое производится собственно деление (с помощью специальных элементов "деления"). Таким образом, число элементов во втором промежуточном слое на единицу больше, чем в выходном слое. Как правило, в задачах регрессии требуется оценить одно выходное значение, и, соответственно, второй промежуточный слой содержит два элемента. Можно модифицировать GRNN-сеть таким образом, чтобы радиальные элементы соответствовали не отдельным обучающим случаям, а их кластерам. Это уменьшает размеры сети и увеличивает скорость обучения. Центры для таких элементов можно выбирать с помощью любого предназначенного для этой цели алгоритма (выборки из выборки, K-средних или Кохонена), и программа ST Neural Networks соответствующим образом корректирует внутренние веса. Достоинства и недостатки у сетей GRNN в основном такие же, как и у сетей PNN единственное различие в том, что GRNN используются в задачах регрессии, а PNN - в задачах классификации. GRNN-сеть обучается почти мгновенно, но может получиться большой и медленной (хотя здесь, в отличие от PNN, не обязательно иметь по одному радиальному элементу на каждый обучающий пример, их число все равно будет большим). Как и сеть RBF, сеть GRNN не обладает способностью экстраполировать данные. В начало Линейная сеть Согласно общепринятому в науке принципу, если более сложная модель не дает лучших результатов, чем более простая, то из них следует предпочесть вторую. В терминах аппроксимации отображений самой простой моделью будет линейная, в которой подгоночная функция определяется гиперплоскостью. В задаче классификации гиперплоскость размещается таким образом, чтобы она разделяла собой два класа (линейная дискриминантная функция); в задаче регрессии гиперплоскость должна проходить через заданные точки. Линейная модель обычно записывается с помощью матрицы NxN и вектора смещения размера N. На языке нейронных сетей линейная модель представляется сетью без промежуточных слоев, которая в выходном слое содержит только линейные элементы (то есть элементы с линейной функцией активации). Веса соответствуют элементам матрицы, а пороги компонентам вектора смещения. Во время работы сеть фактически умножает вектор входов на матрицу весов, а затем к полученному вектору прибавляет вектор смещения. В пакете ST Neural Networks имеется возможность создать линейную сеть и обучить ее с помощью стандартного алгоритма линейной оптимизации, основанного на псевдообратных матрицах (SVD) (Golub and Kahan, 1965). Разумеется, метод линейной оптимизации реализован также в модуле Множественная регрессия системы STATISTICA; однако, линейные сети пакета ST Neural Networks имеют то преимущество, что здесь Вы можете в единой среде сравнивать такие сети с "настоящими" нейронными сетями. Линейная сеть является хорошей точкой отсчета для оценки качества построенных Вами нейронных сетей. Может оказаться так, что задачу, считавшуюся очень сложной, можно успешно не только нейронной сетью, но и простым линейным методом. Если же в задаче не так много обучающих данных, то, вероятно, просто нет оснований использовать более сложные модели. В начало Сеть Кохонена Сети Кохонена принципиально отличаются от всех других типов сетей, реализованных в пакете ST Neural Networks. В то время как все остальные сети предназначены для задач с управляемым обучением, сети Кохонена главным образом рассчитана на неуправляемое обучение (Kohonen, 1982; Haykin, 1994; Patterson, 1996; Fausett, 1994). При управляемом обучении наблюдения, составляющие обучающие данные, вместе с входными переменными содержат также и соответствующие им выходные значения, и сеть должна восстановить отображение, переводящее первые во вторые. В случае женеуправляемого обучения обучающие данные содержат только значения входных переменных. На первый взгляд это может показаться странным. Как сеть сможет чему-то научиться, не имея выходных значений? Ответ заключается в том, что сеть Кохонена учится понимать саму структуру данных. Одно из возможных применений таких сетей - разведочный анализ данных. Сеть Кохонена может распознавать кластеры в данных, а также устанавливать близость классов. Таким образом пользователь может улучшить свое понимание структуры данных, чтобы затем уточнить нейросетевую модель. Если в данных распознаны классы, то их можно обозначить, после чего сеть сможет решать задачи классификации. Сети Кохонена можно использовать и в тех задачах классификации, где классы уже заданы, тогда преимущество будет в том, что сеть сможет выявить сходство между различными классами. Другая возможная область применения - обнаружение новых явлений. Сеть Кохонена распознает кластеры в обучающих данных и относит все данные к тем или иным кластерам. Если после этого сеть встретится с набором данных, непохожим ни на один из известных образцов, то она не сможет классифицировать такой набор и тем самым выявит его новизну. Сеть Кохонена имеет всего два слоя: входной и выходной, составленный из радиальных элементов (выходной слой называют также слоем топологической карты). Элементы топологической карты располагаются в некотором пространстве - как правило двумерном (в пакетеST Neural Networks реализованы также одномерные сети Кохонена). Обучается сеть Кохонена методом последовательных приближений. Начиная со случайным образом выбранного исходного расположения центров, алгоритм постепенно улучшает его так, чтобы улавливать кластеризацию обучающих данных. В некотором отношении эти действия похожи на алгоритмы выборки из выборки и K-средних, которые используются для размещения центров в сетях RBF и GRNN, и действительно, алгоритм Кохонена можно использовать для размещения центров в сетях этих типов. Однако, данный алгоритм работает и на другом уровне. Помимо того, что уже сказано, в результате итеративной процедуры обучения сеть организуется таким образом, что элементы, соответствующие центрам, расположенным близко друг от друга в пространстве входов, будут располагаться близко друг от друга и натопологической карте. Топологический слой сети можно представлять себе как двумерную решетку, которую нужно так отобразить в N-мерное пространство входов, чтобы по возможности сохранить исходную структуру данных. Конечно же, при любой попытке представить N-мерное пространство на плоскости будут потеряны многие детали; однако, такой прием иногда полезен, так как он позволяет пользователю визуализировать данные, которые никаким иным способом понять невозможно. Основной итерационный алгоритм Кохонена последовательно проходит одну за другой ряд эпох, при этом на каждой эпохе он обрабатывает каждый из обучающих примеров, и затем применяет следующий алгоритм: Выбрать выигравший нейрон (то есть тот, который расположен ближе всего к входному примеру); Скорректировать выигравший нейрон так, чтобы он стал более похож на этот входной пример (взяв взвешенную сумму прежнего центра нейрона и обучающего примера). В алгоритме при вычислении взвешенной суммы используется постепенно убывающий коэффициент скорости обучения, с тем чтобы на каждой новой эпохе коррекция становилась все более тонкой. В результате положение центра установится в некоторой позиции, которая удовлетворительным образом представляет те наблюдения, для которых данный нейрон оказался выигравшим. Свойство топологической упорядоченности достигается в алгоритме с помощью дополнительного использования понятия окрестности. Окрестность - это несколько нейронов, окружающих выигравший нейрон. Подобно скорости обучения, размер окрестности убывает со временем, так что вначале к ней принадлежит довольно большое число нейронов (возможно, почти вся топологическая карта); на самых последних этапах окрестность становится нулевой (т.е. состоящей только из самого выигравшего нейрона). На самом деле в алгоритме Кохонена корректировка применяется не только к выигравшему нейрону, но и ко всем нейронам из его текущей окрестности. Результатом такого изменения окрестностей является то, что изначально довольно большие участки сети "перетягиваются" - и притом заметно - в сторону обучающих примеров. Сеть формирует грубую структуру топологического порядка, при которой похожие наблюдения активируют группы близко лежащих нейронов на топологической карте. С каждой новой эпохой скорость обучения и размер окрестности уменьшаются, тем самым внутри участков карты выявляются все более тонкие различия, что в конце концов приводит к тонкой настройке каждого нейрона. Часто обучение умышленно разбивают на две фазы: более короткую, с большой скоростью обучения и большими окрестностями, и более длинную с малой скоростью обучения и нулевыми или почти нулевыми окрестностями. После того, как сеть обучена распознаванию структуры данных, ее можно использовать как средство визуализации при анализе данных. С помощью данных, выводимых в окне Частоты выигрышей - Win Frequencies , (где для каждого нейрона подсчитывается, сколько раз он выигрывал при обработке обучающих примеров), можно определить, разбивается ли карта на отдельные кластеры. Можно также обрабатывать отдельные наблюдения и смотреть, как при этом меняется топологическая карта, - это позволяет понять, имеют ли кластеры какой-то содержательный смысл (как правило при этом приходится возвращаться к содержательному смыслу задачи, чтобы установить, как соотносятся друг с другом кластеры наблюдений). После того, как кластеры выявлены, нейроны топологической карты помечаются содержательными по смыслу метками (в некоторых случаях помечены могут быть и отдельные наблюдения). После того, как топологическая карта в описанном здесь виде построена, на вход сети можно подавать новые наблюдения. Если выигравший при этом нейрон был ранее помечен именем класса, то сеть осуществляет классификацию. В противном случае считается, что сеть не приняла никакого решения. При решении задач классификации в сетях Кохонена используется так называемый порог доступа. Ввиду того, что в такой сети уровень активации нейрона есть расстояние от него до входного примера, порог доступа играет роль максимального расстояния, на котором происходит распознавание. Если уровень активации выигравшего нейрона превышает это пороговое значение, то сеть считается не принявшей никакого решения. Поэтому, когда все нейроны помечены, а пороги установлены на нужном уровне, сеть Кохонена может служить как детектор новых явлений (она сообщает о непринятии решения только в том случае, если поданный ей на вход случай значительно отличается от всех радиальных элементов). Идея сети Кохонена возникла по аналогии с некоторыми известными свойствами человеческого мозга. Кора головного мозга представляет собой большой плоский лист (площадью около 0.5 кв.м.; чтобы поместиться в черепе, она свернута складками) с известными топологическими свойствами (например, участок, ответственный за кисть руки, примыкает к участку, ответственному за движения всей руки, и таким образом все изображение человеческого тела непрерывно отображается на эту двумерную поверхность). В начало Решение задач классификации в пакете ST Neural Networks В задаче классификации сеть должна отнести каждое наблюдение к одному из нескольких классов (или, в более общем случае, оценить вероятность принадлежности наблюдения к каждому из классов). В пакете ST Neural Networks для классификации используется номинальная выходная переменная - различные ее значения соответствуют различным классам. В пакете ST Neural Networks классификацию можно осуществлять с помощью сетей следующих типов: многослойного персептрона, радиальной базисной функции, сети Кохонена, вероятностной нейронной сети и линейной сети. Единственная из сетей пакета ST Neural Networks , не предназначенная для задач классификации, это обобщенно-регрессионная сеть (на самом деле, если Вы потребуете, GRNNs будет пытаться это сделать, но мы этого не рекомендуем). Номинальные переменные представляются в пакете ST Neural Networks в одном из двух видов ( первый из них годится только для переменных с двумя значениями): 1) бинарном (два состояния) и 2) один-из-N. При бинарном представлении переменной соответствует один узел сети, при этом значение 0.0 означает активное состояние, а 1.0 - неактивное. При кодировании 1-из-N на каждое состояние выделяется один элемент, так что каждое конкретное состояние представляется как 1.0 в соответствующем элементе и 0.0 во всех других. Номинальные входные переменные в пакете ST Neural Networks могут быть преобразованы одним из этих методов как на этапе обучения сети, так и при ее работе. Целевые выходные значения для элементов, соответствующих номинальным переменным, также легко определяются во время обучения. Несколько большие усилия требуются на то, чтобы по результатам работы сети определить выходной класс. Каждый из выходных элементов будет содержать числовые значения в интервале от 0.0 до 1.0. Чтобы уверенно определить класс по набору выходных значений, сеть должна решить, "достаточно ли близки" они к нулю или единице. Если такой близости не наблюдается, класс считается "неопределенным". Кроме того, в пакете ST Neural Networks для интерпретации выходных значений используются доверительные уровни (пороги принятия и отвержения). Эти пороговые значения можно корректировать, чтобы заставить сеть быть более или, наоборот, менее "решительной" при объявлении класса. Схемы здесь немного различаются для случаев бинарного и 1-из-N представлений: Бинарное. Если выходное значение элемента превышает порог принятия, то выбирается класс 1.0. Если выходное значение лежит ниже порога отвержения, выбирается класс 0.0. Если выходное значение лежит между порогами, класс считается не определенным. Один -из-N. Определенный класс выбирается только в том случае, если значение соответствующего выходного элемента выше порога принятия, а всех остальных выходных элементов - ниже порога отвержения. Если же данное условие не выполнено, класс не определяется. При кодировании методом 1-из-N имеет место одна особенность. На первый взгляд кажется, что "наиболее решительной" будет сеть с порогами принятия и отвержения, равными 0.5. Это действительно так для бинарного кодирования, но уже не так для кодирования 1-из-N. Можно сделать так, чтобы порог принятия был ниже порога отвержения, и наиболее решительной будет сеть, у которой порог принятия 0.0 , а порог отвержения 1.0. При такой, на первый взгляд странной настройке сети элемент с наивысшим уровнем активации будет определять класс вне зависимости от того, что происходит в других элементах. Вот точная схема действия алгоритма определения класса в пакете ST Neural Networks: Выбирается элемент с наивысшим выходным сигналом. Если его выходной сигнал выше или равен порогу принятия, а выходные сигналы всех остальных элементов ниже порога отвержения, то в качестве ответа выдать класс, определяемый этим элементом. При пороге принятия 0.0 выходной сигнал выигравшего элемента всегда будет принят, а при пороге отвержения 1.0 все остальные элементы неизбежно будут отвергнуты, и поэтому алгоритм сводится к простому выбору выигравшего элемента. Если же оба пороговых значения - принятия и отвержения - установить на уровне 0.5, сеть вполне может остаться в нерешительности (в случаях, когда у победителя результат ниже 0.5 или у кого-то из проигравших - выше 0.5). Хотя для понимания описанной процедуры требуются определенные усилия, после того, как Вы к ней привыкнете, Вы сможете устанавливать для задачи различные тонкие условия. Например, уровни принятия/отвержения, равные 0.3/0.7 , означают следующее: "выбрать класс, соответствующий выигравшему элементу, при условии, что его выход был не ниже 0.3 и ни у какого другого элемента активация не превышала 0.7" - другими словами, для того, чтобы решение было принято, победитель должен показать заметный уровень активации, а проигравшие - не слишком высокий. Все сказанное относится к механизму выбора класса для большинства типов сетей: MLP, RBF, линейных сетей и PNN (одно исключение: в PNN-сети нельзя использовать бинарное кодирование, и даже бинарные номинальные выходные переменные оцениваются с помощью кодирования 1-из-N ). В отличие от них, сеть Кохонена действует совершенно иначе. В сети Кохонена выигравшим элементом топологической карты (выходного слоя) является тот, у которого самый высокий уровень активации (он измеряет расстояние от входного примера до точки, координаты которой хранятся в элементе сети). Некоторые или даже все элементы топологической карты могут быть помечены именами классов. Если это расстояние достаточно мало, то данный случай причисляется к соответствующему классу (при условии, что указано имя класса). В пакете ST Neural Networks значение порога принятия - это наибольшее расстояние, на котором принимается положительное решение о классификации наблюдения. Если же входной случай лежит от выигравшего элемента на более далеком расстоянии или если выигравший элемент не был помечен (или если его метка не соответствует ни одному из значений выходной номинальной переменной), то случай остается нерасклассифицированным. Порог отвержения в сетях Кохонена не используется. В наших рассмотрениях мы предполагали, что "положительному" решению о классификации должно соответствовать значение, близкое к 1.0, а "отрицательному" близкое к 0.0. Это действительно так в том случае, если на выходе используются логистические функции активации. Кроме того, это удобно, поскольку вероятность может принимать значения от 0.0 до 1.0. Однако, в некоторых ситуациях может оказаться более удобным использовать другой диапазон. Иногда применяется обратная упорядоченность, так что положительное решение соответствует малым выходным значениям. Пакет ST Neural Networks поддерживает любой из этих вариантов работы. Вначале в качестве границ диапазона для каждой переменной используются значения минимум/среднее и максимум/стандартное отклонение. Для логистической выходной функции активации хорошими значениями по умолчанию являются 0.0 и 1.0. Некоторые авторы советуют использовать в качестве функции активации гиперболический тангенс, который принимает значения в интервале (-1.0,+1.0) . Таким приемом можно улучшить обучение, потому что эта функция (в отличие от логистической) симметрична. В этом случае нужно изменить значения минимум/среднее и максимум/стандартное отклонение, и программа ST Neural Networks автоматически будет правильно интерпретировать классы. Обратная упорядоченность, как правило, применяется в двух ситуациях. Одну из них мы только что обсудили: это сети Кохонена, в которых выходное значение есть мера удаленности, и ее малое значение соответствует большему доверию. Вторая ситуация возникает при использовании матрицы потерь (которая может быть добавлена в вероятностную сеть на этапе ее построения или вручную - к сетям других типов). Если используется матрица потерь, то выходы сети означают ожидаемые потери от выбора того или иного класса, и цель заключается в том, чтобы выбрать класс с наименьшими потерями. Упорядоченность можно обратить, объявив выходной сигнал не уровнем доверия, а мерой ошибки. В таком случае порог принятия будет ниже порога отвержения. Таблица статистик классификации При выборе порогов принятия/отвержения и оценке способностей сети к классификации очень помогает информация, содержащаяся в окне Статистики классификации - Classification Statistics. В нем указывается, сколько наблюдений было классифицировано правильно, сколько неправильно или вообще не классифицировано. Кроме того, выдается информация о том, сколько наблюдений каждого класса было отнесено к другим классам. Все эти данные выдаются отдельно для обучающего, контрольного и тестового множеств. В начало Решение задач регрессии в пакете ST Neural Networks В задачах регрессии целью является оценка значения числовой (принимающей непрерывный диапазон значений) выходной переменной по значениям входных переменных. Задачи регрессии в пакете ST Neural Networks можно решать с помощью сетей следующих типов:многослойный персептрон, радиальная базисная функция, обобщенно-регрессионная сеть и линейная сеть. При этом выходные данные должны иметь стандартный числовой (не номинальный) тип. Особую важность для регрессии имеют масштабирование (шкалирование) выходных значений и эффекты экстраполяции. Нейронные сети наиболее часто используемых архитектур выдают выходные значения в некотором определенном диапазоне (например, на отрезке [0,1] в случае логистической функции активации). Для задач классификации это не создает трудностей. Однако для задачрегрессии совершенно очевидно, что тут есть проблема, и некоторые ее детали оказываются весьма тонкими. Сейчас мы обсудим возникающие здесь вопросы. Для начала применим алгоритм масштабирования, чтобы выход сети имел "приемлемый" диапазон. Простейшей из масштабирующих функций пакета ST Neural Networks является минимаксная функция: она находит минимальное и максимальное значение переменной по обучающему множеству и выполняет линейное преобразование (с применением коэффициента масштаба и смещения), так чтобы значения лежали в нужном диапазоне (как правило, на отрезке [0.0,1.0]). Если эти действия применяются к числовой (непрерывной) выходной переменной, то есть гарантия, что все обучающие значения после преобразования попадут в область возможных выходных значений сети, и следовательно сеть может быть обучена. Кроме того, мы знаем, что выходы сети должны находиться в определенных границах. Это обстоятельство можно считать достоинством или недостатком - здесь мы приходим к вопросам экстраполяции. Посмотрим на рисунок. Мы стремимся оценить значение Y по значению X. Необходимо аппроксимировать кривую, проходящую через заданные точки. Вероятно, вполне подходящей для этого покажется кривая, изображенная на графике - она (приблизительно) имеет нужную форму и позволяет оценить значение Y в случае, если входное значение лежит в интервале, который охватывается сплошной частью кривой - в этой области возможна интерполяция. Но что делать, если входное значение расположено существенно правее имеющихся точек? В таких случаях возможны два подхода к оценке значения Y. Первый вариант экстраполяция: мы продолжаем подогнанную кривую вправо. Во втором варианте мы говорим, что у нас нет достаточной информации для осмысленной оценки этого значения, и потому в качестве оценки мы принимаем среднне значение всех выходов (в отсутствие какой-либо информации это может оказаться лучшим выходом из положения). Предположим, например, что мы используем многослойный персептрон (MLP). Применение минимакса по описанной выше схеме весьма ограничительно. Во-первых, кривая не будет экстраполироваться, как бы близко мы не находились к обучающим данным (в действительности же, если мы лишь чуть-чуть вышли за область обучающих данных, экстраполяция вполне оправдана). Во-вторых, оценка по среднему также не будет выполняться: вместо этого будет браться минимум или максимум смотря по тому, росла или убывала в этом месте оцениваемая кривая. Чтобы избежать этих недостатков в MLP используется ряд приемов: Во-первых, логистическую функцию активации в выходном слое можно заменить на линейную, которая не меняет уровня активации (N.B.: функции активации меняются только в выходном слое; в промежуточных слоях по-прежнему остаются логистические и гиперболические функции активации). Линейная функция активации не насыщается, и поэтому способна экстраполировать (при этом логистические функции предыдущих уровней все-таки предполагают насыщение на более высоких уровнях). Линейные функции активации в MLP могут вызвать определенные вычислительные трудности в алгоритме обратного распространения, поэтому при его использовании следует брать малые (менее 0.1) скорости обучения. Описанный подход пригоден для целей экстраполяции. Во-вторых, можно изменить целевой диапазон минимаксной масштабирующей функции (например, сделать его [0.25,0.75]). В результате обучающие наблюдения будут отображаться в уровни, соответствующие средней части диапазона выходных значений. Интересно заметить, что если этот диапазон выбран маленьким, и обе его границы находятся вблизи значения 0.5, то он будет соответствовать среднему участку сигмоидной кривой, на котором она "почти линейна", - тогда мы будем иметь практически ту же схему, что и в случае линейного выходного слоя. Такая сеть сможет выполнять экстраполяцию в определенных пределах, а затем будет насыщаться. Все это можно хорошо себе представить так: экстраполяция допустима в определенных границах, а вне их она будет пресекаться. Если применяется первый подход и в выходном слое помещены линейные элементы, то может получиться так, что вообще нет необходимости использовать алгоритм масштабирования, поскольку элементы и без масштабирования могут выдавать любой уровень выходных сигналов. В пакете ST Neural Networks имеется возможность для большей эффективности вообще отключить все масштабирования. Однако, на практике полный отказ от масштабирования приводит к трудностям в алгоритмах обучения. Действительно, в этом случае разные веса сети работают в сильно различающихся масштабах, и это усложняет начальную инициализацию весов и (частично) обучение. Поэтому мы не рекомендуем Вам отключать масштабирование, за исключением тех случаев, когда диапазон выходных значений очень мал и расположен вблизи нуля. Это же соображение говорит в пользу масштабирования и при пре-процессировании в MLP-сетях (при котором, в принципе, веса первого промежуточного слоя можно легко корректировать, добиваясь этим любого нужного масштабирования). До сих пор в нашем обсуждении мы уделяли основное внимание тому, как в задачах регрессии применяются сети MLP, и в особенности тому, как сети такого типа ведут себя в смысле экстраполяции. Сети, в которых используются радиальные элементы (RBF и GRNN), работают совершенно иначе и о них следует поговорить отдельно. Радиальные сети по самой своей природе неспособны к экстраполяции. Чем дальше входной пример расположен от точек, соответствующих радиальным элементам, тем меньше становятся уровни активации радиальных элементов и (в конце концов) тем меньше будет выходной сигнал сети. Входной пример, расположенный далеко от центров радиальных элементов, даст нулевой выходной сигнал. Стремление сети не экстраполировать данные можно считать достоинством (это зависит от предметной области и Вашего мнения), однако убывание выходного сигнала (на первый взгляд) достоинством не является. Если мы стремимся избегать экстраполяции, то для входных точек, отличающихся большой степенью новизны, в качестве выхода мы, как правило, хотим иметь усредненное значение. Для радиальных сетей в задачах регрессии этого можно достичь с помощью масштабирующей функции среднее/стандартное отклонение. Обучающие данные масштабируются таким образом, чтобы среднее выходное значение равнялось 0.0, а все другие значения были бы промасштабированы на стандартное отклонение выходных сигналов. При обработке входных точек, лежащих вне областей действия радиальных элементов, выходной сигнал сети будет приблизительно равен среднему значению. Качество работы сети в задаче регрессии можно проверить несколькими способами. Во-первых, сети можно сообщить выходное значение, соответствующее любому наблюдению (или какому-то новому наблюдению, который Вы хотели бы проверить). Если это наблюдение содержалось в исходных данных, то выдается значение разности (невязки). Во-вторых, могут быть получены итоговые статистики. К ним относятся среднее значение и стандартное отклонение, вычисленные для обучающих данных и для ошибки прогноза. В общем случае среднее значение ошибки прогноза будет очень близко к нулю (в конце концов, нулевое среднее для ошибки прогноза можно получить, попросту оценив среднее значение обучающих данных и вовсе не обращаясь к значениям входных переменных). Наиболее важным показателем является стандартное отклонение ошибки прогноза. Если оно не окажется существенно меньше стандартного отклонения обучающих данных, это будет означать, что сеть работает не лучше, чем простая оценка по среднему. Далее, в пакете ST Neural Networks пользователю выдается отношение стандартного отклонения ошибки прогноза к стандартному отклонению обучающих данных. Если оно существенно меньше единицы (например, ниже 0.1), то это говорит о хорошем качестве регрессии. Это регрессионное отношение (точнее, величину единица минус это отношение) иногда называют долей объясненной дисперсии модели. В-третьих, можно вывести изображение поверхности отклика. На самом деле, разумеется, эта поверхность представляет собой N+1-мерный объект, где N - число входных элементов, а оставшееся измерение соответствует высоте точки на поверхности. Понятно, что непосредственно визуально представить такую поверхность при N большем двух невозможно (а реально N всегда больше двух). Тем не менее, в пакете ST Neural Networks Вы можете выводить срезы поверхности отклика по любым двум входным переменным. При этом значения всех остальных входных переменных фиксируются, и меняются только два выбранные. Всем остальным переменным можно придать любое значение по своему усмотрению (по умолчанию система ST Neural Networks возьмет для них средние значения). Значения двух исследуемых переменных можно менять в произвольном диапазоне (по умолчанию - в диапазоне изменения обучающих данных). В начало Прогнозирование временных рядов в пакете ST Neural Networks В задачах анализа временных рядов целью является прогноз будущих значений переменной, зависящей от времени, на основе предыдущих значений ее и/или других переменных (Bishop, 1995) Как правило, прогнозируемая переменная является числовой, поэтому прогнозирование временных рядов - это частный случай регрессии. Однако такое ограничение не заложено в пакет ST Neural Networks, так что в нем можно прогнозировать и временные ряды номинальных (т.е. классифицирующих) переменных. Обычно очередное значение временного ряда прогнозируется по некоторому числу его предыдущих значений (прогноз на один шаг вперед во времени). В пакете ST Neural Networks можно выполнять прогноз на любое число шагов. После того, как вычислено очередное предполагаемое значение, оно подставляется обратно и с его помощью (а также предыдущих значений) получается следующий прогноз - это называется проекцией временного ряда. В пакете ST Neural Networks можно осуществлять проекцию временного ряда и при пошаговом прогнозировании. Понятно, что надежность такой проекции тем меньше, чем больше шагов вперед мы пытаемся предсказать. В случаях, когда требуется совершенно определенная дальность прогноза, разумно будет специально обучить сеть именно на такую дальность. В пакете ST Neural Networks для решения задач прогноза временных рядов можно применять сети всех типов (тип сети должен подходить, в зависимости от задачи, для регрессии или классификации). Сеть конфигурируется для прогноза временного ряда установкой параметров Временное окно - Steps и Горизонт - Lookahead. Параметр Временное окно задает число предыдущих значений, которые следует подавать на вход, а параметр Горизонт указывает, как далеко нужно строить прогноз. Количество входных и выходных переменных может быть произвольным. Однако, чаще всего в качестве входной и одновременно (с учетом горизонта) выходной выступает единственная переменная. При конфигурировании сети для анализа временных рядов изменяется метод пре-процессирования данных (извлекаются не отдельные наблюдения, а их блоки), но обучение и работа сети происходят точно так же, как и в задачах других типов. В задачах анализа временных рядов обучающее множество данных, как правило, бывает представлено значениями одной переменной, которая является входной/выходной (т.е. служит для сети и входом, и выходом). В задачах анализа временных рядов особую сложность представляет интерпретация понятий обучающего, контрольного и тестового множеств, а также неучитываемых данных. В обычной ситуации каждое наблюдение рассматривается независимо, и никаких вопросов здесь не возникает. В случае же временного ряда каждый входной или выходной набор составлен из данных, относящихся к нескольким наблюдениям, число которых задается параметрами сети Временное окно - Steps и Горизонт - Lookahead. Из этого следуют два обстоятельства: Категория, которое будет отнесен набор, определяется категорией выходного наблюдения. Например, если в исходных данных первые два наблюдения не учитываются, а третье объявлено тестовым, и значения параметров Временное окно и Горизонт равны соответственно2 и 1, то первый используемый набор будет тестовым, его входы будут браться из первых двух наблюдений, а выход - из третьего. Таким образом, первые два наблюдения, хотя и помечены как не учитываемые, используются в тестовом множестве. Более того, данные одного наблюдения могут использоваться сразу в трех наборах, каждый из которых может быть обучающим, контрольным или тестовым. Можно сказать, что данные "растекаются" по обучающему, контрольному и тестовому множествам. Чтобы полностью разделить эти множества, пришлось бы сформировать отдельные блоки обучающих, контрольных и тестовых наблюдений, отделенные друг от друга достаточным числом неучитываемых наблюдений. Несколько первых наблюдений можно использовать только в качестве входных данных. При выборе наблюдений во временном ряду номер наблюдения всегда соответствует выходному значению. Поэтому первые несколько наблюдений вообще невозможно выбрать (для этого были бы нужны еще несколько наблюдений, расположенных перед первым наблюдением в исходных данных), и они автоматически помечаются как неучитываемые. В начало Отбор переменных и понижение размерности До сих пор, говоря о построении и конструировании сети, мы предполагали, что входной и выходной слои заданы, то есть, что мы уже знаем, какие переменные будут подаваться на вход сети, и что будет ее выходом. То, какие переменные будут выходными, известно всегда (по крайней мере в случае управляемого обучения). Что же касается входных переменных, их правильный выбор порой представляет большие трудности (Bishop, 1995). Часто мы не знаем заранее, какие из входных переменных действительно полезны для решения задачи, и выбор хорошего множества входов бывает затруднен целым рядом обстоятельств: Проклятие размерности. Каждый дополнительный входной элемент сети - это новая размерность в пространстве данных. С этой точки зрения становится понятно следующее: чтобы достаточно плотно "заселить" N-мерное пространство и "увидеть" структуру данных, нужно иметь довольно много точек. Необходимое число точек быстро возрастает с ростом размерности пространства (грубо говоря, как 2**N для большинства методов). Большинство типов нейронных сетей (в частности, многослойный персептрон MLP) в меньшей степени страдают от проклятия размерности, чем другие методы, потому что сеть умеет следить за проекциями участков многомерного пространства в пространства малой размерности (например, если все веса, выходящие из некоторого входного элемента, равны нулю, то MLP-сеть полностью игнорирует эту входную переменную). Тем не менее, проклятие размерности остается серьезной проблемой, и качество работы сети можно значительно улучшить, исключив ненужные входные переменные. На самом деле, чтобы уменьшить эффект проклятия размерности иногда бывает целесообразно исключить даже те входные переменные, которые несут в себе некоторою (небольшую) информацию. Внутренние зависимости между переменными. Было бы очень хорошо, если бы каждую переменную - кандидата на то, чтобы служить входом сети, можно было бы независимо оценить на "полезность", а затем отобрать самые полезные переменные. К сожалению, как правило, это бывает невозможно сделать, и две или более взаимосвязанных переменных могут вместе нести существенную информацию, которая не содержится ни в каком их подмножестве. Классическим примером может служить задача с двумя спиралями, в которой точки данных двух классов расположены вдоль двух переплетающихся двумерных спиралей. Ни одна из переменных в отдельности не несет никакой полезной информации (классы будут выглядеть совершенно перемешанными), но глядя на обе переменные вместе, классы легко разделить. Таким образом, в общем случае переменные нельзя отбирать независимо. Избыточность переменных. Часто бывает так, что одна и та же информация в большей или меньшей степени повторяется в разных переменных. Например, данные о росте и весе человека, как правило, несут в себе сходную информацию, поскольку они сильно коррелированы. Может оказаться так, что в качестве входов достаточно взять лишь часть из нескольких коррелированных переменных, и этот выбор может быть произвольным. В таких ситуациях вместо всего множества переменных лучше взять их часть - этим мы избегаем проклятия размерности. Итак, выбор входных переменных - это исключительно важный этап при построении нейронной сети. Перед тем, как непосредственно начинать работать с пакетом ST Neural Networks , имеет смысл произвести предварительный отбор переменных, используя при этом свои знания в предметной области и стандартные статистические критерии. Затем, уже средствами пакета ST Neural Networks можно будет попробовать различные комбинации входных переменных. В пакете ST Neural Networks имеется возможность "игнорировать" некоторые переменные, так что полученная сеть не будет использовать их в качестве входов. Можно поочередно экспериментировать с различными комбинациями входов, строя всякий раз новые варианты сетей. При таком экспериментировании очень полезными оказываются вероятностные и обобщенно-регрессионные сети. Несмотря на то, что они работают медленнее более компактных MLP и RBF сетей, они обучаются почти мгновенно, и это важно, поскольку при переборе большого числа комбинаций входных переменный приходится каждый раз строить новые сети. Кроме того, PNN и GRNN (как и RBF) - это радиальные сети (в первом слое они имеют радиальные элементы, и аппроксимирующие функция строятся в виде комбинаций гауссовых функций). При отборе входных переменных это является преимуществом, поскольку радиальные сети в меньшей степени страдают от проклятия размерности, чем сети, построенные на линейных элементах. Чтобы понять причину этого, рассмотрим, что произойдет, если мы добавим в сеть новую, возможно совершенно несущественную входную переменную. Сеть на линейных элементах, например MLP, может научиться присваивать весам, идущим от этой переменной, нулевые значения, что означает игнорирование переменной (реально это происходит так: изначально малые веса этой переменной так и остаются малыми, а веса содержательных входных переменных меняются нужным образом). Радиальная сеть типа PNN или GRNN не может позволить себе такую роскошь: кластеры, образующиеся в пространстве небольшого числа существенных переменных, будут "размазаны" по направлениям несущественных размерностей - для учета разброса по несущественным направлениям требуется большее число элементов. Сеть, в большей степени страдающая от наличия плохих входных данных, имеет преимущество, когда мы стремимся избавиться то этих плохих данных. Поскольку описанный процесс экспериментирования занимает много времени, в пакете ST Neural Networks имеется инструмент, который может сделать это за Вас. Для выбора подходящей комбинации входных переменных здесь используется так называемый генетический алгоритм (Goldberg, 1989). Генетические алгоритмы хорошо приспособлены для задач такого типа, поскольку они позволяют производить поиск среди большого числа комбинаций при наличии внутренних зависимостей в переменных. Существует и другой подход к проблеме размерности, который может использоваться как альтернатива или как дополнение к методам отбора переменных: это понижение размерности. Суть его состоит в том, что исходная совокупность переменных преобразуется в новую совокупность, состоящую из меньшего числа переменных, но при этом (как мы надеемся) содержащую по возможности всю информацию, заложенную в исходных данных. В качестве примера рассмотрим данные, все точки которых расположены на некоторой плоскости в трехмерном пространстве. Истинная размерность данных равна двум (поскольку вся информация на самом деле содержится в двумерном подпространстве). Если мы сумеем обнаружить эту плоскость, то на вход нейронной сети можно будет подавать входные данные меньшей размерности, и будет больше шансов на то, что такая сеть будет работать правильно. Самый распространенный метод понижения размерности - это анализ главных компонент (Bishop, 1995; см. также Факторный анализ). Метод состоит в следующем: к данным применяется линейное преобразование, при котором направлениям новых координатных осей соответствуют направления наибольшего разброса исходных данных. Как правило, уже первая компонента отражает большую часть информации, содержащейся в данных. Поскольку анализ главных компонент (АГК) представляет собой линейный метод, его можно реализовать с помощью линейной сети, и в пакете ST Neural Networks предусмотрена возможность обучать линейную сеть для выполнения АГК. Очень часто метод АГК выделяет из многомерных исходных данных совсем небольшое число компонент, сохраняя при этом структуру информации. Один из недостатков метода главных компонент (АГК) состоит в том, что это чисто линейный метод, и из-за этого он может не учитывать некоторые важные характеристики структуры данных. В пакете ST Neural Networks реализован также вариант "нелинейного АГК", основанный на использовании так называемой автоассоциативной сети (Bishop, 1995; Fausett, 1994; Bouland and Kamp, 1988). Это такая нейронная сеть, которую обучают выдавать в качестве выходов свои собственные входные данные, но при этом в ее промежуточном слое содержится меньше нейронов, чем во входном и выходном слоях. Поэтому, чтобы восстановить свои входные данные, сеть должна научиться представлять их в более низкой размерности. Сеть "впихивает" наблюдения в формат промежуточного слоя и только потом выдает их на выходе. После обучения автоассоциативной сети ее внешний интерфейс может быть сохранен и использован для понижения размерности. Как правило, в качестве автоассоциативной сети берется многослойный персептрон с тремя промежуточными слоями. При этом средний слой отвечает за представление данных в малой размерности, а два других скрытых слоя служат соответственно для нелинейного преобразования входных данных в средний слой и выходов среднего слоя в выходной слой. Автоассоциативная сеть с единственным промежуточным слоем может выполнять только линейное понижение размерности, и фактически осуществляет АГК в стандартном варианте. 5 Анализ и прогнозирование временных рядов Общее введение Вначале дадим краткий обзор методов анализа данных, представленных в виде временных рядов, т.е. в виде последовательностей измерений, упорядоченных в неслучайные моменты времени. В отличие от анализа случайных выборок, анализ временных рядов основывается на предположении, что последовательные значения в файле данных наблюдаются через равные промежутки времени (тогда как в других методах нам не важна и часто не интересна привязка наблюдений ко времени). Подробное обсуждение этих методов можно найти в следующих работах: Anderson (1976), Бокс и Дженкинс (1976), Kendall (1984), Kendall and Ord (1990), Montgomery, Johnson, and Gardiner (1990), Pankratz (1983), Shumway (1988), Vandaele (1983), Walker (1991), Wei (1989). Две основные цели Существуют две основные цели анализа временных рядов: (1) определение природы ряда и (2) прогнозирование (предсказание будущих значений временного ряда по настоящим и прошлым значениям). Обе эти цели требуют, чтобы модель ряда была идентифицирована и, более или менее, формально описана. Как только модель определена, вы можете с ее помощью интерпретировать рассматриваемые данные (например, использовать в вашей теории для понимания сезонного изменения цен на товары, если занимаетесь экономикой). Не обращая внимания на глубину понимания и справедливость теории, вы можете экстраполировать затем ряд на основе найденной модели, т.е. предсказать его будущие значения. Систематическая составляющая и случайный шум Как и большинство других видов анализа, анализ временных рядов предполагает, что данные содержат систематическую составляющую (обычно включающую несколько компонент) и случайный шум (ошибку), который затрудняет обнаружение регулярных компонент. Большинство методов исследования временных рядов включает различные способы фильтрации шума, позволяющие увидеть регулярную составляющую более отчетливо. Два общих типа компонент временных рядов Большинство регулярных составляющих временных рядов принадлежит к двум классам: они являются либо трендом, либо сезонной составляющей. Тренд представляет собой общую систематическую линейную или нелинейную компоненту, которая может изменяться во времени. Сезонная составляющая - это периодически повторяющаяся компонента. Оба эти вида регулярных компонент часто присутствуют в ряде одновременно. Например, продажи компании могут возрастать из года в год, но они также содержат сезонную составляющую (как правило, 25% годовых продаж приходится на декабрь и только 4% на август). Эту общую модель можно понять на "классическом" ряде - Ряд G (Бокс и Дженкинс, 1976, стр. 531), представляющем месячные международные авиаперевозки (в тысячах) в течение 12 лет с 1949 по 1960 (см. файл Series_g.sta). График месячных перевозок ясно показывает почти линейный тренд, т.е. имеется устойчивый рост перевозок из года в год (примерно в 4 раза больше пассажиров перевезено в 1960 году, чем в 1949). В то же время характер месячных перевозок повторяется, они имеют почти один и тот же характер в каждом годовом периоде (например, перевозок больше в отпускные периоды, чем в другие месяцы). Этот пример показывает довольно определенный тип модели временного ряда, в которой амплитуда сезонных изменений увеличивается вместе с трендом. Такого рода модели называются моделями с мультипликативной сезонностью. Анализ тренда Не существует "автоматического" способа обнаружения тренда в временном ряде. Однако если тренд является монотонным (устойчиво возрастает или устойчиво убывает), то анализировать такой ряд обычно нетрудно. Если временные ряды содержат значительную ошибку, то первым шагом выделения тренда является сглаживание. Сглаживание. Сглаживание всегда включает некоторый способ локального усреднения данных, при котором несистематические компоненты взаимно погашают друг друга. Самый общий метод сглаживания - скользящее среднее, в котором каждый член ряда заменяется простым или взвешенным средним n соседних членов, где n - ширина "окна" (см. Бокс и Дженкинс, 1976; Velleman and Hoaglin, 1981). Вместо среднего можно использовать медиану значений, попавших в окно. Основное преимущество медианного сглаживания, в сравнении со сглаживанием скользящим средним, состоит в том, что результаты становятся более устойчивыми к выбросам (имеющимся внутри окна). Таким образом, если в данных имеются выбросы (связанные, например, с ошибками измерений), то сглаживание медианой обычно приводит к более гладким или, по крайней мере, более "надежным" кривым, по сравнению со скользящим средним с тем же самым окном. Основной недостаток медианного сглаживания в том, что при отсутствии явных выбросов, он приводит к более "зубчатым" кривым (чем сглаживание скользящим средним) и не позволяет использовать веса. Относительно реже, когда ошибка измерения очень большая, используется метод сглаживания методом наименьших квадратов, взвешенных относительно расстояния или метод отрицательного экспоненциально взвешенного сглаживания. Все эти методы отфильтровывают шум и преобразуют данные в относительно гладкую кривую (см. соответствующие разделы, где каждый из этих методов описан более подробно). Ряды с относительно небольшим количеством наблюдений и систематическим расположением точек могут быть сглажены с помощью бикубических сплайнов. Подгонка функции. Многие монотонные временные ряды можно хорошо приблизить линейной функцией. Если же имеется явная монотонная нелинейная компонента, то данные вначале следует преобразовать, чтобы устранить нелинейность. Обычно для этого используют логарифмическое, экспоненциальное или (менее часто) полиномиальное преобразование данных. Анализ сезонности Периодическая и сезонная зависимость (сезонность) представляет собой другой общий тип компонент временного ряда. Это понятие было проиллюстрировано ранее на примере авиаперевозок пассажиров. Можно легко видеть, что каждое наблюдение очень похоже на соседнее; дополнительно, имеется повторяющаяся сезонная составляющая, это означает, что каждое наблюдение также похоже на наблюдение, имевшееся в том же самом месяце год назад. В общем, периодическая зависимость может быть формально определена как корреляционная зависимость порядка k между каждым i-м элементом ряда и (i-k)-м элементом (Kendall, 1976). Ее можно измерить с помощью автокорреляции (т.е. корреляции между самими членами ряда); k обычно называют лагом (иногда используют эквивалентные термины: сдвиг, запаздывание). Если ошибка измерения не слишком большая, то сезонность можно определить визуально, рассматривая поведение членов ряда через каждые k временных единиц. Автокорреляционная коррелограмма. Сезонные составляющие временного ряда могут быть найдены с помощью коррелограммы. Коррелограмма (автокоррелограмма) показывает численно и графически автокорреляционную функцию (AКФ), иными словами коэффициенты автокорреляции (и их стандартные ошибки) для последовательности лагов из определенного диапазона (например, от 1 до 30). На коррелограмме обычно отмечается диапазон в размере двух стандартных ошибок на каждом лаге, однако обычно величина автокорреляции более интересна, чем ее надежность, потому что интерес в основном представляют очень сильные (а, следовательно, высоко значимые) автокорреляции (см. Элементарные понятия статистики). Исследование коррелограмм. При изучении коррелограмм следует помнить, что автокорреляции последовательных лагов формально зависимы между собой. Рассмотрим следующий пример. Если первый член ряда тесно связан со вторым, а второй с третьим, то первый элемент должен также каким-то образом зависеть от третьего и т.д. Это приводит к тому, что периодическая зависимость может существенно измениться после удаления автокорреляций первого порядка, т.е. после взятия разности с лагом 1). Частные автокорреляции. Другой полезный метод исследования периодичности состоит в исследовании частной автокорреляционной функции (ЧАКФ), представляющей собой углубление понятия обычной автокорреляционной функции. В ЧАКФ устраняется зависимость между промежуточными наблюдениями (наблюдениями внутри лага). Другими словами, частная автокорреляция на данном лаге аналогична обычной автокорреляции, за исключением того, что при вычислении из нее удаляется влияние автокорреляций с меньшими лагами (см. Бокс и Дженкинс, 1976; см. также McDowall, McCleary, Meidinger, and Hay, 1980). На лаге 1 (когда нет промежуточных элементов внутри лага), частная автокорреляция равна, очевидно, обычной автокорреляции. На самом деле, частная автокорреляция дает более "чистую" картину периодических зависимостей. Удаление периодической зависимости. Как отмечалось выше, периодическая составляющая для данного лага k может быть удалена взятием разности соответствующего порядка. Это означает, что из каждого i-го элемента ряда вычитается (ik)-й элемент. Имеются два довода в пользу таких преобразований. Во-первых, таким образом можно определить скрытые периодические составляющие ряда. Напомним, что автокорреляции на последовательных лагах зависимы. Поэтому удаление некоторых автокорреляций изменит другие автокорреляции, которые, возможно, подавляли их, и сделает некоторые другие сезонные составляющие более заметными. Во-вторых, удаление сезонных составляющих делает ряд стационарным, что необходимо для применения АРПСС и других методов, например, спектрального анализа. Общее введение В начало Процедуры оценки параметров и прогнозирования, описанные в разделе Идентификация модели временных рядов, предполагают, что математическая модель процесса известна. В реальных данных часто нет отчетливо выраженных регулярных составляющих. Отдельные наблюдения содержат значительную ошибку, тогда как вы хотите не только выделить регулярные компоненты, но также построить прогноз. Методология АРПСС, разработанная Боксом и Дженкинсом (1976), позволяет это сделать. Данный метод чрезвычайно популярен во многих приложениях, и практика подтвердила его мощность и гибкость (Hoff, 1983; Pankratz, 1983; Vandaele, 1983). Однако из-за мощности и гибкости, АРПСС - сложный метод. Его не так просто использовать, и требуется большая практика, чтобы овладеть им. Хотя часто он дает удовлетворительные результаты, они зависят от квалификации пользователя (Bails and Peppers, 1982). Следующие разделы познакомят вас с его основными идеями. Для интересующихся кратким, рассчитанным на применение, (нематематическим) введением в АРПСС, рекомендуем книгу McCleary, Meidinger, and Hay (1980). Два основных процесса Процесс авторегрессии. Большинство временных рядов содержат элементы, которые последовательно зависят друг от друга. Такую зависимость можно выразить следующим уравнением: xt = + 1*x(t-1) + 2*x(t-2) + 3*x(t-3) + ... + Здесь: 1, 2, 3 - константа (свободный член), - параметры авторегрессии. Вы видите, что каждое наблюдение есть сумма случайной компоненты (случайное воздействие, ) и линейной комбинации предыдущих наблюдений. Требование стационарности. Заметим, что процесс авторегрессии будет стационарным только, если его параметры лежат в определенном диапазоне. Например, если имеется только один параметр, то он должен находиться в интервале -1< <+1. В противном случае, предыдущие значения будут накапливаться и значения последующих xt могут быть неограниченными, следовательно, ряд не будет стационарным. Если имеется несколько параметров авторегрессии, то можно определить аналогичные условия, обеспечивающие стационарность (см. например, Бокс и Дженкинс, 1976; Montgomery, 1990). Процесс скользящего среднего. В отличие от процесса авторегрессии, в процессе скользящего среднего каждый элемент ряда подвержен суммарному воздействию предыдущих ошибок. В общем виде это можно записать следующим образом: xt = µ + Здесь: µ 1, 2, t 3 - 1* (t-1) - 2* (t-2) - 3* (t-3) - ... - константа, - параметры скользящего среднего. Другими словами, текущее наблюдение ряда представляет собой сумму случайной компоненты (случайное воздействие, ) в данный момент и линейной комбинации случайных воздействий в предыдущие моменты времени. Обратимость. Не вдаваясь в детали, отметим, что существует "двойственность" между процессами скользящего среднего и авторегрессии (см. например, Бокс и Дженкинс, 1976; Montgomery, Johnson, and Gardiner, 1990). Это означает, что приведенное выше уравнение скользящего среднего можно переписать (обратить) в виде уравнения авторегрессии (неограниченного порядка), и наоборот. Это так называемое свойство обратимости. Имеются условия, аналогичные приведенным выше условиямстационарности, обеспечивающие обратимость модели. Модель АРПСС Модель авторегрессии и скользящего среднего. Общая модель, предложенная Боксом и Дженкинсом (1976) включает как параметры авторегрессии, так и параметры скользящего среднего. Именно, имеется три типа параметров модели: параметры авторегрессии (p), порядок разности (d), параметры скользящего среднего (q). В обозначениях Бокса и Дженкинса модель записывается как АРПСС (p, d, q). Например, модель (0, 1, 2) содержит 0 (нуль) параметров авторегрессии (p) и 2 параметра скользящего среднего (q), которые вычисляются для ряда после взятия разности с лагом 1. Идентификация. Как отмечено ранее, для модели АРПСС необходимо, чтобы ряд был стационарным, это означает, что его среднее постоянно, а выборочные дисперсия и автокорреляция не меняются во времени. Поэтому обычно необходимо брать разности ряда до тех пор, пока он не станет стационарным (часто также применяют логарифмическое преобразование для стабилизации дисперсии). Число разностей, которые были взяты, чтобы достичь стационарности, определяются параметром d (см. предыдущий раздел). Для того чтобы определить необходимый порядок разности, нужно исследовать график ряда и автокоррелограмму. Сильные изменения уровня (сильные скачки вверх или вниз) обычно требуют взятия несезонной разности первого порядка (лаг=1). Сильные изменения наклона требуют взятия разности второго порядка. Сезонная составляющая требует взятия соответствующей сезонной разности (см. ниже). Если имеется медленное убывание выборочных коэффициентов автокорреляции в зависимости от лага, обычно берут разность первого порядка. Однако следует помнить, что для некоторых временных рядов нужно брать разности небольшого порядка или вовсе не брать их. Заметим, что чрезмерное количество взятых разностей приводит к менее стабильным оценкам коэффициентов. На этом этапе (который обычно называют идентификацией порядка модели, см. ниже) вы также должны решить, как много параметров авторегрессии (p) и скользящего среднего (q) должно присутствовать в эффективной и экономной модели процесса. (Экономность модели означает, что в ней имеется наименьшее число параметров и наибольшее число степеней свободы среди всех моделей, которые подгоняются к данным). На практике очень редко бывает, что число параметров p или q больше 2 (см. ниже более полное обсуждение). Оценивание и прогноз. Следующий, после идентификации, шаг (Оценивание) состоит в оценивании параметров модели (для чего используются процедуры минимизации функции потерь, см. ниже; более подробная информация о процедурах минимизации дана в разделе Нелинейное оценивание). Полученные оценки параметров используются на последнем этапе (Прогноз) для того, чтобы вычислить новые значения ряда и построить доверительный интервал для прогноза. Процесс оценивания проводится по преобразованным данным (подвергнутым применению разностного оператора). До построения прогноза нужно выполнить обратную операцию (интегрировать данные). Таким образом, прогноз методологии будет сравниваться с соответствующими исходными данными. На интегрирование данных указывает буква П в общем названии модели (АРПСС = Авторегрессионное Проинтегрированное Скользящее Среднее). Константа в моделях АРПСС. Дополнительно модели АРПСС могут содержать константу, интерпретация которой зависит от подгоняемой модели. Именно, если (1) в модели нет параметров авторегрессии, то константа есть среднее значение ряда, если (2) параметры авторегрессии имеются, то константа представляет собой свободный член. Если бралась разность ряда, то константа представляет собой среднее или свободный член преобразованного ряда. Например, если бралась первая разность (разность первого порядка), а параметров авторегрессии в модели нет, то константа представляет собой среднее значение преобразованного ряда и, следовательно, коэффициент наклона линейного тренда исходного. Идентификация Число оцениваемых параметров. Конечно, до того, как начать оценивание, вам необходимо решить, какой тип модели будет подбираться к данным, и какое количество параметров присутствует в модели, иными словами, нужно идентифицировать модель АРПСС. Основными инструментами идентификации порядка модели являются графики, автокорреляционная функция (АКФ), частная автокорреляционная функция (ЧАКФ). Это решение не является простым и требуется основательно поэкспериментировать с альтернативными моделями. Тем не менее, большинство встречающихся на практике временных рядов можно с достаточной степенью точности аппроксимировать одной из 5 основных моделей (см. ниже), которые можно идентифицировать по виду автокорреляционной (АКФ) и частной автокорреляционной функции (ЧАКФ). Ниже дается список этих моделей, основанный на рекомендациях Pankratz (1983); дополнительные практические советы даны в Hoff (1983), McCleary and Hay (1980), McDowall, McCleary, Meidinger, and Hay (1980), and Vandaele (1983). Отметим, что число параметров каждого вида невелико (меньше 2), поэтому нетрудно проверить альтернативные модели. 1. Один параметр (p): АКФ - экспоненциально убывает; ЧАКФ - имеет резко выделяющееся значение для лага 1, нет корреляций на других лагах. 2. Два параметра авторегрессии (p): АКФ имеет форму синусоиды или экспоненциально убывает; ЧАКФ имеет резко выделяющиеся значения на лагах 1, 2, нет корреляций на других лагах. 3. Один параметр скользящего среднего (q): АКФ имеет резко выделяющееся значение на лаге 1, нет корреляций на других лагах. ЧАКФ экспоненциально убывает. 4. Два параметра скользящего среднего (q): АКФ имеет резко выделяющиеся значения на лагах 1, 2, нет корреляций на других лагах. ЧАКФ имеет форму синусоиды или экспоненциально убывает. 5. Один параметр авторегрессии (p) и один параметр скользящего среднего (q): АКФ экспоненциально убывает с лага 1; ЧАКФ - экспоненциально убывает с лага 1. Сезонные модели. Мультипликативная сезонная АРПСС представляет естественное развитие и обобщение обычной модели АРПСС на ряды, в которых имеется периодическая сезонная компонента. В дополнении к несезонным параметрам, в модель вводятся сезонные параметры для определенного лага (устанавливаемого на этапе идентификации порядка модели). Аналогично параметрам простой модели АРПСС, эти параметры называются: сезонная авторегрессия (ps), сезонная разность (ds) и сезонное скользящее среднее (qs). Таким образом, полная сезонная АРПСС может быть записана как АРПСС (p,d,q)(ps,ds,qs). Например, модель (0,1,2)(0,1,1) включает 0 регулярных параметров авторегрессии, 2 регулярных параметра скользящего среднего и 1 параметр сезонного скользящего среднего. Эти параметры вычисляются для рядов, получаемых после взятия одной разности с лагом 1 и далее сезонной разности. Сезонный лаг, используемый для сезонных параметров, определяется на этапе идентификации порядка модели. Общие рекомендации относительно выбора обычных параметров (с помощью АКФ и ЧАКФ) полностью применимы к сезонным моделям. Основное отличие состоит в том, что в сезонных рядах АКФ и ЧАКФ имеют существенные значения на лагах, кратных сезонному лагу (в дополнении к характерному поведению этих функций, описывающих регулярную (несезонную) компоненту АРПСС). Оценивание параметров Существуют различные методы оценивания параметров, которые дают очень похожие оценки, но для данной модели одни оценки могут быть более эффективны, а другие менее эффективны. В общем, во время оценивания порядка модели используется так называемый квазиньютоновский алгоритм максимизации правдоподобия (вероятности) наблюдения значений ряда по значениям параметров (см. Нелинейное оценивание). Практически это требует вычисления (условных) сумм квадратов (SS) остатков модели. Имеются различные способы вычисления суммы квадратов остатков SS; вы можете выбрать: (1) приближенный метод максимального правдоподобия МакЛеода и Сейлза (1983), (2) приближенный метод максимального правдоподобия с итерациями назад, (3)точный метод максимального правдоподобия по Meларду (1984). Сравнение методов. В общем, все методы дают очень похожие результаты. Также все методы показали примерно одинаковую эффективность на реальных данных. Однако метод 1 (см. выше) - самый быстрый, и им можно пользоваться для исследования очень длинных рядов (например, содержащих более 30,000 наблюдений). Метод Меларда (номер 3) может оказаться неэффективным, если оцениваются параметры сезонной модели с большим сезонным лагом (например, 365 дней). С другой стороны, вы можете использовать вначале приближенный метод максимального правдоподобия (для того, чтобы найти прикидочные оценки параметров), а затем точный метод; обычно требуется только несколько итераций точного метода (номер 3,выше), чтобы получить окончательные оценки. Стандартные ошибки оценок. Для всех оценок параметров вычисляются так называемые асимптотические стандартные ошибки, для вычисления которых используется матрица частных производных второго порядка, аппроксимируемая конечными разностями (см. также раздел Нелинейное оценивание). Штраф. Процедура оценивания минимизирует (условную) сумму квадратов остатков модели. Если модель не является адекватной, может случиться так, что оценки параметров на каком-то шаге станут неприемлемыми - очень большими (например, не удовлетворяют условию стационарности). В таком случае, SS будет приписано очень большое значение (штрафное значение). Обычно это "заставляет" итерационный процесс удалить параметры из недопустимой области. Однако в некоторых случаях и эта стратегия может оказаться неудачной, и вы все равно увидите на экране (во время процедуры оценивания) очень большие значения SS на серии итераций. В таких случаях следует с осторожностью оценивать пригодность модели. Если модель содержит много параметров и, возможно, имеется интервенция (см. ниже), то следует несколько раз испытать процесс оценивания с различными начальными. Если модель содержит много параметров и, возможно, интервенцию (см. ниже), вам следует повторить процедуру с различными начальными значениями параметров. Оценивание модели Оценки параметров. Если значения вычисляемой t статистики не значимы, соответствующие параметры в большинстве случаев удаляются из модели без ущерба подгонки. Другой критерий качества. Другой обычной мерой надежности модели является сравнение прогноза, построенного по урезанному ряду с "известными (исходными) данными". Однако качественная модель должна не только давать достаточно точный прогноз, но быть экономной и иметь независимые остатки, содержащие только шум без систематических компонент (в частности, АКФ остатков не должна иметь какой-либо периодичности). Поэтому необходим всесторонний анализ остатков. Хорошей проверкой модели являются: (a) график остатков и изучение их трендов, (b) проверка АКФ остатков (на графике АКФ обычно отчетливо видна периодичность). Анализ остатков. Если остатки систематически распределены (например, отрицательны в первой части ряда и примерно равны нуля во второй) или включают некоторую периодическую компоненту, то это свидетельствует о неадекватности модели. Анализ остатков чрезвычайно важен и необходим при анализе временных рядов. Процедура оценивания предполагает, что остатки не коррелированы и нормально распределены. Ограничения. Следует напомнить, что модель АРПСС является подходящей только для рядов, которые являются стационарными(среднее, дисперсия и автокорреляция примерно постоянны во времени); для нестационарных рядов следует брать разности. Рекомендуется иметь, как минимум, 50 наблюдений в файле исходных данных. Также предполагается, что параметры модели постоянны, т.е. не меняются во времени. Экспоненциальное сглаживание Общее введение Экспоненциальное сглаживание - это очень популярный метод прогнозирования многих временных рядов. Исторически метод был независимо открыт Броуном и Холтом. Броун служил на флоте США во время второй мировой войны, где занимался обнаружением подводных лодок и системами наведения. Позже он применил открытый им метод для прогнозирования спроса на запасные части. Свои идеи он описал в книге, вышедшей в свет в 1959 году. Исследования Холта были поддержаны Департаментом военно-морского флота США. Независимо друг от друга, Броун и Холт открыли экспоненциальное сглаживание для процессов с постоянным трендом, с линейным трендом и для рядов с сезонной составляющей. Gardner (1985), предложил "единую" классификацию методов экспоненциального сглаживания. Превосходное введение в эти методы можно найти в книгах Makridakis, Wheelwright, and McGee (1983), Makridakis and Wheelwright (1989), Montgomery, Johnson, and Gardiner (1990). Простое экспоненциальное сглаживание Простая и прагматически ясная модель временного ряда имеет следующий вид: Xt = b + (эпсилон) - случайная ошибка. Константа b относительно t, где b - константа и стабильна на каждом временном интервале, но может также медленно изменяться со временем. Один из интуитивно ясных способов выделения b состоит в том, чтобы использовать сглаживание скользящим средним, в котором последним наблюдениям приписываются большие веса, чем предпоследним, предпоследним большие веса, чем пред-предпоследним и т.д. Простое экспоненциальное именно так и устроено. Здесь более старым наблюдениям приписываются экспоненциально убывающие веса, при этом, в отличие от скользящего среднего, учитываются все предшествующие наблюдения ряда, а не те, что попали в определенное окно. Точная формула простого экспоненциального сглаживания имеет следующий вид: St = *Xt + (1- )*St-1 Когда эта формула применяется рекурсивно, то каждое новое сглаженное значение (которое является также прогнозом) вычисляется как взвешенное среднее текущего наблюдения и сглаженного ряда. Очевидно, результат сглаживания зависит от параметра (альфа). Если равно 1, то предыдущие наблюдения полностью игнорируются. Если равно 0, то игнорируются текущие наблюдения. Значения между 0, 1 дают промежуточные результаты. Эмпирические исследования Makridakis и др. (1982; Makridakis, 1983) показали, что весьма часто простое экспоненциальное сглаживание дает достаточно точный прогноз. Выбор лучшего значения параметра (альфа) Gardner (1985) обсуждает различные теоретические и эмпирические аргументы в пользу выбора определенного параметра сглаживания. Очевидно, из формулы, приведенной выше, следует, что должно попадать в интервал между 0 (нулем) и 1 (хотя Brenner et al., 1968, для дальнейшего применения анализа АРПСС считают, что 0< <2). Gardner (1985) сообщает, что на практике обычно рекомендуется брать меньше .30. Однако в исследовании Makridakis et al., (1982), большее .30, часто дает лучший прогноз. После обзора литературы, Gardner (1985) приходит к выводу, что лучше оценивать оптимально по данным (см. ниже), чем просто "гадать" или использовать искусственные рекомендации. Оценивание лучшего значения с помощью данных. На практике параметр сглаживания часто ищется с поиском на сетке. Возможные значения параметра разбиваются сеткой с определенным шагом. Например, рассматривается сетка значений от = 0.1до = 0.9, с шагом 0.1. Затем выбирается , для которого сумма квадратов (или средних квадратов) остатков (наблюдаемые значения минус прогнозы на шаг вперед) является минимальной. Индексы качества подгонки Самый прямой способ оценки прогноза, полученного на основе определенного значения - построить график наблюдаемых значений и прогнозов на один шаг вперед. Этот график включает в себя также остатки (отложенные на правой оси Y). Из графика ясно видно, на каких участках прогноз лучше или хуже. Такая визуальная проверка точности прогноза часто дает наилучшие результаты. Имеются также другие меры ошибки, которые можно использовать для определения оптимального параметра (см. Makridakis, Wheelwright, and McGee, 1983): Средняя ошибка. Средняя ошибка (СО) вычисляется простым усреднением ошибок на каждом шаге. Очевидным недостатком этой меры является то, что положительные и отрицательные ошибки аннулируют друг друга, поэтому она не является хорошим индикатором качества прогноза. Средняя абсолютная ошибка. Средняя абсолютная ошибка (САО) вычисляется как среднее абсолютных ошибок. Если она равна 0(нулю), то имеем совершенную подгонку (прогноз). В сравнении со средней квадратической ошибкой, эта мера "не придает слишком большого значения" выбросам. Сумма квадратов ошибок (SSE), среднеквадратическая ошибка. Эти величины вычисляются как сумма (или среднее) квадратов ошибок. Это наиболее часто используемые индексы качества подгонки. Относительная ошибка (ОО). Во всех предыдущих мерах использовались действительные значения ошибок. Представляется естественным выразить индексы качества подгонки в терминах относительных ошибок. Например, при прогнозе месячных продаж, которые могут сильно флуктуировать (например, по сезонам) из месяца в месяц, вы можете быть вполне удовлетворены прогнозом, если он имеет точность ?10%. Иными словами, при прогнозировании абсолютная ошибка может быть не так интересна как относительная. Чтобы учесть относительную ошибку, было предложено несколько различных индексов (см. Makridakis, Wheelwright, and McGee, 1983). В первом относительная ошибка вычисляется как: ООt = 100*(Xt - Ft )/Xt где Xt - наблюдаемое значение в момент времени t, и Ft - прогноз (сглаженное значение). Средняя относительная ошибка (СОО). Это значение вычисляется как среднее относительных ошибок. Средняя абсолютная относительная ошибка (САОО). Как и в случае с обычной средней ошибкой отрицательные и положительные относительные ошибки будут подавлять друг друга. Поэтому для оценки качества подгонки в целом (для всего ряда) лучше использовать среднюю абсолютную относительную ошибку. Часто эта мера более выразительная, чем среднеквадратическая ошибка. Например, знание того, что точность прогноза ±5%, полезно само по себе, в то время как значение 30.8 для средней квадратической ошибки не может быть так просто проинтерпретировано. Автоматический поиск лучшего параметра. Для минимизации средней квадратической ошибки, средней абсолютной ошибки или средней абсолютной относительной ошибки используется квази-ньютоновская процедура (та же, что и в АРПСС). В большинстве случаев эта процедура более эффективна, чем обычный перебор на сетке (особенно, если параметров сглаживания несколько), и оптимальное значение можно быстро найти. Первое сглаженное значение S0. Если вы взгляните снова на формулу простого экспоненциального сглаживания, то увидите, что следует иметь значение S0 для вычисления первого сглаженного значения (прогноза). В зависимости от выбора параметра (в частности, если близко к 0), начальное значение сглаженного процесса может оказать существенное воздействие на прогноз для многих последующих наблюдений. Как и в других рекомендациях по применению экспоненциального сглаживания, рекомендуется брать начальное значение, дающее наилучший прогноз. С другой стороны, влияние выбора уменьшается с длиной ряда и становится некритичным при большом числе наблюдений. Сезонная и несезонная модели с трендом или без тренда В дополнение к простому экспоненциальному сглаживанию, были предложены более сложные модели, включающие сезонную компоненту и трендом. Общая идея таких моделей состоит в том, что прогнозы вычисляются не только по предыдущим наблюдениям (как в простом экспоненциальном сглаживании), но и с некоторыми задержками, что позволяет независимо оценить тренд и сезонную составляющую. Gardner (1985) обсудил различные модели в терминах сезонности (отсутствует, аддитивная сезонность, мультипликативная) и тренда (отсутствует, линейный тренд, экспоненциальный, демпфированный). Аддитивная и мультипликативная сезонность. Многие временные ряды имеют сезонные компоненты. Например, продажи игрушек имеют пики в ноябре, декабре и, возможно, летом, когда дети находятся на отдыхе. Эта периодичность имеет место каждый год. Однако относительный размер продаж может слегка изменяться из года в год. Таким образом, имеет смысл независимо экспоненциально сгладить сезонную компоненту с дополнительным параметром, обычно обозначаемым как (дельта). Сезонные компоненты, по природе своей, могут быть аддитивными или мультипликативными. Например, в течение декабря продажи определенного вида игрушек увеличиваются на 1 миллион долларов каждый год. Для того чтобы учесть сезонное колебание, вы можете добавить в прогноз на каждый декабрь 1 миллион долларов (сверх соответствующего годового среднего). В этом случае сезонность аддитивная. Альтернативно, пусть в декабре продажи увеличились на 40%, т.е. в 1.4 раза. Тогда, если общие продажи малы, то абсолютное (в долларах) увеличение продаж в декабре тоже относительно мало (процент роста константа). Если в целом продажи большие, то абсолютное (в долларах) увеличение продаж будет пропорционально больше. Снова, в этом случае продажи увеличатся в определенное число раз, и сезонность будет мультипликативной (в данном случае мультипликативная сезонная составляющая была бы равна 1.4). На графике различие между двумя видами сезонности состоит в том, что в аддитивной модели сезонные флуктуации не зависят от значений ряда, тогда как в мультипликативной модели величина сезонных флуктуаций зависит от значений временного ряда. Параметр сезонного сглаживания . В общем, прогноз на один шаг вперед вычисляется следующим образом (для моделей без тренда; для моделей с линейным и экспоненциальным трендом, тренд добавляется; см. ниже): Аддитивная модель: Прогнозt = St + It-p Мультипликативная модель: Прогнозt = St*It-p В этой формуле St обозначает (простое) экспоненциально сглаженное значение ряда в момент t, и It-p обозначает сглаженный сезонный фактор в момент t минус p (p - длина сезона). Таким образом, в сравнении с простым экспоненциальным сглаживанием, прогноз "улучшается" добавлением или умножением сезонной компоненты. Эта компонента оценивается независимо с помощью простого экспоненциального сглаживания следующим образом: Аддитивная модель: It = It-p + *(1- )*et Мультипликативная модель: It = It-p + *(1- )*et/St Обратите внимание, что предсказанная сезонная компонента в момент t вычисляется, как соответствующая компонента на последнем сезонном цикле плюс ошибка (et, наблюдаемое минус прогнозируемое значение в момент t). Ясно, что параметр принимает значения между 0 и 1. Если он равен нулю, то сезонная составляющая на следующем цикле та же, что и на предыдущем. Если равен 1, то сезонная составляющая "максимально" меняется на каждом шаге из-за соответствующей ошибки (множитель (1- ) не рассматривается из-за краткости введения). В большинстве случаев, когда сезонность присутствует, оптимальное значение лежит между 0 и 1. Линейный, экспоненциальный, демпфированный тренд. Возвращаясь к примеру с игрушками, мы можем увидеть наличие линейного тренда (например, каждый год продажи увеличивались на 1 миллион), экспоненциального (например, каждый год продажи возрастают в 1.3 раза) или демпфированного тренда (в первом году продажи возросли на 1 миллион долларов; во втором увеличение составило только 80% по сравнению с предыдущим, т.е. на $800,000; в следующем году вновь увеличение было только на 80%, т.е. на $800,000 * .8 = $640,000 и т.д.). Каждый тип тренда по-своему проявляется в данных. В целом изменение тренда - медленное в течение времени, и опять (как и сезонную компоненту) имеет смысл экспоненциально сгладить его с отдельным параметром [обозначаемым (гамма) - для линейного и экспоненциального тренда, (фи) - для демпфированного тренда]. Параметры сглаживания (линейный и экспоненциальный тренд) и (демпфированный тренд). Аналогично сезонной компоненте компонента тренда включается в процесс экспоненциального сглаживания. Сглаживание ее производится в каждый момент времени независимо от других компонент с соответствующими параметрами. Если равно 0, то тренд постоянен для всех значений временного ряда (и для всех прогнозов). Если равно 1, то тренд "максимально" определяется ошибками наблюдений. Параметр учитывает, как сильно изменяется тренд, т.е. как быстро он "демпфируется" или, наоборот, возрастает. Сезонная декомпозиция (метод Census I) Общее введение Предположим, что у вас имеются ежемесячные данные о пассажиропотоке на международных авиалиниях за 12 лет (см. Бокс и Дженкинс, 1976). Если изобразить эти данные на графике, то будет хорошо видно, что (1) объем пассажиропотока имеет во времени возрастающий линейный тренд, и (2) в ряде имеется ежегодно повторяющаяся закономерность - сезонность (большинство перевозок приходится на летние месяцы, кроме того, имеется пик меньшей высоты в районе декабрьских каникул). Цель сезонной декомпозиции и корректировки как раз и состоит в том, чтобы отделить эти компоненты, то есть разложить ряд на составляющую тренда, сезонную компоненту и оставшуюся нерегулярную составляющую. "Классический" прием, позволяющий выполнить такую декомпозицию, известен как метод Census I. Этот метод описывается и обсуждается в работах Makridakis, Wheelwright, and McGee (1983) и Makridakis and Wheelwright (1989). Общая модель. Основная идея сезонной декомпозиции проста. В общем случае временной ряд типа того, который описан выше, можно представить себе состоящим из четырех различных компонент: (1) сезонной компоненты (обозначается St, где t обозначает момент времени), (2) тренда (Tt), (3) циклической компоненты (Ct) и (4) случайной, нерегулярной компоненты или флуктуации (It). Разница между циклической и сезонной компонентой состоит в том, что последняя имеет регулярную (сезонную) периодичность, тогда как циклические факторы обычно имеют более длительный эффект, который к тому же меняется от цикла к циклу. В методе Census I тренд и циклическую компоненту обычно объединяют в одну тренд-циклическую компоненту (TCt). Конкретные функциональные взаимосвязи между этими компонентами могут иметь самый разный вид. Однако, можно выделить два основных способа, с помощью которых они могут взаимодействовать: аддитивно и мультипликативно: Аддитивная модель: Xt = TCt + St + It Мультипликативная модель: Xt = Tt*Ct*St*It Здесь Xt обозначает значение временного ряда в момент времени t. Если имеются какието априорные сведения о циклических факторах, влияющих на ряд (например, циклы деловой конъюнктуры), то можно использовать оценки для различных компонент для составления прогноза будущих значений ряда. (Однако для прогнозирования предпочтительнее экспоненциальное сглаживание, позволяющее учитывать сезонную составляющую и тренд.) Аддитивная и мультипликативная сезонность. Рассмотрим на примере различие между аддитивной и мультипликативной сезонными компонентами. График объема продаж детских игрушек, вероятно, будет иметь ежегодный пик в ноябре-декабре, и другой существенно меньший по высоте - в летние месяцы, приходящийся на каникулы. Такая сезонная закономерность будет повторяться каждый год. По своей природе сезонная компонента может быть аддитивной или мультипликативной. Так, например, каждый год объем продаж некоторой конкретной игрушки может увеличиваться в декабре на 3 миллиона долларов. Поэтому вы можете учесть эти сезонные изменения, прибавляя к своему прогнозу на декабрь 3 миллиона. Здесь мы имеем аддитивнуюсезонность. Может получиться иначе. В декабре объем продаж некоторой игрушки может увеличиваться на 40%, то есть умножаться на множитель 1.4. Это значит, например, что если средний объем продаж этой игрушки невелик, то абсолютное (в денежном выражении) увеличение этого объема в декабре также будет относительно небольшим (но в процентном исчислении оно будет постоянным); если же игрушка продается хорошо, то и абсолютный (в долларах) рост объема продаж будет значительным. Здесь опять, объем продаж возрастает в число раз, равное определенному множителю, а сезонная компонента, по своей природе,мультипликативная компонента (в данном случае равная 1.4). Если перейти к графикам временных рядов, то различие между этими двумя видами сезонности будет проявляться так: в аддитивном случае ряд будет иметь постоянные сезонные колебания, величина которых не зависит от общего уровня значений ряда; в мультипликативном случае величина сезонных колебаний будет меняться в зависимости от общего уровня значений ряда. Аддитивный и мультипликативный тренд-цикл. Рассмотренный пример можно расширить, чтобы проиллюстрировать понятия аддитивной и мультипликативной трендциклических компонент. В случае с игрушками, тренд "моды" может привести к устойчивому росту продаж (например, это может быть общий тренд в сторону игрушек образовательной направленности). Как и сезонная компонента, этот тренд может быть по своей природе аддитивным (продажи ежегодно увеличиваются на 3 миллиона долларов) или мультипликативным (продажи ежегодно увеличиваются на 30%, или возрастают в 1.3 раза). Кроме того, объем продаж может содержать циклические компоненты. Повторим еще раз, что циклическая компонента отличается от сезонной тем, что она обычно имеет большую временную протяженность и проявляется через неравные промежутки времени. Так, например, некоторая игрушка может быть особенно "горячей" в течение летнего сезона (например, кукла, изображающая персонаж популярного мультфильма, которая к тому же агрессивно рекламируется). Как и в предыдущих случаях, такая циклическая компонента может изменять объем продаж аддитивно, либо мультипликативно. Вычисления В вычислительном отношении процедура метода Сезонной декомпозиции (Census I) следует стандартным формулам, см. Makridakis, Wheelwright, and McGee (1983) или Makridakis and Wheelwright (1989). Скользящее среднее. Сначала вычисляется скользящее среднее для временного ряда, при этом ширина окна берется равной периоду сезонности. Если период сезонности - четное число, пользователь может выбрать одну из двух возможностей: брать скользящее среднее с одинаковыми весами или же с неравными весами так, что первое и последнее наблюдения в окне имеют усредненные веса. Отношения или разности. После взятия скользящих средних вся сезонная (т.е. внутри сезона) изменчивость будет исключена, и поэтому разность (в случае аддитивной модели) или отношение (для мультипликативной модели) между наблюдаемым и сглаженным рядом будет выделять сезонную составляющую (плюс нерегулярную компоненту). Более точно, ряд скользящих средних вычитается из наблюдаемого ряда (в аддитивной модели) или же значения наблюдаемого ряда делятся на значения скользящих средних (в мультипликативной модели). Сезонная составляющая. На следующем шаге вычисляется сезонная составляющая, как среднее (для аддитивных моделей) или урезанное среднее (для мультипликативных моделей) всех значений ряда, соответствующих данной точке сезонного интервала. Сезонная корректировка ряда. Исходный ряд можно скорректировать, вычитая из него (аддитивная модель) или деля его значения на (мультипликативная модель) значения сезонной составляющей. Получающийся в результате ряд называется сезонной корректировкой ряда (из ряда убрана сезонная составляющая).. Тренд-циклическая компонента. Напомним, что циклическая компонента отличается от сезонной компоненты тем, что продолжительность цикла, как правило, больше, чем один сезонный период, и разные циклы могут иметь разную продолжительность. Приближение для объединенной тренд-циклической компоненты можно получить, применяя к ряду с сезонной поправкой процедуру 5-точечного (центрированного) взвешенного скользящего среднего с весами 1, 2, 3, 2, 1. Случайная или нерегулярная компонента. На последнем шаге выделяется случайная или нерегулярная компонента (погрешность) путем вычитания из ряда с сезонной поправкой (аддитивная модель) или делением этого ряда (мультипликативная модель) на тренд-циклическую компоненту. Сезонная корректировка X-11 (метод Census II) Общие идеи, лежащие в основе сезонной декомпозиции и корректировки, изложены в разделе, посвященном методу сезонной корректировки Census I (см. Сезонная декомпозиция (метод Census I)). Метод Census II (2) является развитием и уточнением обычного метода корректировки. На протяжении многих лет различные варианты метода Census II развивались в Бюро Переписи США (US Census Bureau); один из вариантов этого метода, получивший широкую известность и наиболее часто применяемый в государственных органах и сфере бизнеса, называется "вариант X-11 метода Census II" (см. Shiskin, Young, and Musgrave, 1967). Впоследствии этот усовершенствованный вариант метода Census II стал называться просто X-11. Помимо документации, которую можно получить из Census Bureau, подробное описание метода дано в работах Makridakis, Wheelwright and McGee (1983), Makridakis and Wheelwright (1989). Сезонная корректировка: основные идеи и термины Предположим, что у вас имеются ежемесячные данные о пассажиропотоке на международных авиалиниях за 12 лет (см. Бокс и Дженкинс, 1976). Если изобразить эти данные на графике, то будет хорошо видно, что (1) объем пассажиропотока имеет во времени возрастающий линейный тренд, и что (2) в ряде имеется ежегодно повторяющаяся закономерность - сезонность (большинство перевозок приходится на летние месяцы, кроме того, имеется пик меньшей высоты в районе декабрьских каникул). Цель сезонной декомпозиции и корректировки как раз и состоит в том, чтобы отделить эти компоненты, то есть разложить ряд на составляющую тренда, сезонную компоненту и оставшуюся нерегулярную составляющую. "Классический" прием, позволяющий выполнить такую декомпозицию, известен как метод Census I (см. раздел Census I). Этот метод описывается и обсуждается в работах Makridakis, Wheelwright, and McGee (1983) и Makridakis and Wheelwright (1989). Общая модель. Основная идея сезонной декомпозиции проста. В общем случае временной ряд типа того, который описан выше, можно представить себе состоящим из четырех различных компонент: (1) сезонной компоненты (обозначается St, где t обозначает момент времени), (2) тренда (Tt), (3) циклической компоненты (Ct) и (4) случайной, нерегулярной компоненты или флуктуации (It). Разница между циклической и сезонной компонентой состоит в том, что последняя имеет регулярную (сезонную) периодичность, тогда как циклические факторы обычно имеют более длительный эффект, который к тому же меняется от цикла к циклу. В методе Census I тренд и циклическую компоненту обычно объединяют в одну тренд-циклическую компоненту (TCt). Конкретные функциональные взаимосвязи между этими компонентами могут иметь самый разный вид. Однако, можно выделить два основных способа, с помощью которых они могут взаимодействовать: аддитивно и мультипликативно: Аддитивная модель: Xt = TCt + St + It Мультипликативная модель: Xt = Tt*Ct*St*It Здесь Xt обозначает значение временного ряда в момент времени t. Если имеются какие-то априорные сведения о циклических факторах, влияющих на ряд (например, циклы деловой конъюнктуры), то можно использовать оценки для различных компонент для составления прогноза будущих значений ряда. (Однако для прогнозирования предпочтительнее экспоненциальное сглаживание, позволяющее учитывать сезонную составляющую и тренд.) Аддитивная и мультипликативная сезонность. Рассмотрим на примере различие между аддитивной и мультипликативной сезонными компонентами. График объема продаж детских игрушек, вероятно, будет иметь ежегодный пик в ноябре-декабре, и другой существенно меньший по высоте - в летние месяцы, приходящийся на каникулы. Такая сезонная закономерность будет повторяться каждый год. По своей природе сезонная компонента может быть аддитивной или мультипликативной. Так, например, каждый год объем продаж некоторой конкретной игрушки может увеличиваться в декабре на 3 миллиона долларов. Поэтому вы можете учесть эти сезонные изменения, прибавляя к своему прогнозу на декабрь 3 миллиона. Здесь мы имеем аддитивнуюсезонность. Может получиться иначе. В декабре объем продаж некоторой игрушки может увеличиваться на 40%, то есть умножаться на множитель 1.4. Это значит, например, что если средний объем продаж этой игрушки невелик, то абсолютное (в денежном выражении) увеличение этого объема в декабре также будет относительно небольшим (но в процентном исчислении оно будет постоянным); если же игрушка продается хорошо, то и абсолютный (в долларах) рост объема продаж будет значительным. Здесь опять, объем продаж возрастает в число раз, равное определенному множителю, а сезонная компонента, по своей природе,мультипликативная компонента (в данном случае равная 1.4). Если перейти к графикам временных рядов, то различие между этими двумя видами сезонности будет проявляться так: в аддитивном случае ряд будет иметь постоянные сезонные колебания, величина которых не зависит от общего уровня значений ряда; в мультипликативном случае величина сезонных колебаний будет меняться в зависимости от общего уровня значений ряда. Аддитивный и мультипликативный тренд-цикл. Рассмотренный пример можно расширить, чтобы проиллюстрировать понятия аддитивной и мультипликативной трендциклических компонент. В случае с игрушками, тренд "моды" может привести к устойчивому росту продаж (например, это может быть общий тренд в сторону игрушек образовательной направленности). Как и сезонная компонента, этот тренд может быть по своей природе аддитивным (продажи ежегодно увеличиваются на 3 миллиона долларов) или мультипликативным (продажи ежегодно увеличиваются на 30%, или возрастают в 1.3 раза). Кроме того, объем продаж может содержать циклические компоненты. Повторим еще раз, что циклическая компонента отличается от сезонной тем, что она обычно имеет большую временную протяженность и проявляется через неравные промежутки времени. Так, например, некоторая игрушка может быть особенно "горячей" в течение летнего сезона (например, кукла, изображающая персонаж популярного мультфильма, которая к тому же агрессивно рекламируется). Как и в предыдущих случаях, такая циклическая компонента может изменять объем продаж аддитивно, либо мультипликативно. Метод Census II Основной метод сезонной декомпозиции и корректировки, рассмотренный в разделе Сезонная корректировка: основные идеи и термины, может быть усовершенствован различными способами. На самом деле, в отличие от многих методов моделирования временных рядов (в частности, АРПСС), которые основаны на определенной теоретической модели, вариант X-11 метода Census II представляет собой просто результат многочисленных специально разработанных приемов и усовершенствований, которые доказали свою работоспособность в многолетней практике решения реальных задач (см. Burman, 1979, Kendall and Ord, 1990, Makridakis and Wheelwright, 1989; Wallis, 1974). Некоторые из наиболее важных усовершенствований перечислены ниже. Поправка на число рабочих дней. В месяцах разное число дней и разное число рабочих дней. Если мы анализируем, например, цифры ежемесячной выручки парка аттракционов, то разница в числе суббот и воскресений (пиковые дни) в разных месяцах существенным образом скажется на различиях в ежемесячных показателях дохода. Вариант X-11 метода Census II дает пользователю возможность проверить, присутствует ли во временном ряду этот эффект числа рабочих дней, и если да, то внести соответствующие поправки. Выбросы. Большинство реальных временных рядов содержит выбросы, то есть резко выделяющиеся наблюдения, вызванные какими-то исключительными событиями. Например, забастовка персонала может сильно повлиять на месячные или годовые показатели выпуска продукции фирмы. Такие выбросы могут исказить оценки сезонной компоненты и тренда. В процедуре X-11предусмотрены корректировки на случай появления выбросов, основанные на использовании "принципов статистического контроля": значения, выходящие за определенный диапазон (который определяется в терминах, кратных сигма, т.е. стандартных отклонений), могут быть преобразованы или вовсе пропущены, и только после этого будут вычисляться окончательные оценки параметров сезонности. Последовательные уточнения. Корректировки, связанные с наличием выбросов и различным числом рабочих дней можно производить многократно, чтобы последовательно получать для компонент оценки все лучшего качества. В методе X11 делается несколько последовательных уточнений оценок для получения окончательных компонент тренд-цикличности и сезонности, нерегулярной составляющей, и самого временного ряда с сезонными поправками. Критерии и итоговые статистики. Помимо оценки основных компонент ряда, можно вычислить различные сводные статистики. Например, можно сформировать таблицы дисперсионного анализа для проверки значимости фактора сезонной изменчивости и ряда и фактора рабочих дней (см. выше), процедура метода X-11 вычисляет также ежемесячные относительные изменения в случайной и тренд-циклической компонентах. С увеличением продолжительности временного промежутка, измеряемого в месяцах или, в случае квартального варианта метода X-11 - в кварталах года, изменения в тренд-циклической компоненте, вообще говоря, будут нарастать, в то время как изменения случайной составляющей должны оставаться примерно на одном уровне. Средняя длина временного интервала, на котором изменения тренд-циклической компоненты становятся примерно равными изменениям случайной компоненты, называется месяцем (кварталом) циклического доминирования, или сокращенно МЦД (соответственно КЦД). Например, если МЦД равно двум, то на сроках более двух месяцев тренд-циклическая компонента станет доминировать над флуктуациями нерегулярной (случайной) компоненты. Эти и другие результаты более подробно будут обсуждаться далее. Таблицы результатов корректировки X-11 Вычисления, которые производятся в процедуре X-11, лучше всего обсуждать в контексте таблиц результатов, которые при этом выдаются. Процедура корректировки разбивается на семь этапов, которые обычно обозначаются буквами A - G. A. Априорная корректировка (помесячная сезонная корректировка). Перед тем, как к временному ряду, содержащему ежемесячные значения, будет применяться какая-либо сезонная корректировка, могут быть произведены различные корректировки, заданные пользователем. Можно ввести еще один временной ряд, содержащий априорные корректирующие факторы; значения этого ряда будут вычитаться из исходного ряда (аддитивная модель), или же значения исходного ряда будут поделены на значения корректирующего ряда (мультипликативная модель). В случае мультипликативной модели пользователь может также определить свои собственные поправочные коэффициенты (веса) на число рабочих дней. Эти веса будут использоваться для корректировки ежемесячных наблюдений, так чтобы учитывалось число рабочих дней в этом месяце. B. Предварительное оценивание вариации числа рабочих дней (месячный вариант X-11) и весов. На следующем шаге вычисляются предварительные поправочные коэффициенты на число рабочих дней (только в месячном варианте X-11) и веса, позволяющие уменьшить эффект выбросов. C. Окончательное оценивание вариации числа рабочих дней и нерегулярных весов (месячный вариант X-11). Поправки и веса, вычисленные в пункте B, используются для построения улучшенных оценок тренд-циклической и сезонной компонент. Эти улучшенные оценки используются для окончательного вычисления факторов числа рабочих дней (в месячном вариантеX-11) и весов. D. Окончательное оценивание сезонных факторов, тренд-циклической, нерегулярной и сезонно скорректированной компонент ряда. Окончательные значения факторов рабочих дней и весов, вычисленные в пункте C, используются для вычисления окончательных оценок для компонент ряда. E. Модифицированные ряды: исходный, сезонно скорректированный и нерегулярный. Исходный и окончательный сезонно скорректированный ряды, а также нерегулярная компонента модифицируются путем сглаживания выбросов. Полученные в результате этого, модифицированные ряды позволяют пользователю проверить устойчивость сезонной корректировки. F. Месяц (квартал) циклического доминирования (МЦД, КЦД), скользящее среднее и сводные показатели. IНа этом этапе вычислений рассчитываются различные сводные характеристики (см. далее), позволяющие пользователю исследовать относительную важность разных компонент, среднюю флуктуацию от месяца к месяцу (от квартала к кварталу), среднее число идущих подряд изменений в одну сторону и др. G. Графики. Наконец, вы можете построить различные графики итоговых результатов. Например, можно построить окончательно скорректированный ряд в хронологическом порядке или по месяцам (см. ниже). Подробное описание всех таблиц результатов, вычисляемых в методе X-11 На каждом из этапов A - G (см. раздел Таблицы результатов корректировки X-11) вычислялись различные таблицы результатов. Обычно все они нумеруются, а также им приписывается буква, соответствующая этапу анализа. Например, таблица B 11 содержит предварительно сезонно скорректированный ряд; C 11 - это более точно сезонно скорректированный ряд, а D 11 - окончательный сезонно скорректированный ряд. Далее приводится перечень всех таблиц. Таблицы, помеченные звездочкой (*), недоступны (или неприменимы) при анализе квартальных показателей. Кроме того, в случае квартальной корректировки некоторые из описанных ниже вычислений несколько видоизменяются. Так, например, для вычисления сезонных факторов вместо 12-периодного (т.е. 12месячного) скользящего среднего используется 4-периодное (4-квартальное) скользящее среднее; предварительная тренд-циклическая компонента вычисляется по центрированному 4-периодному скользящему среднему, а окончательная оценка трендциклической компоненты вычисляется по 5-точечному среднему Хендерсона. В соответствии со стандартом метода X-11, принятым Бюро переписи США, предусмотрены три степени подробности вывода:Стандартный (17 - 27 таблиц), Длинный (27 - 39 таблиц) и Полный (44 - 59 таблиц). Имеется также возможность выводить только таблицы результатов, выбранные пользователем. В следующих далее описаниях таблиц, буквы С, Д и П рядом с названием таблицы указывают, какие таблицы выводятся и/или распечатываются в соответствующем варианте вывода. (Для графиков предусмотрены два уровня подробности вывода: Стандартный и Все.) Анализ распределенных лагов Общая цель Анализ распределенных лагов - это специальный метод оценки запаздывающей зависимости между рядами. Например, предположим, вы производите компьютерные программы и хотите установить зависимость между числом запросов, поступивших от покупателей, и числом реальных заказов. Вы могли бы записывать эти данные ежемесячно в течение года и затем рассмотреть зависимость между двумя переменными: число запросов и число заказов зависит от запросов, но зависит с запаздыванием. Однако очевидно, что запросы предшествуют заказам, поэтому можно ожидать, что число заказов. Иными словами, в зависимости между числом запросов и числом продаж имеется временной сдвиг (лаг) (см. также автокорреляции и кросскорреляции). Такого рода зависимости с запаздыванием особенно часто возникают в эконометрике. Например, доход от инвестиций в новое оборудование отчетливо проявится не сразу, а только через определенное время. Более высокий доход изменяет выбор жилья людьми; однако эта зависимость, очевидно, тоже проявляется с запаздыванием. [Подобные задачи возникают в страховании, где временной ряд клиентов и ряд денежных поступлений сдвинуты друг относительно друга]. Во всех этих случаях, имеется независимая или объясняющая переменная, которая воздействует на зависимые переменные с некоторым запаздыванием (лагом). Метод распределенных лагов позволяет исследовать такого рода зависимость. Подробные обсуждения зависимостей с распределенными лагами имеются в эконометрических учебниках, например, в Judge, Griffith, Hill, Luetkepohl, and Lee (1985), Maddala (1977), and Fomby, Hill, and Johnson (1984). Ниже дается краткое описание этих методов. Предполагается, что вы знакомы с понятием корреляции (см. Основные статистики и таблицы), кросскорреляции и основными идеями множественной регрессии (см. Множественная регрессия). Общая модель Пусть y - зависимая переменная, a независимая или объясняющая x. Эти переменные измеряются несколько раз в течение определенного отрезка времени. В некоторых учебниках по эконометрике зависимая переменная называется также эндогеннойпеременной, a зависимая или объясняемая переменная экзогенной переменной. Простейший способ описать зависимость между этими двумя переменными дает следующее линейное уравнение: Yt = i*xt-i В этом уравнении значение зависимой переменной в момент времени t является линейной функцией переменной x, измеренной в моменты t, t-1, t-2 и т.д. Таким образом, зависимая переменная представляет собой линейные функции x и x, сдвинутых на 1, 2, и т.д. временные периоды. Бета коэффициенты ( i) могут рассматриваться как параметры наклона в этом уравнении. Будем рассматривать это уравнение как специальный случай уравнения линейной регрессии (см. раздел Множественная регрессия). Если коэффициент переменной с определенным запаздыванием (лагом) значим, то можно заключить, что переменная y предсказывается (или объясняется) с запаздыванием. Распределенный лаг Алмона Обычная проблема, возникающая в множественной регрессии, состоит в том, что соседние значения x сильно коррелируют. В самом крайнем случае, это приводит к тому, что корреляционная матрица не будет обратимой и коэффициенты бета не могут быть вычислены. В менее экстремальных ситуациях вычисления этих коэффициентов и их стандартные ошибки становятся ненадежными из-за вычислительных ошибок (ошибок округления). В контексте множественной регрессии эта проблема хорошо известна как проблема мультиколлинеарности (см. раздел Множественная регрессия). Алмон (1965) предложил специальную процедуру, которая в данном случае уменьшает мультиколлинеарность. Именно, пусть каждый неизвестный коэффициент записан в виде: i = 0 + 1*i + ... + q q*i Алмон показал, что во многих случаях (в частности, чтобы избежать мультиколлинеарности) легче оценить коэффициенты альфа, чем непосредственно коэффициенты бета. Такой метод оценивания коэффициентов бета называется полиномиальной аппроксимацией. Неправильная спецификация. Общая проблема полиномиальной аппроксимации, состоит в том, что длина лага и степень полинома неизвестны заранее. Последствия неправильного определения (спецификации) этих параметров потенциально серьезны (в силу смещения, возникающего в оценках при неправильном задании параметров). Этот вопрос подробно обсуждается в книгах Frost (1975), Schmidt and Waud (1973), Schmidt and Sickles (1975) и Trivedi and Pagan (1979). Одномерный анализ Фурье В спектральном анализе исследуются периодические модели данных. Цель анализа разложить комплексные временные ряды с циклическими компонентами на несколько основных синусоидальных функций с определенной длиной волн. Термин "спектральный" - своеобразная метафора для описания природы этого анализа. Предположим, вы изучаете луч белого солнечного света, который, на первый взгляд, кажется хаотически составленным из света с различными длинами волн. Однако, пропуская его через призму, вы можете отделить волны разной длины или периодов, которые составляют белый свет. Фактически, применяя этот метод, вы можете теперь распознавать и различать разные источники света. Таким образом, распознавая существенные основные периодические компоненты, вы узнали что-то об интересующем вас явлении. В сущности, применение спектрального анализа к временным рядам подобно пропусканию света через призму. В результате успешного анализа можно обнаружить всего несколько повторяющихся циклов различной длины в интересующих вас временных рядах, которые, на первый взгляд, выглядят как случайный шум. Наиболее известный пример применения спектрального анализа - циклическая природа солнечных пятен (например, см. Блумфилд, 1976 или Шамвэй, 1988). Оказывается, что активность солнечных пятен имеет 11-ти летний цикл. Другие примеры небесных явлений, изменения погоды, колебания в товарных ценах, экономическая активность и т.д. также часто используются в литературе для демонстрации этого метода. В отличие от АРПСС или метода экспоненциального сглаживания (см. разделы АРПСС иЭкспоненциальное сглаживание), цель спектрального анализа распознать сезонные колебания различной длины, в то время как в предшествующих типах анализа, длина сезонных компонент обычно известна (или предполагается) заранее и затем включается в некоторые теоретические модели скользящего среднего или автокорреляции. Классический текст по спектральному анализу - Bloomfield (1976); однако другие подробные обсуждения могут быть найдены в Jenkins and Watts (1968), Brillinger (1975), Brigham (1974), Elliott and Rao (1982), Priestley (1981), Shumway (1988) или Wei (1989). Кросс-спектральный анализ развивает Одномерный анализ Фурье и позволяет анализировать одновременно два ряда. Мы предполагаем, что вы уже прочитали введение к разделу одномерного спектрального анализа. Подробное обсуждение кроссспектрального анализа можно найти в книгах Bloomfield (1976), Jenkins and Watts (1968), Brillinger (1975), Brigham (1974), Elliott and Rao (1982), Priestley (1981), Shumway (1988), or Wei (1989). Периодичность ряда на определенных частотах. Наиболее известный пример применения спектрального анализа - циклическая природа солнечных пятен (например, см. Блумфилд, 1976 или Шамвэй, 1988). Оказывается, что активность солнечных пятен имеет 11-ти летний цикл. Другие примеры небесных явлений, изменения погоды, колебания в товарных ценах, экономическая активность и т.д. также часто используются в литературе для демонстрации этого метода. Основные понятия и принципы Простой пример. Рассмотрим следующие два ряда с 16 наблюдениями: ПЕРЕМ1 ПЕРЕМ2 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 1.000 1.637 1.148 -.058 -.713 -.383 .006 -.483 -1.441 -1.637 -.707 .331 .441 -.058 -.006 .924 -.058 -.713 -.383 .006 -.483 -1.441 -1.637 -.707 .331 .441 -.058 -.006 .924 1.713 1.365 .266 С первого взгляда нелегко рассмотреть взаимосвязь между двумя рядами. Тем не менее, как показано ниже, ряды создавались так, что содержат две сильно коррелируемые периодичности. Далее показаны части таблицы результатов из кросс-спектрального анализа (спектральные оценки были сглажены окном Парзена ширины 3). Незавмсимая (X): ПЕРЕМ1 Зависимая (Y): ПЕРЕМ2 Частота 0.000000 .062500 .125000 .187500 .250000 .312500 .375000 .437500 .500000 X Y Кросс Кросс Кросс Период плотность плотность плотность квадр. амплит. .000000 .024292 -.00000 0.00000 .000000 16.00000 8.094709 7.798284 2.35583 -7.58781 7.945114 8.00000 .058771 .100936 -.04755 .06059 .077020 5.33333 3.617294 3.845154 -2.92645 2.31191 3.729484 4.00000 .333005 .278685 -.26941 .14221 .304637 3.20000 .091897 .067630 -.07435 .02622 .078835 2.66667 .052575 .036056 -.04253 .00930 .043539 2.28571 .040248 .026633 -.03256 .00342 .032740 2.00000 .037115 0.000000 0.00000 0.00000 0.000000 Результаты для каждой переменной Полная таблица результатов содержит все спектральные статистики, вычисленные для каждого ряда, как описано в разделеОдномерный анализ Фурье. Взглянув на приведенные выше результаты, очевидно, что оба ряда имеют основные периодичности на частотах .0625 и .1875. Кросс-периодограмма, кросс-плотность, квадратурная плотность и кросс-амплитуда Аналогично результатам для одной переменной, полная итоговая таблица результатов также покажет значения периодограммы для кросс-периодограммы. Однако кросс-спектр состоит из комплексных чисел, которые могут быть разделены на действительную и мнимую части. Они могут быть сглажены для вычисления оценок кросс-плотности и квадратурной плотности (квадр-плотность для краткости), соответственно. (Причины сглаживания и различные функции весов для сглаживания обсуждаются в разделеОдномерный анализ Фурье.) Квадратный корень из суммы квадратов значений кросс-плотности и квадр-плотности называетсякросс-амплитудой. Кросс-амплитуда может интерпретироваться как мера ковариации между соответствующими частотными компонентами двух рядов. Таким образом из результатов, показанных в таблице результатов выше, можно заключить, что частотные компоненты .0625 и .1875 двух рядов взаимосвязаны. Квадрат когерентности, усиление и фазовый сдвиг Существуют дополнительные статистики, которые будут показаны в полной итоговой таблице результатов. Квадрат когерентности. Можно нормировать значения кросс-амплитуды, возведя их в квадрат и разделив на произведение оценок спектральной плотности каждого ряда. Результат называется квадратом когерентности, который может быть проинтерпретирован как квадрат коэффициента корреляции (см. раздел Корреляции); т.е. значение когерентности - это квадрат корреляции между циклическими компонентами двух рядов соответствующей частоты. Однако значения когерентности не следует объяснять таким образом; например, когда оценки спектральной плотности обоих рядов очень малы, могут получиться большие значения когерентности (делитель в выражении когерентности может быть очень маленьким), даже если нет существенных циклических компонент в каждом ряду соответствующей частоты. Усиление. Значение усиления в анализе вычисляется делением значения кроссамплитуды на оценки спектральной плотности одного или двух рядов. Следовательно, может быть вычислено два значения усиления, которые могут интерпретироваться как стандартные коэффициенты регрессии, соответствующей частоты, полученные методом наименьших квадратов. Фазовый сдвиг. В заключение, оценки фазового сдвига вычисляются как арктангенс (tan**-1) коэффициента пропорциональности оценки квадр-плотности и оценки кросс-плотности. Оценки фазового сдвига (обычно обозначаемые греческой буквой y) измеряют, насколько каждая частотная компонента одного ряда опережает частотные компоненты другого. Как создавались данные для примера Теперь вернемся к примеру данных, приведенному выше. Большие оценки спектральной плотности для обоих рядов и значения кросс-амплитуды для частот = 0.0625 и = .1875 предполагают две существенных синхронных периодичности с этими частотами в обоих рядах. Фактически, два ряда создавались как: v1 = cos(2* *.0625*(v0-1)) + .75*sin(2* *.2*(v0-1)) v2 = cos(2* *.0625*(v0+2)) + .75*sin(2* *.2*(v0+2)) (где v0 - номер наблюдения). Действительно, анализ, представленный в этом обзоре, очень хорошо воспроизводит периодичность, заложенную в данные. Частота и период Длина волны функций синуса или косинуса, как правило, выражается числом циклов (периодов) в единицу времени (Частота), часто обозначается греческой буквой ню ( ; в некоторых учебниках также используют f). Например, временной ряд, состоящий из количества писем, обрабатываемых почтой, может иметь 12 циклов в году. Первого числа каждого месяца отправляется большое количество корреспонденции (много счетов приходит именно первого числа каждого месяца); затем, к середине месяца, количество корреспонденции уменьшается; и затем вновь возрастает к концу месяца. Поэтому каждый месяц колебания в количестве корреспонденции, обрабатываемой почтовым отделением, будут проходить полный цикл. Таким образом, если единица анализа - один год, то будет равно 12 (поскольку имеется 12 циклов в году). Конечно, могут быть и другие циклы с различными частотами. Например, годичные циклы ( =1) и, возможно, недельные циклы ( =52 недели в год). Период Т функций синуса или косинуса определяется как продолжительность по времени полного цикла. Таким образом, это обратная величина к частоте: T = 1/ . Возвратимся к примеру с почтой из предыдущего абзаца, здесь месячный цикл будет равен 1/12 = 0.0833 года. Другими словами, это период составляет 0.0833 года. Общая структура модели Как было отмечено ранее, цель спектрального анализа - разложить ряд на функции синусов и косинусов различных частот, для определения тех, появление которых особенно существенно и значимо. Один из возможных способов сделать это - решить задачу линейной множественной регрессии (см. раздел Множественная регрессия), где зависимая переменная -наблюдаемый временной ряд, а независимые переменные или регрессоры: функции синусов всех возможных (дискретных) частот. Такая модель линейной множественной регрессии может быть записана как: xt = a0 + [ak*cos( k*t) + bk*sin( k*t)] (для k = 1 до q) Следующее общее понятие классического гармонического анализа в этом уравнении (лямбда) -это круговая частота, выраженная в радианах в единицу времени, т.е. = 2* * k, где - константа пи = 3.1416 и k = k/q. Здесь важно осознать, что вычислительная задача подгонки функций синусов и косинусов разных длин к данным может быть решена с помощью множественной линейной регрессии. Заметим, что коэффициенты ak при косинусах и коэффициенты bk при синусах - это коэффициенты регрессии, показывающие степень, с которой соответствующие функции коррелируют с данными [заметим, что сами синусы и косинусы на различных частотах не коррелированы или, другим языком, ортогональны. Таким образом, мы имеем дело с частным случаем разложения по ортогональным полиномам.] Всего существует q различных синусов и косинусов (см. такжеМножественная регрессия); интуитивно ясно, что число функций синусов и косинусов не может быть больше числа данных в ряде. Не вдаваясь в подробности, отметим, если n - количество данных, то будет n/2+1 функций косинусов и n/2-1 функций синусов. Другими словами, различных синусоидальных волн будет столько же, сколько данных, и вы сможете полностью воспроизвести ряд по основным функциям. (Заметим, если количество данных в ряде нечетно, то последнее наблюдение обычно опускается. Для определения синусоидальной функции нужно иметь, по крайней мере, две точки: высокого и низкого пика.) В итоге, спектральный анализ определяет корреляцию функций синусов и косинусов различной частоты с наблюдаемыми данными. Если найденная корреляция (коэффициент при определенном синусе или косинусе) велика, то можно заключить, что существует строгая периодичность на соответствующей частоте в данных. Комплексные числа (действительные и мнимые числа). Во многих учебниках по спектральному анализу структурная модель, показанная выше, представлена в комплексных числах; т.е. параметры оцениваемого процесса описаны с помощью действительной и мнимой части преобразования Фурье. Комплексное число состоит из действительного и мнимого числа. Мнимые числа, по определению, - это числа, умноженные на константу i, где i определяется как квадратный корень из -1. Очевидно, корень квадратный из -1 не существует в обычном сознании (отсюда термин мнимое число); однако арифметические операции над мнимыми числами могут производиться естественным образом [например, (i*2)**2= -4]. Полезно представление действительных и мнимых чисел, образующих двумерную координатную плоскость, где горизонтальная или X-ось представляет все действительные числа, а вертикальная или Yось представляет все мнимые числа. Комплексные числа могут быть представлены точками на двумерной плоскости. Например, комплексное число 3+i*2 может быть представлено точкой с координатами {3,2} на этой плоскости. Можно также представить комплексные числа как углы; например, можно соединить точку, соответствующую комплексному числу на плоскости с началом координат (комплексное число 0+i*0), и измерить угол наклона этого вектора к горизонтальной оси. Таким образом интуитивно ясно, каким образом формула спектрального разложения, показанная выше, может быть переписана в комплексной области. В таком виде математические вычисления часто более изящны и проще в выполнении, поэтому многие учебники предпочитают представление спектрального анализа в комплексных числах. Простой пример Шамвэй (1988) предлагает следующий простой пример для объяснения спектрального анализа. Создадим ряд из 16 наблюдений, полученных из уравнения, показанного ниже, а затем посмотрим, каким образом можно извлечь из него информацию. Сначала создадим переменную и определим ее как: x = 1*cos(2* *.0625*(v0-1)) + .75*sin(2* *.2*(v0-1)) Эта переменная состоит из двух основных периодичностей - первая с частотой =.0625 (или периодом 1/ =16; одно наблюдение составляет 1/16-ю длины полного цикла, или весь цикл содержит каждые 16 наблюдений) и вторая с частотой =.2 (или периодом 5). Коэффициент при косинусе (1.0) больше чем коэффициент при синусе (.75). Итоговая таблица результатов спектрального анализа показана ниже. Спектральный анализ: ПЕРЕМ1 (shumex.sta) Число наблюдений: 16 ЧасКосинус Синус Периодоt тота Период корэфф. корэфф. грамма 0 1 2 3 4 5 6 7 8 .0000 .0625 .1250 .1875 .2500 .3125 .3750 .4375 .5000 16.00 8.00 5.33 4.00 3.20 2.67 2.29 2.00 .000 1.006 .033 .374 -.144 -.089 -.075 -.070 -.068 0.000 .028 .079 .559 -.144 -.060 -.031 -.014 0.000 .000 8.095 .059 3.617 .333 .092 .053 .040 .037 Теперь рассмотрим столбцы таблицы результатов. Ясно, что наибольший коэффициент при косинусах расположен напротив частоты .0625. Наибольший коэффициент при синусах соответствует частоте .1875. Таким образом, эти две частоты, которые были "внесены" в данные, отчетливо проявились. Периодограмма Функции синусов и косинусов независимы (или ортогональны); поэтому можно просуммировать квадраты коэффициентов для каждой частоты, чтобы вычислить периодограмму. Более часто, значения периодограммы вычисляются как: Pk = синус-коэффициентk2 + косинус-коэффициентk2 * N/2 где Pk - значения периодограммы на частоте k , и N - общая длина ряда. Значения периодограммы можно интерпретировать как дисперсию (вариацию) данных на соответствующей частоте. Обычно значения периодограммы изображаются в зависимости от частот или периодов. Проблема рассеяния В примере, приведенном выше, функция синуса с частотой 0.2 была "вставлена" в ряд. Однако из-за того, что длина ряда равна 16, ни одна из частот, полученных в таблице результатов, не совпадает в точности с этой частотой. На практике в этих случаях часто оказывается, что соответствующая частота "рассеивается" на близкие частоты. Например, могут быть найдены большие значения периодограммы для двух близких частот, когда в действительности существует только одна основная функция синуса или косинуса с частотой, которая попадает на одну из этих частот или лежит между найденными частотами. Существует три подхода к решению проблемы рассеяния: При помощи добавление констант во временной ряда ряда можно увеличить частоты, Применяя сглаживание ряда перед анализом, можно уменьшить рассеяние или Применяя сглаживание периодограммы, можно идентифицировать основные частотные области или (спектральные плотности), которые существенно влияют на циклическое поведение ряда. Ниже смотрите описание каждого из этих подходов. Добавление констант во временной ряд (пэддинг) Так как частотные величины вычисляются как N/t, можно просто добавить в ряд константы (например, нули), и таким образом получить увеличение частот. Фактически, если вы добавите в файл данных, описанный в примере выше, десять нулей, результаты не изменятся; т.е. наибольшие пики периодограммы будут находиться по-прежнему на частотах близких к .0625 и .2. (Добавление констант во временной ряд также часто желательно для увеличения вычислительной эффективности; см. ниже.) Косинус-сглаживание Так называемый процесс косинус-сглаживания - рекомендуемое преобразование ряда, предшествующее спектральному анализу. Оно обычно приводит к уменьшению рассеяния в периодограмме. Логическое обоснование этого преобразования подробно объясняется в книге Bloomfield (1976, стр. 80-94). По существу, количественное отношение (p) данных в начале и в конце ряда преобразуется при помощи умножения на веса: wt = 0.5*{1-cos[ wt = 0.5*{1-cos[ *(t - 0.5)/m]} (для t=0 до m-1) *(N - t + 0.5)/m]} (для t=N-m до N-1) где m выбирается так, чтобы 2*m/N было равно коэффициенту пропорциональности сглаживаемых данных (p). Окна данных и оценки спектральной плотности На практике, при анализе данных обычно не очень важно точно определить частоты основных функций синусов или косинусов. Скорее, т.к. значения периодограммы - объект существенного случайного колебания, можно столкнуться с проблемой многих хаотических пиков периодограммы. В этом случае хотелось бы найти частоты с большими спектральными плотностями, т.е. частотные области, состоящие из многих близких частот, которые вносят наибольший вклад в периодическое поведение всего ряда. Это может быть достигнуто путем сглаживания значений периодограммы с помощью преобразования взвешенного скользящего среднего. Предположим, ширина окна скользящего среднего равна m (должно быть нечетным числом); следующие наиболее часто используемые преобразования (заметим: p = (m-1)/2). Окно Даниэля (равные веса). Окно Даниэля (Daniell, 1946) означает простое (с равными весами) сглаживание скользящим средним значений периодограммы; т.е. каждая оценка спектральной плотности вычисляется как среднее m/2 предыдущих и последующих значений периодограммы. Окно Тьюки. В окне Тьюки (Blackman and Tukey, 1958) или Тьюки-Ханна (Hanning) (названное в честь Julius Von Hann), для каждой частоты веса для взвешенного скользящего среднего значений периодограммы вычисляются как: wj = 0.5 + 0.5*cos( *j/p) (для j=0 до p) w-j = wj (для j 0) Окно Хемминга. В окне Хемминга (названного в честь R. W. Hamming) или ТьюкиХемминга (Blackman and Tukey, 1958), для каждой частоты, веса для взвешенного скользящего среднего значений периодограммы вычисляются как: wj = 0.54 + 0.46*cos( w-j = wj (для j 0) *j/p) (для j=0 до p) Окно Парзена. В окне Парзена (Parzen, 1961), для каждой частоты, веса для взвешенного скользящего среднего значений периодограммы вычисляются как: wj = 1-6*(j/p)2 + 6*(j/p)3 (для j = 0 до p/2) wj = 2*(1-j/p)3 (для j = p/2 + 1 до p) w-j = wj (для j 0) Окно Бартлетта. В окне Бартлетта (Bartlett, 1950) веса вычисляются как: wj = 1-(j/p) (для j = 0 до p) w-j = wj (для j 0) За исключением окна Даниэля, все весовые функции приписывают больший вес сглаживаемому наблюдению, находящемуся в центре окна и меньшие веса значениям по мере удаления от центра. Во многих случаях, все эти окна данных получают очень похожие результаты. Подготовка данных к анализу Теперь рассмотрим несколько других практических моментов спектрального анализа. Обычно, полезно вычесть среднее из значений ряда и удалить тренд (чтобы добиться стационарности) перед анализом. Иначе периодограмма и спектральная плотность "забьются" очень большим значением первого коэффициента при косинусе (с частотой 0.0). По существу, среднее - это цикл частоты 0 (нуль) в единицу времени; т.е. константа. Аналогично, тренд также не представляет интереса, когда нужно выделить периодичность в ряде. Фактически оба этих эффекта могут заслонить более интересные периодичности в данных, поэтому и среднее, и (линейный) тренд следует удалить из ряда перед анализом. Иногда также полезно сгладить данные перед анализом, чтобы убрать случайный шум, который может засорять существенные периодические циклы в периодограмме. Результаты для случая, когда в ряде отсутствует периодичность В заключение, зададим вопрос: что, если повторяющихся циклов в данных нет, т.е. если каждое наблюдение совершенно независимо от всех других наблюдений? Если распределение наблюдений соответствует нормальному, такой временной ряд может быть белым шумом (подобный белый шум можно услышать, настраивая радио). Если исходный ряд - белый шум, то значения периодограммы будут иметь экспоненциальное распределение. Таким образом, проверкой на экспоненциальность значений периодограммы можно узнать, отличается ли исходный ряд от белого шума. Пользователь может также построить одновыборочную статистику d статистику Колмогорова-Смирнова (cм. также раздел Непараметрическая статистика и распределения). Проверка, что шум - белый в ограниченной полосе частот. Заметим, что также можно получить значения периодограммы для ограниченной частотной области. Снова, если введенный ряд - белый шум с соответствующими частотами (т.е. если нет существенных периодических циклов этих частот), то распределение значений периодограммы должно быть снова Быстрое преобразование Фурье (БПФ) Общее введение Интерпретация результатов спектрального анализа обсуждается в разделе Основные понятия и принципы, однако там мы не обсуждали вычислительные проблемы, которые в действительности очень важны. До середины 1960-х для представления спектрального разложения использовались точные формулы для нахождения параметров синусов и косинусов. Соответствующие вычисления требовали как минимум N**2 (комплексных) умножений. Таким образом, даже сегодня высокоскоростному компьютеру потребовалось бы очень много времени для анализа даже небольшого временного ряда (для 8,000 наблюдений потребовалось бы по меньшей мере 64 миллиона умножений). Ситуация кардинально изменилась с открытием так называемого алгоритма быстрого преобразования Фурье, или БПФ для краткости. Достаточно сказать, что при применении алгоритма БПФ время выполнения спектрального анализа ряда длины N стало пропорционально N*log2(N) что конечно является огромным прогрессом. Однако недостаток стандартного алгоритма БПФ состоит в том, что число данных ряда должно быть равным степени 2 (т.е. 16, 64, 128, 256, ...). Обычно это приводит к необходимости добавлять нули во временной ряд, который, как описано выше, в большинстве случаев не меняет характерные пики периодограммы или оценки спектральной плотности. Тем не менее, в некоторых случаях, когда единица времени значительна, добавление констант во временной ряд может сделать результаты более громоздкими. Вычисление БПФ во временных рядах Выполнение быстрого преобразования Фурье чрезвычайно эффективно. На большинстве стандартных компьютеров, ряд с более чем 100,000 наблюдений легко анализируется. Однако существует несколько моментов, которые надо помнить при анализе рядов большого размера. Как упоминалось ранее, для применения стандартного (и наиболее эффективного) алгоритма БПФ требуется, чтобы длина исходного ряда была равна степени 2. Если это не так, должны быть проведены дополнительные вычисления. Будут использоваться простые точные вычислительные формулы, пока исходный ряд относительно мал, и вычисления можно выполнить за относительно короткое время. Для длинных временных рядов, чтобы применить алгоритм БПФ, используется основной подход, описанный Monro и Branch (1976). Этот метод требует значительно больше памяти; однако ряд рассматриваемой длины может анализироваться все еще очень быстро, даже если число наблюдений не является степенью 2. Для временных рядов, длина которых не равна степени 2, мы можем дать следующие рекомендации: если размер исходного ряда не превосходит средний размер (т.е. имеется только несколько тысяч наблюдений), не стоит беспокоиться. Анализ займет несколько секунд. Для анализа средних и больших рядов (например, содержащих свыше 100,000 наблюдений), добавьте в ряд константы (например нули) до тех пор, пока длина ряда не станет степенью 2 и затем примените косинус-сглаживание ряда в разведочной части анализа ваших данных. 6 Ансамбли моделей Ансамбли моделей: что? как? для чего? Каждому, кто хоть мельком сталкивался с интеллектуальным анализом данных (англ. data mining), практически сразу становится очевидно, что ни один из методов не является идеальным (или, если хотите, универсальным) – и именно поэтому их появилось так много; исследователи и энтузиасты направления не один год ломают голову над поиском компромисса между точностью, простотой и интерпретируемостью каждой отдельной модели. Однако хочется отметить, что большинство экспертов отдает предпочтение точности – в самом деле, если подумать, именно это качество и делает модель полезной (хотя мы не станем отрицать, что такое мнение было и остается несколько субъективным). Итак, как же повысить точность модели, желательно, не изменяя ее сути? Одним из способов повышения точности моделей является создание и обучение ансамблей моделей – то есть наборов моделей, используемых для решения одной и той же задачи. Под обучением ансамбля понимается обучение конечного набора базовых классификаторов с последующим объединением результатов их прогнозирования в единый прогноз агрегированного классификатора. Понятно, что объединенный (агрегированный) классификатор даст более точный результат, особенно если: каждый из базовых классификаторов сам по себе обладает неплохой точностью; они приводят к разным результатам (ошибаются на разных множествах). Для того, чтобы окончательно убедить наших читателей в целесообразности объединения моделей (классификаторов) в ансамбль, приведем три причины, которые выделяют эксперты: 1. Статистическая. Как уже было сказано, агрегированный классификатор «усредняет» ошибку каждого из базовых классификаторов – соответственно, влияние случайностей на усредненную гипотезу существенно уменьшается. 2. Вычислительная. Не углубляясь в пространные математические объяснения, приведем пример из реальной жизни: предположим, что на некой ограниченной местности зарыт клад. При этом рельеф и, например, растительность этой местности неоднородны – а еще приходится учитывать такие факторы, как ограниченность во времени и погодные условия. В нашем случае клад – это глобальный оптимум, и ансамбль моделей (команда «Индиан Джонсов») имеет больший шанс найти его, поскольку будет искать его из разных точек исходного множества гипотез (из разных точек нашей с вами территории). 3. Репрезентативная. Может случиться и так, что агрегированная гипотеза будет находится за пределами множества гипотез базовых – в таком случае при построении комбинированной гипотезы мы расширим множество возможных гипотез. Построить ансамбль моделей можно с использованием нескольких методов, но сегодня мы расскажем о главных из них – бустинге и бэггинге. Бустинг Прежде чем говорить о бустинге, упомянем о двух терминах data mining – сильной и слабой моделях. Сильной моделью называется та модель, которая допускает минимальное количество ошибок классификации. Слабая же модель, напротив, допускает множество ошибок – то есть не является точной (либо теряет в надежности). Так вот, бустингом (от англ. boosting – усиление) называется метод, направленный на превращение слабых моделей в сильные путем построения ансамбля классификаторов. При бустинге происходит последовательное обучение классификаторов. Таким образом, обучающий набор данных на каждом последующем шаге зависит от точности прогнозирования предыдущего базового классификатора. Первый алгоритм Boost1, например, применял три базовых классификатора. При этом первый классификатор обучался на всем наборе данных, второй на выборке примеров, а третий – на наборе тех данных, где результаты прогнозирования первых двух классификаторов разошлись. Современная модификация первого алгоритма подразумевает использование неограниченного количества классификаторов, каждый из которых обучается на одном наборе примеров, поочередно применяя их на различных шагах. Бэггинг В отличие от предыдущего метода, бэггинг (bootstrap aggregating) использует параллельное обучение базовых классификаторов (говоря языком математической логики, бэггинг – улучшающее объединение, а бустинг – улучшающее пересечение). В ходе бэггинга происходит следующее: 1. Из множества исходных данных случайным образом отбирается несколько подмножеств, содержащих количество примеров, соответствующее количеству примеров исходного множества. 2. Поскольку отбор осуществляется случайным образом, то набор примеров всегда будет разным: некоторые примеры попадут в несколько подмножеств, а некоторые не попадут ни в одно. 3. На основе каждой выборки строится классификатор. 4. Выводы классификаторов агрегируются (путем голосования или усреднения). Как и при бустинге, ожидается, что результат прогноза агрегированного классификатора будет намного точнее результата прогноза одиночной модели на том же наборе данных. Резюме Точность модели является, пусть и несколько субъективно, важнейшим из ее свойств. Повысить точность модели можно при помощи построения и обучения ансамблей моделей – то есть набора моделей, «работающих» над решением одной и той же задачи. Два главных метода построения ансамблей моделей – бустинг и бэггинг – дают существенно более точный результат, чем применение одиночной модели на искомом наборе данных. В следующих статьях мы продолжим рассказ о технических подробностях и самых современных методологиях интеллектуального анализа данных. Литература 1. http://bukvi.ru/computer/datami-ning-klassifikaciya-i-regressiya-mashinnoeobuchenie.html 2. http://baguzin.ru/wp/?p=6078 3. http://www.statistica.ru/theory/mnozhestvennaya-lineynaya-regressiya/ 4. http://www.statistica-help.ru/node/30 5. http://bukvi.ru/computer/datami-ning-klassifikaciya-i-regressiya-mashinnoeobuchenie.html 6. http://256bit.ru/Expert/Glava%2020/Index10.htm 7. http://www.intuit.ru/studies/courses/6/6/lecture/174?page=3 8. http://www.statsoft.ru/home/textbook/modules/stneunet.html 9. http://datareview.info/article/ansambli-modeley-busting-i-begging/