Пример работы программы STATISTICA

werwolf100

Прохожий
Прогнозирование продаж полуфабрикатов

Вербальная постановка задачи
Задачи прогнозирования временных рядов находят практическое применение во многих сферах бизнеса. Попытка предсказания различных распределенных во времени параметров может принести превосходные результаты при условии, что задача сформулирована разумно и нет попытки повлиять на все стоящие проблемы только с помощью прогнозирования. Существенными моментами в данной области являются следующие:
Превосходный прогноз получи практически только для детерминированного ряда, развитие которого и так знаменито.
Прогноз предполагает, что в будущем не произойдет каких-либо существенных изменений факторов, которые могут оказать действие на ряд.
Как правило, отдача от прогнозирования достигается при применении комплексных решений, включающих не только методы прогнозирования, но и средства оптимизации.
Применение методов прогнозирования мы рассмотрим на примере задачи, стоящей перед любым производителем - задачи прогнозирования продаж некоторых товаров. Трудно ожидать, что исходный временной ряд (распределенные во времени торговли) будет детерминированным; торговля подвержена воздействию со стороны многих моментов, учесть которые практически невозможно. Ряд, который мы будет рассматривать, сформировался за два с небольшим года - в течение этого времени фиксировались еженедельные отгрузки пищевых полуфабрикатов со склада изготовителя.
Изначальный временной ряд был представлен в виде таблицы excel. Данные были успешно импортированы в STATISTICA.

Данные представляют собой еженедельные продажи полуфабрикатов. Всего 116 наблюдений. Таким образом мы уже имеем "спущенную сверху" сезонную структуру. Экспертно установлено, что ряд подвержен высокочастотным колебаниям маленькой амплитуды с периодом в 4 измерения. Такие колебания присуще любому производителю, сбывающему товар, в частности оптом. Покупатели планируют закупки с периодичностью в месяц.
Необходимо построить прогнозирование продаж исследуемого товара - краткосрочный и среднесрочный. Для решения этой задачи будет использован компонент STATISTICA, владеющий, в частности, возможностями для создания прогнозов временных рядов.

Описательный анализ
Схематические исследования временного ряда являются неотъемлемой частью прогностических исследований. Первым шагом обычно является визуализация временного ряда. Это можно сделать с помощью контекстного меню или воспользовавшись схемой Графика - 2М графики - Линейные графики. Будет отображено диалоговое окно настройки графиков.

Шаг 2. На вкладке параметры 1 задайте переменную с обозначением сезонных циклов как отвечающую за разметку по оси Х.
Шаг 3. Нажмите на кнопку ОК - будет описан линейный график для переменной.

4991803.jpg

Рисунок 3. Линейный график продаж

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

Сезонная декомпозиция
Дальнейшие исследования будут относиться к структуре ряда и создания его прогноза. Во главе задач является генерация картины долгосрочного развития ряда. Это может быть сделано с помощью методов классической сезонной декомпозиции.
Шаг 1. Выберете исследование - Углубленные методы анализа - Временные ряды и прогнозирование продаж. В появившемся окне выберете классическая сезонная декомпозиция (Census 1).
Шаг 2. В появившемся диалоговом окне задайте стандарт модели «Аддитивная», значение сезонного лага установите равным 4. Задайте прибавление в рабочую область компоненты скользящего среднего для нашего ряда. Грамотно настроенная панель анализа выглядит так:

5006133.jpg

Рисунок 4. Настройки сезонной декомпозиции

Шаг 3. Нажмите ОК для начала вычислений. В последствии будет отображена панель анализа с добавленным рядом скользящего среднего.
Шаг 4. На вкладке Прогноз задайте переменную с циклами как ответственную за разметку по оси Х и нажмите на кнопку просмотр нескольких переменных. Будет представлен график скользящего среднего и изначального ряда.

4991797.jpg

Рисунок 5. Исходный и сглаженный ряды

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

Построение прогнозирования продаж с помощью модели АРПСС
Прогноз данного временного ряда будет двух видов: непродолжительный и среднесрочный. Краткосрочный прогноз удлинит ряд на 1,5 - 2 месяца и может являться основанием для принятия решений на ближайшее время, среднесрочный прогноз даст тенденцию развития продаж на более длительное время.
Технически, два прогноза будут различаться исходными рядами. Для краткосрочного прогнозирования продаж полезно взять не преобразованный ряд, что сохранит наибольшее число его особенностей. Среднесрочный прогноз будет строиться на основании смягченного ряда, то есть ряда, ответственного за долгосрочное развитие и за годовые колебания.
Краткосрочное прогнозирование продаж может быть сооружено авторегрессиоными методами, учитывая взаимную линейную связь членов ряда. Инструменты этого легкодоступны в среде STATISTICA в модуле Временные ряды и прогнозирование.
Шаг 1. Выберете Анализ – Углубленные методы анализа(data mining) - Временные ряды и прогнозирование. На появившейся панели выберете АРПСС и автокорреляционные функции.
Шаг 2. Задайте формат модели. Это параметры авторегрессии и скользящего среднего, вычеты и предварительные преобразования ряда. Анализ АКФ и ЧАКФ показывает, что оптимальной для прогнозирования продаж будет модель (2,1,0)(1,1,0). Такая модель может быть задана следующим образом:

5042996.jpg

Рисунок 6. Настройки АРПСС

Шаг 3. Нажмите на ОК для начала оценки параметров. Если все настройки сделаны верно, все 3 параметра окажутся высоко значимыми. Нажмите на кнопку График ряда и прогнозов - будет построен следующий график:

5030708.jpg

Рисунок 7. Прогноз АРПСС

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

Кросс – проверка
Независимая проверка качества прогнозирования продаж является одной из важных задач в прогнозировании. Мы должны быть уверены, что прогноз в дальнейшем будет приближен к реальным (исследуемым) данным. Периодически для этой цели используется алгоритм перекрестной проверки. Алгоритм состоит в следующем - вначале исходный временной ряд укорачивается на 7-10%, «хвост» ряда сохраняется последующего исследования, далее строится прогноз «укороченного» ряда и результат сравнивается с отложенными данными.
При условии, что на конечном этапе наблюдаемого периода на ряд не производилось интервенций, можно ожидать, что мера ошибки, полученной в результате сопоставления, будет оценкой ошибки на будущий период. Иначе, если наш прогноз на 2-5% имеет отклонение от уже имеющихся данных, высока вероятность, что эта ошибка сохранится в будущем. Этот алгоритм в применении к данному случаю выглядит так.

5009204.jpg

Рисунок 8. Исходный ряд и кросс – проверка

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

4992820.jpg

Рисунок 9. Прогноз ряда и данные перекрестная – проверки

Красным цветом показаны реальные данные, красным – прогнозирование продаж, построенный как прогноз временного ряда с «обрезанным» концом. Из графика видно, что прогноз по характеру совпадает с реальными данными, что подтверждает адекватность выбранного метода.
Вычисление ошибки и подгонки перекрестной проверки и прогнозирование продаж возможно создать с помощью соответствующих модулей системы. Для данного ряда процент ошибок приблизительно 10%, что дает нам шанс ожидать подобной ошибки в будущем.
Объектом дальнейшего анализа при решении задачи долгосрочного прогнозирования продаж будет ряд, сглаженный скользящим средним. График этого ряда приведен ниже.

5041975.jpg

Рисунок 10. Сглаженный скользящим средним ряд продаж

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

Построение прогноза с помощью нейронных сетей
Методы для разработки прогноза подобного ряда были выбраны нейронные сети. Остальные инструменты показали себя не достаточно эффективными по вот этим причинам:
Ряд достаточно короткий для использования сезонных методов.
Этот ряд получен в результате сглаживания исходного, благодаря чему у него были изъяты практически все значимые автокорреляции.
Помимо этого, применение нейронных сетей устранит сложности держаться какой-то однозначной сезонной или трендовой модели.
Шаг 1. Выберете Анализ - Нейронные сети. Отобразится диалоговое окно настройки работы с нейронными сетями. Требуется установить тип задачи на Временные ряды.
Шаг 2. Кликните на кнопку Переменные и задайте переменную, отвечающую за сглаженный ряд как выходную и входную непрерывную. Нажмите на ОК для возврата на основное окно. Установите опцию Инструмент на Мастер решений. Затем нажмите ОК для перехода на диалоговое окно настроек Мастера.
Шаг 3. На вкладке Временные ряды установите параметры временного окна от 1 до 30. Этот параметр используется как основание для определения периода сезонной компоненты.
Шаг 4. На вкладке Тип сети установите все галочки, чтобы позволить системе тестировать все возможные типы нейронных сетей.
Шаг 5. На вкладке Быстрый выберете обучение 50 нейронных сетей и сохранение 50 лучших.

Шаг 6. Щелкните мышкой на кнопку ОК для того что бы приступить к обучению нейронных сетей. Спустя немного времени будет показана панель анализа результатов.


Из обученных 50 нейронных сетей нужно подобрать несколько с наименьшей тестовой производительностью. Это возможно при помощи кнопки Итоги моделей на вкладке Быстрый. Все сети требуется сортировать по параметру Тестовая производительность и выбрать несколько верхних сетей.
Искомый прогноз получается перебором наблюдений через нейронную сеть – создается проекция временного ряда. Данное можно сделать на закладке Дополнительно. Нажмите на кнопку Проекция временного ряда, далее будет отображено диалоговое окно:

Шаг 7. Задайте проекцию на 12 наблюдений (3 месяца) и нажмите на клавишу График. Будет отображен график удлинения нашего временного ряда.
При наложении на исходный график он принимает вид:

5031734.jpg

Рисунок 15. График прогноза трендовой компоненты ряда

В итоге мы получили прогноз детрендированной части исходного сглаженного ряда. Его можно восстановить в изначальном состоянии прибавив среднее и линейный тренд. Результат приведен ниже.

5015350.jpg

Рисунок 16. График ряда и прогнозов сглаженного ряда

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

Резюме
Итоговое прогнозирование продаж возможно получит только на следующие 1,5-2 месяца – на это время приходится снижение еженедельных продаж приблизительно до 450 единиц в неделю, далее необходимо дальнейшее исследование рынка и уточнение, прогнозирования продаж.
_http://www.statsoft.ru/solutions/tasks/forecast/
 
Последнее редактирование модератором:
Верх