Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Методичка.doc
Скачиваний:
0
Добавлен:
01.04.2025
Размер:
13.67 Mб
Скачать

Прогнозирование временного ряда

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

В Deductor имеется соответствующий инструмент «Прогнозирование». Данный инструмент появляется в списке мастера обработки только после построения какой-либо из следующих моделей прогноза: нейросеть, линейная регрессия, дерево решений и т.д.

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

В предыдущем примере мы импортировали файл «Trade.txt», используем этот же файл и для прогнозирования.

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

На диаграмме видно, что данные содержат аномалии (выбросы) и шумы, которые усложняют задачу выявления определенных тенденций.

Воспользуемся инструментами Deductor, позволяющими удалить аномалии и сгладить данные перед прогнозированием. В мастере обработки выберем парциальную обработку и, пропустив второй шаг который, как известно, отвечает за восстановление пропущенных данных, перейдем к третьему шагу мастера обработки. На данном шаге парциальной обработки предлагается удалить аномалии, чем мы и воспользуемся. Выберем в качестве поля обработки «Количество» и укажем «Редактирование аномальных значений» со степенью подавления «Малая».

Следующий шаг позволяет провести спектральную обработку. В качестве обрабатываемого столбца выбираем опять столбец «Количество» и указываем способ обработки «Вычитание шума» (степень вычитания – «Малая»). Запускаем процесс обработки и полученный результат просмотрим на диаграмме.

На диаграмме видно, что данные сгладились, аномалии и шумы исчезли. Проявилась тенденция.

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

В мастере обработки запустим инструмент скользящее окно.

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

Результат импорта просмотрим в визуализаторе таблица.

Теперь мы располагаем полями «Количество-12», «Количество-11», …, - данные за 12 месяцев, которые подходят для обучения нейросети в качестве входных факторов, и полем «Количество+1», обладающим всеми свойствами выходного фактора.

Выбрав в мастере обработки инструмент «Нейросеть», перейдем к построению модели прогноза. На втором шаге укажем в качестве входных поля «Количество-11», «Количество-10», «Количество-1» и «Количество», а в качестве выходного - «Количество+1». Остальные поля сделаем информационными.

На третьем шаге в мастере обработки оставляем все по умолчанию.

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

При выборе алгоритма и настройке его параметров установим в качестве алгоритма обучения Resilient Propagation с параметрами по умолчанию.

После всех вышеуказанных настроек перейдем к процессу обучения и по его окончании выберем визуализаторы «Диаграмма» и «Диаграмма рассеяния». В мастере настройки выберем в качестве полей для отображения выберем «Количество+1» и «Количество+1_OUT», реальное и спрогнозированное значение.

В результате мы получим два графика.

На диаграмме рассеивания можно увидеть качество обучения.

Для построения прогноза необходимо выбрать в мастере обработки инструмент «Прогнозирования», который появился после обучения нейросети.

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

После построения прогноза необходимо в качестве визуализатора выбрать диаграмму прогноза. При настройке столбцов диаграммы прогноза укажем в качестве отображаемого столбца «Количество+1», а в качестве подписи оси Х определим столбец «Шаг прогноза».

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