Глубинный анализ данных и текстов на базе IBM SPSS Modeler

Анализ временных рядов ч.1

В лекции поэтапно разбирается построение прогноза временного ряда в IBM SPSS Modeler. Сначала демонстрируется загрузка данных и объясняется, почему одна и та же переменная считается и входной, и выходной (концепция авторегрессии). Затем выполняется визуальный анализ графика: выявляются повышательный тренд и недельная периодичность. Основная часть посвящена настройке узла Time Series: выбор целевой переменной, поля даты, дневного интервала и горизонта прогноза на семь дней. Модель автоматически определяет метод экспоненциального сглаживания, а качество оценивается метрикой MAPE. Наконец, на совмещённом графике сравниваются фактические и предсказанные значения, показывая высокую точность прогноза.

Основные мысли

В результате изучения лекции слушатель будет способен:
1. Загрузить набор данных с временной меткой в IBM SPSS Modeler.
2. Объяснить, почему переменная временного ряда может одновременно выступать как входной и выходной.
3. Определить по графику компоненты ряда: тренд и периодичность (сезонность).
4. Настроить узел Time Series, указав целевую переменную и поле времени.
5. Установить шаг временного интервала (дни) и горизонт прогноза (7 дней).
6. Интерпретировать результат автоматического выбора модели (экспоненциальное сглаживание).
7. Оценить точность прогноза с помощью показателя MAPE.
8. Построить совмещённый график фактических и прогнозных значений для визуального сравнения.
Показывать лекцию целиком
Краткое изложение

Для лекции используйте файл parcel.csv.

Приложения

parcel.csv
Загрузка данных и роль переменных

Начинаем работу с временными рядами. Подключим набор данных. В нём две переменные: первая — характеристика parsel, значения которой меняются во времени, вторая — поле Date с соответствующей датой. После загрузки заглянем в узел Type. Оба поля помечены как входные. Это объясняется природой временного ряда: текущее значение определяется через предыдущие. Такой процесс называют авторегрессией (autoregression). По сути, одна и та же величина служит и входом, и выходом, но на этапе настройки мы оставим её в роли входа.

Визуальный анализ графика

Подключим к потоку узел графика Time Plot. На полученном изображении видна траектория ряда. Сразу заметны две ключевые составляющие:
Тренд — наклонная прямая, показывающая устойчивое повышение значений с течением времени.
Периодичность (сезонность) — повторяющийся волнообразный паттерн. Один квадратик по оси времени охватывает две недели, и на нём видны два «холма». Это указывает на недельный цикл: каждые семь дней картина воспроизводится.

Настройка узла Time Series

Добавим в поток узел Time Series. При попытке присоединить его получаем предупреждение: отсутствуют переменные-цели. Заходим в настройки:
• На вкладке Fields выбираем пользовательское назначение ролей (Custom field roles). Указываем parsel как целевую переменную.
• Переходим в Data Specifications. В качестве поля, отвечающего за время, устанавливаем Date. Временной интервал задаём Days (дни).
• В Build Options определяем горизонт прогнозирования: опция Extend records into the Future 7 дней. Так модель проанализирует историю и выдаст предсказание на неделю вперёд.

Запускаем выполнение узла.

Результаты моделирования

После завершения анализа смотрим Model Information. В качестве базового метода автоматически выбрано экспоненциальное сглаживание (Exponential Smoothing). Основной показатель точности — MAPE (Mean Absolute Percentage Error — средняя абсолютная процентная ошибка). Его значение составило 7,347 %, что говорит о достаточно высокой точности прогноза (ошибка примерно 7 %). Приемлема ли такая точность, зависит от конкретной бизнес-задачи и требуемого порога.

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

Визуализация прогноза

Цифры полезны, но нагляднее сравнить прогноз с реальными данными на графике. Снова добавим узел Time Plot и соединим его с выходом модели Time Series. В настройках графика:
• В поле Series выбираем предсказанное поле — Time Series parsel.
• По оси X (X Label) откладываем Date.
• Снимаем флажок Display Series in Separate Panels, чтобы фактические и прогнозные значения отображались на одном графике.
• Отключаем опцию нормализации, чтобы видеть исходный масштаб ряда.

Выполнив построение, получаем совмещённый график. Синяя линия — предсказание модели, включая участок на семь дней вперёд. Видно, что кривая повторяет недельный рисунок с двумя пиками на квадратик, а отклонение от фактических точек минимально. Это подтверждает: автоматически построенная модель временных рядов даёт весьма правдоподобный прогноз.

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

Краткие итоги

Прогнозирование временных рядов в современной аналитической платформе строится вокруг идеи автоматизации при сохранении прозрачности ключевых этапов. Начальный шаг — загрузка данных, где обязательно присутствуют как минимум две переменные: временна́я метка и интересующая нас количественная характеристика. Уже на этом этапе важно осознать фундаментальную особенность таких рядов: будущее значение объясняется прошлыми значениями этого же показателя. Это свойство авторегрессии оправдывает то, что при моделировании переменная фигурирует одновременно и как предиктор, и как целевой признак, хотя первоначальная конфигурация часто оставляет её только на входе.

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

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

Главный критерий качества здесь — средняя абсолютная процентная ошибка (MAPE). Её величина около 7 % свидетельствует о хорошей точности, однако практическая интерпретация всегда требует контекста: в одних бизнес-сценариях такая погрешность приемлема, в других — нет. Диагностика остатков и графическое сопоставление прогноза с историей дают дополнительную уверенность. Наложение линий на одном поле позволяет визуально убедиться, что модель верно воспроизводит и амплитуду, и фазу сезонных колебаний, а также не отклоняется систематически от факта.

Таким образом, даже при использовании «чёрного ящика» в виде автоматической ноды аналитик сохраняет контроль над процессом, начиная от формализации задачи и заканчивая проверкой результата. Подобный подход резко сокращает время прототипирования прогнозов, делая их доступными для широкого круга специалистов, при этом не исключая возможности углублённой ручной настройки в более ответственных случаях.
Набор данных содержит два поля: числовую характеристику parsel и соответствующую дату Date. В узле Type обе переменные помечены как входные, поскольку природа временного ряда – авторегрессия (autoregression) – предполагает, что текущее значение определяется через предыдущие. Таким образом, одна и та же переменная служит и предиктором, и целью, но при первоначальной настройке её оставляют на входе.

Визуальный анализ с помощью Time Plot выявляет ключевые компоненты: тренд (устойчивый рост) и сезонность (недельная периодичность – два пика на интервале в две недели). Это даёт основание ожидать, что модель сможет продолжить такую динамику на будущий период.

Основной инструмент прогнозирования – узел Time Series. Чтобы избежать ошибки «нет таргета», в разделе Fields выбирают пользовательское назначение ролей и указывают parsel как целевую переменную. На вкладке Data Specifications поле Date задают как временное с интервалом Days. В Build Options горизонт прогноза устанавливается параметром Extend records into the Future7 дней. Узел автоматически анализирует историю и строит прогноз.

После выполнения модели в Model Information видно, что выбран метод экспоненциального сглаживания (Exponential Smoothing). Точность оценивается через MAPE (Mean Absolute Percentage Error – средняя абсолютная процентная ошибка). Значение 7,347 % говорит о достаточно высоком качестве (ошибка около 7 %). Приемлемость такого уровня зависит от конкретных требований задачи.

Для наглядного сравнения снова используют Time Plot, соединяя его с выходом модели. В настройках выбирают предсказанное поле (Time Series parsel) и ось X по дате. Чтобы видеть фактические и прогнозные значения на одном графике, снимают флажок Display Series in Separate Panels, а также отключают нормализацию для отображения исходного масштаба. На результирующем графике синяя линия показывает прогноз, который повторяет недельные пики и очень близко следует за историческими точками. Это подтверждает: модель успешно уловила структуру ряда и способна давать обоснованные предсказания.

Таким образом, сложная задача прогнозирования временных рядов решается с помощью автоматической ноды Time Series, которая подбирает метод, обучает модель и выдаёт результат. При необходимости отдельные модели можно донастраивать вручную.

Выводы

1. Временной ряд обладает внутренней структурой, где текущее значение зависит от предыдущих (авторегрессия).
2. На вход узла Time Series одна и та же переменная подаётся и как предиктор, и как цель.
3. Визуальный анализ выявил повышательный тренд и недельную периодичность в данных.
4. Поле Date должно быть явно указано как временное с интервалом «дни».
5. Горизонт прогноза задаётся параметром Extend records into the Future (7 дней).
6. Узел Time Series автоматически выбрал модель экспоненциального сглаживания.
7. Точность прогноза оценена метрикой MAPE и составила 7,347 %.
8. Отключение раздельных панелей на графике объединяет факт и прогноз для прямого сравнения.
9. Отказ от нормализации отображает ряд в исходном масштабе без трансформаций.
10. Прогнозная линия воспроизвела два пика на недельном интервале, соответствуя сезонному паттерну.
11. Минимальное отклонение прогноза от факта говорит о высоком качестве модели.
12. Автоматическая нода Time Series решает сложную задачу прогнозирования без ручного подбора модели.

Вопросы для самопроверки

1. Почему переменная временного ряда может быть одновременно и входной, и выходной?
2. Какой компонент ряда проявляется на графике в виде наклонной прямой?
3. Какая периодичность обнаружена в данных и как она идентифицируется по графику?
4. Какие роли полей необходимо задать вручную при настройке узла Time Series?
5. Какой временной интервал был выбран для поля Date и почему?
6. Какое значение горизонта прогноза было установлено в опциях модели?
7. Какой метод прогнозирования был автоматически выбран узлом Time Series?
8. Что характеризует показатель MAPE и какова была его величина в построенной модели?
9. Почему при визуализации снимают флажок Display Series in Separate Panels?
10. Зачем отключают опцию нормализации при построении итогового графика?
11. Как на совмещённом графике отличить фактические данные от прогнозных?
12. Каким образом автоматическая нода Time Series облегчает процесс прогнозирования?
Вернуться к учебному плану