Анализ данных. Лекция Ассоциативные правила. Прогнозирование
Скачать 0.56 Mb.
|
Лекция 5. Ассоциативные правила. Прогнозирование. Ассоциация - одна из задач Data Mining. Цель поиска ассоциативных правил - нахождение закономерностей между связанными событиями в базах данных. Одна из распространённых задач анализа данных - определение часто встречающихся наборов объектов в большом множестве наборов. Впервые задача поиска ассоциативных правил (association rule mining) была предложена для нахождения типичных шаблонов покупок, совершаемых в супермаркетах, поэтому ее еще называют анализом рыночной корзины (market basket analysis). Рыночная корзина - это набор товаров, приобретенных покупателем в рамках одной отдельно взятой транзакции. Транзакции являются достаточно характерными операциями, например, ими могут описываться результаты посещений различных магазинов. Транзакция - это множество событий, которые произошли одновременно. Регистрируя все бизнес-операции в течение всего времени своей деятельности, торговые компании накапливают огромные собрания транзакций. Каждая такая транзакция представляет собой набор товаров, купленных покупателем за один визит. Полученные в результате анализа шаблоны включают перечень товаров и число транзакций, которые содержат данные наборы. Транзакционная или операционная БД (Transaction database) – это двумерная таблица, которая состоит из номера транзакции (TID) и перечня покупок, приобретенных во время этой транзакции. TID - уникальный идентификатор, определяющий каждую сделку или транзакцию. Часто покупатели приобретают не один товар, а несколько. Обычно между этими товарами существует взаимосвязь. Например, покупатель, приобретающий макаронные изделия, захочет приобрести кетчуп. Эта информация может быть использована для размещения товара на прилавках. Пример ассоциативного правила: покупатель, приобретающий банку краски, приобретет кисточку для краски с вероятностью 50%. Формальная постановка задачи Пусть имеется БД, состоящая из покупательских транзакций. Каждая транзакция – это набор товаров, купленных покупателем за один визит (рыночная корзина). Пусть: I = {i i ,i 2 ,...,i j ,...,i n } – множество (набор) товаров (объектов) общим числом n; D – множество транзакций D = {T 1 ,T 2 ,T r ,...,T m }, где каждая транзакция T – это набор элементов из I. В сфере торговли, такими объектами являются, например, товары в прайс-листе (табл.5.1). Они соответствуют множеству объектов: I={шоколад, хлеб, масло, вода, молоко, орехи}. Примерами транзакций могут быть: T 1 = {хлеб, масло, молоко}, T 2 = {шоколад, вода, орехи}. Множество транзакций, в которые входит объект i j , обозначим: Табл.5.1. Объекты в сфере торговли Идентификатор Наименование товара Цена 0 Шоколад 30 1 Хлеб 12 2 Масло 10 3 Вода 04 4 Молоко 14 5 Орехи 15 Они соответствуют множеству объектов: I={шоколад, хлеб, масло, вода, молоко, орехи}. Примерами транзакций могут быть: T 1 = {хлеб, масло, молоко}, T 2 = {шоколад, вода, орехи}. Множество транзакций, в которые входит объект i j , обозначим: Множество D может быть представлено следующим образом (табл. 5.2): Табл.5.2. Представление множества D Номер транзакции Номер товара Наименование товара Цена 0 1 Хлеб 12 0 3 Вода 04 0 4 Молоко 14 1 2 Масло 10 1 3 Вода 04 1 5 Орехи 15 2 5 Орехи 15 2 2 Масло 10 2 1 Хлеб 12 2 2 Масло 10 2 3 Вода 04 3 2 Масло 10 3 5 Орехи 15 3 2 Масло 10 В примере, множеством транзакций, содержащим объект "Вода", является следующее множество: D(вода) = {{хлеб, вода, молоко}, {масло, вода, орехи}, {орехи, масло, хлеб, вода}} Обозначим произвольный набор объектов: , Например, F = {хлеб, масло}. Набор, состоящий из k элементов, называется k-элементным набором. Множество транзакций, в которые входит набор F, обозначим: В данном примере: D(масло, вода) = {{масло, вода, орехи}, {орехи, масло, хлеб, масло, вода}} Отношение количества транзакций, в которое входит набор F, к общему количеству транзакций называется поддержкой (support) набора F и обозначается Supp(F): Для набора {масло, вода} поддержка будет равна 0,5, т.к. данный набор входит в две транзакции с номерами 1 и 2, а всего транзакций четыре. При поиске аналитик может указать минимальное значение поддержки интересующих его наборов Supp min . Набор называется частым (large itemset), если значение его поддержки больше минимального значения поддержки, заданного пользователем: Supp(F) > Supp min Таким образом, при поиске ассоциативных правил требуется найти множество всех частых наборов: L = {F | Supp(F) > Supp min }. В данном примере частыми наборами при Supp min = 0,5 являются следующие: {хлеб} Supp min =0,5; {хлеб, вода} Supp min =0,5; {масло} Supp min =0,75; {масло, вода} Supp min =0,5; {масло, вода, орехи} Supp min =0,5; {масло, орехи} Supp min =0,75; {вода} Supp min =0,75; {вода, орехи} Supp min =0, 5; {орехи} Supp min =0,75; Представление результатов Решение задачи поиска ассоциативных правил, как и любой задачи, сводится к обработке исходных данных и получению результатов. Результаты, получаемые при решении данной задачи, представляют в виде ассоциативных правил. В их поиске выделяют два этапа: нахождение всех частых наборов объектов: генерация ассоциативных правил из найденных частых наборов объектов. Ассоциативные правила имеют следующий вид: если (условие), то (результат) где условие - обычно не логическое выражение (как в классификационных правилах), а набор объектов из множества I, с которым связаны (ассоциированы) объекты, включенные в результат данного правила. Например, ассоциативное правило: "если (молоко, масло), то (хлеб)" означает, что если потребитель покупает молоко и масло, то он покупает и хлеб. Основное достоинство ассоциативных правил - их лёгкое восприятие человеком и простая интерпретация языками программирования. Однако, они не всегда полезны. Выделяют три вида правил: полезные правила - содержат действительную информацию, которая ранее была неизвестна, но имеет логическое объяснение. Используются для принятия решений, приносящих выгоду. тривиальные правила - содержат действительную и легко объяснимую информацию, которая уже известна. Такие правила не могут принести пользу, т.к. отражают или известные законы в исследуемой области, или результаты прошлой деятельности. Они используются для проверки выполнения решений, принятых на основании предыдущего анализа. непонятные правила - содержат информацию, которая не может быть объяснена. Такие правила могут быть получены на основе аномальных значений, или сугубо скрытых знаний. Напрямую такие правила нельзя использовать для принятия решений, т.к. их необъяснимость может привести к непредсказуемым результатам. Требуется дополнительный анализ. Ассоциативные правила строятся на основе частых наборов. Так правила, построенные на основании набора F, являются возможными комбинациями объектов, входящих в него. Например, для набора {масло, вода, орехи}, могут быть построены следующие правила: если (масло), то (вода); если (масло), то (орехи); если (масло), то (вода, орехи); если (вода), то (масло); если (вода), то (орехи); если (вода), то (масло, орехи); если (орехи), то (масло); если (орехи), то (вода); если (орехи), то (масло, вода); если (масло, вода), то (орехи); если (масло, орехи), то (вода); если (вода, орехи), то (масло); Таким образом, количество ассоциативных правил может быть очень большим и трудно восприниматься человеком. К тому же, не все из построенных правил несут в себе полезную информацию. Для оценки их полезности вводятся следующие величины. Поддержка(support) - показывает, какой процент транзакций поддерживает данное правило. Так как правило строится на основании набора, то, значит, правило X=>Y имеет поддержку, равную поддержке набора F, который составляют X и Y: Правила, построенные на основании одного и того же набора, имеют одинаковую поддержку, например, поддержка Supp(если (вода, масло), то (орехи) = Supp(вода, масло, орехи) = 0,5. Достоверность(confidence) - показывает вероятность того, что из наличия в транзакции набора X следует наличие в ней набора Y. Достоверностью правила X=>Y является отношение числа транзакций, содержащих X и Y, к числу транзакций, содержащих набор Х: Чем больше достоверность, тем правило лучше, причем у правил, построенных на основании одного и того же набора, достоверность будет разная, например: Conf (если (вода), то (орехи))=2/3; Conf (если (орехи), то (вода))=2/3; Conf (если (вода, масло), то (орехи))=1; Conf (если (вода), то (орехи, масло))=2/3; Но достоверность не позволяет определить полезность правила. Если процент наличия в транзакциях набора Y при условии наличия в нем набора Х меньше, чем процент безусловного наличия набора Y, т.е.: , то это значит, что вероятность случайно угадать наличие в транзакции набора Y больше, чем предсказать это с помощью правила X=>Y. Для исправления ситуации вводится мера - улучшение. Улучшение(improvement) - показывает, полезнее ли правило случайного угадывания. Улучшение правила является отношением числа транзакций, содержащих наборы X и Y, к произведению количества транзакций, содержащих набор Х, и количества транзакций, содержащих набор Y: Например: impr(если (вода, масло), то (орехи) = 0,5/(0,5*0,5) = 2. Если улучшение >1, то это значит, что с помощью правила предсказать наличие набора Y вероятнее, чем случайное угадывание, если <1, то наоборот. В последнем случае можно использовать отрицательное правило, т.е. правило, которое предсказывает отсутствие набора Y: X => не Y. На практике такие правила малоприменимы. Например, правило: "если ((вода, масло), то не молоко)" малополезно, т.к. слабо выражает поведение покупателя. Данные оценки используются при генерации правил. Границы поддержки и достоверности ассоциативного правила При использовании алгоритмов поиска ассоциативных правил аналитик может получить все возможные правила вида "Из A следует B", с различными значениями поддержки и достоверности. Однако в большинстве случаев, количество правил необходимо ограничивать заранее установленными минимальными и максимальными значениями поддержки и достоверности. Если значение поддержки правила слишком велико, то в результате работы алгоритма будут найдены очевидные и хорошо известные правила. Слишком низкое значение поддержки приведет к нахождению очень большого количества правил, которые, возможно, будут в большей части необоснованными, но не известными и не очевидными для аналитика. Таким образом, необходимо определить такой интервал, "золотую середину", который с одной стороны обеспечит нахождение неочевидных правил, а с другой - их обоснованность. Если уровень достоверности слишком мал, то ценность правила вызывает серьезные сомнения. Например, правило с достоверностью в 3% только условно можно назвать правилом. Методы поиска ассоциативных правил Алгоритм AIS (предложен Agrawal, Imielinski and Swami, 1993г.) - первый алгоритм поиска ассоциативных правил. Середина 90-х гг. XX в. - пик исследовательских работ в этой области, каждый год появляются новые алгоритмы. В алгоритме AIS кандидаты множества наборов генерируются и подсчитываются "на лету", во время сканирования БД. Алгоритм SETM - используется язык SQL для вычисления часто встречающихся наборов товаров. Алгоритм SETM также формирует кандидатов "на лету", основываясь на преобразованиях БД. Чтобы использовать стандартную операцию объединения языка SQL для формирования кандидата, SETM отделяет формирование кандидата от их подсчета. Неудобство алгоритмов AIS и SETM - излишнее генерирование и подсчет слишком многих кандидатов, которые не оказываются часто встречающимися. Для улучшения - алгоритм Apriori. Алгоритм Apriori. Свойство анти-монотонности Работа алгоритма состоит из нескольких этапов, каждый из этапов состоит из шагов: формирование кандидатов - алгоритм, сканируя БД, создает множество i-элементных кандидатов (i - номер этапа). На этом этапе поддержка кандидатов не рассчитывается. подсчет кандидатов - вычисляется поддержка каждого i-элементного кандидата. Здесь же осуществляется отсечение кандидатов, поддержка которых меньше минимума, установленного пользователем (min_sup). Оставшиеся i-элементные наборы называем часто встречающимися. Выявление часто встречающихся наборов элементов – операция, требующая много вычислительных ресурсов и времени. Примитивный подход к решению задачи – простой перебор всех возможных наборов элементов. Это потребует O(2 | I | ) операций, где |I| – количество элементов. Алгоритм Apriori использует одно из свойств поддержки: поддержка любого набора элементов не может превышать минимальной поддержки любого из его подмножеств. Например, поддержка 3-элементного набора {Хлеб, Масло, Молоко} будет всегда ≤ поддержке 2-элементных наборов {Хлеб, Масло}, {Хлеб, Молоко}, {Масло, Молоко}. Дело в том, что любая транзакция, содержащая {Хлеб, Масло, Молоко}, также должна содержать {Хлеб, Масло}, {Хлеб, Молоко}, {Масло, Молоко}, причем обратное не верно. Это свойство носит название анти-монотонности и служит для снижения размерности пространства поиска. Если бы не было этого свойства, то нахождение многоэлементных наборов было бы практически невыполнимой задачей в связи с экспоненциальным ростом вычислений. Другая формулировка свойства анти-монотонности: с ростом размера набора элементов поддержка уменьшается, либо остается такой же. Из этого следует, что любой k-элементный набор будет часто встречающимся, когда все его (k-1)-элементные подмножества будут часто встречающимися. Все возможные наборы элементов из I можно представить в виде решетки, начинающейся с пустого множества, затем на 1 уровне 1-элементные наборы, на 2-м – 2-элементные и т.д. На k уровне - k-элементные наборы, связанные со всеми своими (k-1)-элементными подмножествами. Рассмотрим рисунок 5.1., иллюстрирующий набор элементов I – {A, B, C, D}. Пусть набор из элементов {A, B} имеет поддержку ниже заданного порога и не является часто встречающимся. Тогда, согласно свойству анти-монотонности, все его супермножества также не являются часто встречающимися и отбрасываются. Вся эта ветвь, начиная с {A, B}, выделена фоном. Использование этой эвристики позволяет существенно сократить пространство поиска. Описание алгоритма.Алгоритм Apriori определяет часто встречающиеся наборы за несколько этапов. На i-ом этапе определяются все часто встречающиеся i-элементные наборы. Каждый этап состоит из двух шагов: 1. формирование кандидатов (candidate generation); 2. подсчет поддержки кандидатов (candidate counting). Рассмотрим i-ый этап. На шаге формирования кандидатов алгоритм создает множество кандидатов из i-элементных наборов, чья поддержка пока не вычисляется. На шаге подсчета кандидатов алгоритм сканирует множество транзакций, вычисляя поддержку наборов-кандидатов. Затем отбрасываются кандидаты, поддержка которых меньше определенного пользователем минимума, и сохраняются только часто встречающиеся i-элементные наборы. Во время первого этапа выбранное множество наборов-кандидатов содержит все одно-элементные частые наборы. Результатом работы алгоритма является объединение всех множеств L k для всех k. Рис.5.1. Сокращение пространства поиска Часто встречающиеся приложения с применением ассоциативных правил: розничная торговля: определение товаров, которые стоит продвигать совместно; выбор местоположения товара в магазине; анализ потребительской корзины; прогнозирование спроса; перекрестные продажи: если есть информация о том, что клиенты приобрели продукты A, Б и В, то какие из них вероятнее всего купят продукт Г? маркетинг: поиск рыночных сегментов, тенденций покупательского поведения; сегментация клиентов: выявление общих характеристик клиентов компании, групп покупателей; оформление каталогов, анализ сбытовых кампаний фирмы, определение последовательностей покупок клиентов (какая покупка последует за покупкой товара А); анализ Web-логов. Задача прогнозирования Задачи прогнозирования решаются в разнообразных областях: наука, экономика, производство и др. Прогнозирование является важным элементом организации управления отдельными хозяйствующими субъектами и экономики в целом. Развитие методов прогнозирования непосредственно связано с развитием информационных технологий, в частности, с ростом объемов хранимых данных и усложнением методов и алгоритмов прогнозирования, реализованных в инструментах Data Mining. Задача прогнозирования - одна из наиболее сложных задач Data Mining, она требует тщательного исследования исходного набора данных и методов, подходящих для анализа. Прогнозирование (от греч. Prognosis), в широком понимании, - это опережающее отражение будущего. Цель прогнозирования - предсказание будущих событий. Прогнозирование (forecasting) является одной из задач Data Mining и одновременно одним из ключевых моментов при принятии решений. Прогностика (prognostics) - теория и практика прогнозирования. Прогнозирование направлено на определение тенденций динамики конкретного объекта или события на основе ретроспективных данных, т.е. анализа его состояния в прошлом и настоящем. Решение задачи прогнозирования требует некоторой обучающей выборки данных. Прогнозирование - установление функциональной зависимости между зависимыми и независимыми переменными. Прогнозирование - распространенная и востребованная задача во многих областях человеческой деятельности. В результате прогнозирования уменьшается риск принятия неверных, необоснованных или субъективных решений. Примеры: прогноз движения денежных средств, прогнозирование урожайности агрокультуры, прогнозирование финансовой устойчивости предприятия. В сфере маркетинга типичной является задача прогнозирования рынков (market forecasting). В результате решения задачи оцениваются перспективы развития конъюнктуры определенного рынка, изменения рыночных условий на будущие периоды, определяются тенденции рынка (структурные изменения, потребности покупателей, изменения цен). В этой области решаются следующие практические задачи: прогноз продаж товаров (с целью определения нормы товарного запаса); прогнозирование продаж товаров, оказывающих влияние друг на друга; прогноз продаж в зависимости от внешних факторов. Помимо экономической и финансовой сферы, задачи прогнозирования ставятся в разнообразных областях: медицине, фармакологии; популярным сейчас становится политическое прогнозирование. Решение задачи прогнозирования сводится к решению подзадач: выбор модели прогнозирования; анализ адекватности и точности построенного прогноза. Сравнение задач прогнозирования и классификации Прогнозирование сходно с задачей классификации. Многие методы Data Mining используются для решения задач классификации и прогнозирования. Это, например, линейная регрессия, нейронные сети, деревья решений (которые иногда так и называют - деревья прогнозирования и классификации). Задачи классификации и прогнозирования имеют сходства и различия. Сходство задач прогнозирования и классификации. При решении обеих задач используется двухэтапный процесс построения модели на основе обучающего набора и ее использования для предсказания неизвестных значений зависимой переменной. Различие задач классификации и прогнозирования состоит в том, что в первой задаче предсказывается класс зависимой переменной, а во второй - числовые значения зависимой переменной, пропущенные или неизвестные (относящиеся к будущему). Возвращаясь к примеру о туристическом агентстве (лк. 3), можно сказать, что определения класса клиента – это решение задачи классификации, а прогнозирование дохода, который принесет этот клиент в будущем году, будет решением задачи прогнозирования. Прогнозирование и временные ряды Основой для прогнозирования служит историческая информация, хранящаяся в БД в виде временных рядов. Существует понятие Data Mining временных рядов (Time-Series Data Mining). На основе ретроспективной информации в виде временных рядов возможно решение различных задач Data Mining. Будем рассматривать временные ряды лишь в рамках решения задачи прогнозирования. Два принципиальных отличия временного ряда от простой последовательности наблюдений: Члены временного ряда, в отличие от элементов случайной выборки, не являются статистически независимыми. Члены временного ряда не являются одинаково распределенными. Временной ряд - последовательность наблюдаемых значений какого-либо признака, упорядоченных в неслучайные моменты времени. Отличием анализа временных рядов от анализа случайных выборок является предположение о равных промежутках времени между наблюдениями и их хронологический порядок. Привязка наблюдений ко времени играет здесь ключевую роль, тогда как при анализе случайной выборки она не имеет никакого значения. Типичный пример временного ряда - данные биржевых торгов. Информация, накопленная в разнообразных БД предприятия, является временными рядами, если она расположена в хронологическом порядке и произведена в последовательные моменты времени. Анализ временного ряда осуществляется с целью: определения природы ряда; прогнозирования будущих значений ряда. В процессе определения структуры и закономерностей временного ряда предполагается обнаружение шумов и выбросов, тренда, сезонной компоненты, циклической компоненты. Определение природы временного ряда может быть использовано как своеобразная "разведка" данных. Знание аналитика о наличии сезонной компоненты необходимо, например, для определения количества записей выборки, которое должно принимать участие в построении прогноза. Шумы и выбросы усложняют анализ временного ряда. Существуют различные методы определения и фильтрации выбросов, дающие возможность исключить их с целью более качественного Data Mining. Тренд, сезонность и цикл. Основные составляющие временного ряда - тренд и сезонная компонента. Тренд является систематической компонентой временного ряда, которая может изменяться во времени. Трендом называют неслучайную функцию, которая формируется под действием общих или долговременных тенденций, влияющих на временной ряд. Пример тенденции - фактор роста исследуемого рынка. Автоматического способа обнаружения трендов во временных рядах не существует. Но если временной ряд включает монотонный тренд (т.е. отмечено его устойчивое возрастание или убывание), анализировать временной ряд нетрудно. Все разнообразие постановок задач прогнозирования можно разделить на две группы: - прогнозирование односерийных рядов - включает задачи построения прогноза одной переменной по ретроспективным данным только этой переменной, без учета влияния других переменных и факторов. - прогнозирование мультисерийных (взаимовлияющих) рядов - включает задачи анализа, где необходимо учитывать взаимовлияющие факторы на одну или несколько переменных. Также ряды бывают сезонными и несезонными - подразумевает наличие или отсутствие у временного ряда такой составляющей как сезонность, т.е. включение сезонной компоненты. Сезонная составляющая временного ряда является периодически повторяющейся компонентой временного ряда. Свойство сезонности: через примерно равные промежутки времени форма кривой, описывающей поведение зависимой переменной, повторяет свои характерные очертания. Оно важно при определении количества ретроспективных данных, которые будут использоваться для прогнозирования. Рассмотрим простой пример. На рис.5.2 - фрагмент ряда, который иллюстрирует поведение переменной "объемы продажи товара Х" за период, составляющий один месяц. При изучении данной кривой аналитик не может сделать предположений относительно повторяемости формы кривой через равные промежутки времени. Однако при рассмотрении более продолжительного ряда (за 12 месяцев) (рис.5.3) можно увидеть явное наличие сезонной компоненты. Следовательно, о сезонности продаж можно говорить только, когда рассматриваются данные за несколько месяцев. Рис.5.2. Фрагмент временного ряда за сезонный период Рис. 5.3. Фрагмент временного ряда из 12-ти сезонных периодов Таким образом, в процессе подготовки данных для прогнозирования аналитику следует определить, обладает ли ряд, который он анализирует, свойством сезонности. Определение наличия компоненты сезонности необходимо для того, чтобы входная информация обладала свойством репрезентативности. Ряд можно считать несезонным, если при рассмотрении его внешнего вида нельзя сделать предположений о повторяемости формы кривой через равные промежутки времени. Иногда по внешнему виду кривой ряда нельзя определить, является он сезонным или нет. Существует понятие сезонного мультиряда - в нем каждый ряд описывает поведение факторов, которые влияют на зависимую (целевую) переменную. Пример - ряды продаж нескольких товаров, подверженных сезонным колебаниям. При сборе данных и выборе факторов для решения задачи по прогнозированию в таких случаях следует учитывать, что влияние объемов продаж товаров друг на друга здесь намного меньше, чем воздействие фактора сезонности. Важно не путать понятия сезонной компоненты ряда и сезонов природы. Несмотря на близость их звучания, эти понятия разнятся. Так, например, объемы продаж мороженого летом намного больше, чем в другие сезоны, однако это является тенденцией спроса на данный товар. Часто тренд и сезонность присутствуют во временном ряде одновременно. Пример. Прибыль фирмы растет на протяжении нескольких лет (т.е. во временном ряде присутствует тренд); ряд также содержит сезонную компоненту. Отличия циклической компоненты от сезонной: 1. Продолжительность цикла, как правило, больше, чем один сезонный период; 2. Циклы, в отличие от сезонных периодов, не имеют определенной продолжительности. При выполнении каких-либо преобразований понять природу временного ряда гораздо проще, такими преобразованиями могут быть, удаление тренда и сглаживание ряда. Перед началом прогнозирования необходимо ответить на следующие вопросы: 1. Что нужно прогнозировать? 2. В каких временных элементах (параметрах)? 3. С какой точностью прогноза? При ответе на первый вопрос определяют переменные, которые будут прогнозироваться. Это может быть, например, уровень производства конкретного вида продукции в следующем квартале, прогноз суммы продажи этой продукции и т.д. При выборе переменных следует учитывать доступность ретроспективных данных, предпочтения лиц, принимающих решения, окончательную стоимость Data Mining. Часто при решении задач прогнозирования возникает необходимость предсказания не самой переменной, а изменений ее значений. Второй вопрос при решении задачи прогнозирования - определение параметров: периода прогнозирования; горизонта прогнозирования; интервала прогнозирования. Период прогнозирования - основная единица времени, на которую делается прогноз. Если мы хотим узнать доход компании через месяц, то период прогнозирования - месяц. Горизонт прогнозирования - это число периодов в будущем, которые покрывает прогноз. Если мы хотим узнать прогноз на 12 месяцев вперед с данными по каждому месяцу, то период прогнозирования в этой задаче - месяц, горизонт прогнозирования - 12 месяцев. Интервал прогнозирования - частота, с которой делается новый прогноз. Интервал прогнозирования может совпадать с периодом прогнозирования. Точность прогноза, требуемая для решения задачи, оказывает большое влияние на прогнозирующую систему. Ошибка прогноза зависит от используемой системы прогноза. Точность прогноза характеризуется ошибкой прогноза. Наиболее распространенные виды ошибок: Средняя ошибка - вычисляется простым усреднением ошибок на каждом шаге. Недостаток - положительные и отрицательные ошибки аннулируют друг друга. Средняя абсолютная ошибка - рассчитывается как среднее абсолютных ошибок. Если она равна нулю, то мы имеем совершенный прогноз. В сравнении со средней квадратической ошибкой, эта мера "не придает слишком большого значения" выбросам. Сумма квадратов ошибок, среднеквадратическая ошибка. Вычисляется как сумма (или среднее) квадратов ошибок. Это наиболее часто используемая оценка точности прогноза. Относительная ошибка - выражает качество подгонки в терминах относительных ошибок. Предыдущие меры использовали действительные значения ошибок. Виды прогнозов. Прогноз может быть краткосрочным, среднесрочным и долгосрочным. Краткосрочный прогноз - прогноз на несколько шагов вперед, осуществляется построение прогноза не более чем на 3% от объема наблюдений или на 1-3 шага вперед. Среднесрочный прогноз - это прогноз на 3-5% от объема наблюдений, но не более 7-12 шагов вперед, например: прогноз на один или половину сезонного цикла. Для построения краткосрочных и среднесрочных прогнозов вполне подходят статистические методы. Долгосрочный прогноз - это прогноз более чем на 5% от объема наблюдений. При его построении статистические методы практически не используются, кроме случаев очень "хороших" рядов, для которых прогноз можно просто "нарисовать". Методы прогнозирования - распространенные методы: нейронные сети и линейная регрессия.Выбор метода зависит от многих факторов, от параметров прогнозирования. Выбор метода следует производить с учетом всех особенностей набора ретроспективных данных и целей, с которыми он строится. ПО Data Mining, используемое для прогнозирования, должно обеспечивать пользователя точным и достоверным прогнозом. Получение прогноза зависит не только от ПО и методов, заложенных в его основу, но и от других факторов: полнота и достоверность исходных данных, своевременность и оперативность их пополнения, квалификация пользователя. |