Ансамблевое прогнозирование временных рядов в масштабе

Ансамблевое прогнозирование временных рядов в масштабе

1 марта 2023 г.

В последнее время из-за различных изменений макроэкономических факторов многие предприятия столкнулись с трудностями при составлении надежных прогнозов. Согласно Venturebeat, около 90% моделей прогнозирования не запускаются в производство. Это было связано со сложным конвейером, который не масштабируется и, как правило, не является исследовательским.

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

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

Содержание

  • Бизнес-проблема
  • Подход
  • Обзор конвейера
  • Сравнительный анализ
  • Автоматизация
  • Заключение

Бизнес-проблема

  • Спрогнозируйте доход от продукта в течение финансового года.
  • Влияние дохода на прогноз при изменении допущений (например, Take Rate, CPI)
  • Шкала для понимания вклада в рост
  • Обнаружение аномалий

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

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

Подход

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

Теперь мы переходим к общему подходу, которому хотим следовать. Некоторые из вопросов, которые мы зададим на этом этапе, — сколько данных у нас есть, насколько они чисты и как анализировать данные для обучения/тестирования наборов данных. Кроме того, на этом этапе мы также придумываем различные модели, которые хотим опробовать, и метрику, которую мы будем рассматривать для сравнения этих моделей друг с другом в форме бэктестов. Иногда мы также можем захотеть объединить результаты нескольких моделей вместе в ансамблевом подходе.

Подход "сверху вниз" и "снизу вверх" — это методология определения того, хотим ли мы прогнозировать на более высоком уровне и разбивать прогноз или же мы хотим прогнозировать на уровне продукта и объединять его для получения общего прогноза.

Обзор конвейера

  • Подготовка данных с помощью BigQuery

  • Настройте экземпляр ВМ для развертывания конвейера.
  • Библиотеки машинного обучения, такие как ScikitLearn, Prophet, Arima и т. д.
  • Конвейер управления с помощью сценария Bash
  • Развертывание постоянных компьютеров в облачном хранилище

Для типичного проекта прогнозирования мы начинаем проект с запроса данных и создания набора данных, который мы можем использовать в качестве входных данных. В некоторых случаях мы также продолжаем создавать функции, которые наиболее целесообразно использовать в нашем обучении (например, преобразование категориальных переменных в числовые), а затем запускаем модель после определения нашей целевой переменной. На этом этапе можно использовать такие модели, как Facebook Prophet, Arima, MVAR и т. д.

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

Посмотрите на результаты.

Сравнение

  • Перекрестная проверка
  • Errors() MAPE = средняя абсолютная ошибка в процентах
  • Сравнение (Сравнение с другими показателями)

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

Автоматизация

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

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

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

Заключение

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

Вот некоторые из вопросов, которые мы задаем себе, автоматизируя этот прогноз:

  • Кто просил прогноз?
  • Сэкономлено человеко-часов
  • Влияние на бизнес
  • Влияние на работу

Образ для потенциальных клиентов создан со стабильной диффузией.


Оригинал
PREVIOUS ARTICLE
NEXT ARTICLE