Ансамблевое прогнозирование временных рядов в масштабе
1 марта 2023 г.В последнее время из-за различных изменений макроэкономических факторов многие предприятия столкнулись с трудностями при составлении надежных прогнозов. Согласно Venturebeat, около 90% моделей прогнозирования не запускаются в производство. Это было связано со сложным конвейером, который не масштабируется и, как правило, не является исследовательским.
Кроме того, мы также заметили, что одна модель, как правило, не отвечает целому ряду потребностей в прогнозировании, поскольку прогнозирование для организации включает в себя множество движущихся частей.
В этой статье мы рассмотрим общие методы практического применения моделей прогнозирования временных рядов при создании ансамблевого подхода, который проверяет различные модели на истории и выбирает наилучший подход.
Содержание
- Бизнес-проблема
- Подход
- Обзор конвейера
- Сравнительный анализ
- Автоматизация
- Заключение
Бизнес-проблема
- Спрогнозируйте доход от продукта в течение финансового года.
- Влияние дохода на прогноз при изменении допущений (например, Take Rate, CPI)
- Шкала для понимания вклада в рост
- Обнаружение аномалий
Для типичной организации прогнозирование — это процесс, который идет рука об руку с составлением бюджета, планированием и распределением. Обычно мы смотрим на несколько показателей, которые хотим спрогнозировать, и запускаем модель временных рядов на основе исторических данных. В ходе этого процесса мы разлагаем прогноз на соответствующие тенденции, сезонность и остаточное использование. Затем этот результат используется для настройки и составления прогноза.
Основываясь на характере и понимании имеющейся бизнес-проблемы, мы также можем строить предположения в виде регрессоров, которые могут помочь в прогнозировании. Эти допущения основаны на таких функциях, как фактические расходы & предполагаемые расходы, коэффициент продаж, эффективность конверсии, экономические данные, такие как общедоступные прогнозы потребительских цен, настраиваемые флажки сезонности и т. д.
Подход
- Предварительная обработка данных и подготовка
- Разложение прогноза на тенденции, сезонность, праздники и ошибки
- Повышение точности с помощью перекрестной проверки
- Подход "сверху вниз" и подход "снизу вверх"
- Выполнение бэктестов
Теперь мы переходим к общему подходу, которому хотим следовать. Некоторые из вопросов, которые мы зададим на этом этапе, — сколько данных у нас есть, насколько они чисты и как анализировать данные для обучения/тестирования наборов данных. Кроме того, на этом этапе мы также придумываем различные модели, которые хотим опробовать, и метрику, которую мы будем рассматривать для сравнения этих моделей друг с другом в форме бэктестов. Иногда мы также можем захотеть объединить результаты нескольких моделей вместе в ансамблевом подходе.
Подход "сверху вниз" и "снизу вверх" — это методология определения того, хотим ли мы прогнозировать на более высоком уровне и разбивать прогноз или же мы хотим прогнозировать на уровне продукта и объединять его для получения общего прогноза. р>
Обзор конвейера
- Подготовка данных с помощью BigQuery
- Настройте экземпляр ВМ для развертывания конвейера.
- Библиотеки машинного обучения, такие как ScikitLearn, Prophet, Arima и т. д.
- Конвейер управления с помощью сценария Bash
- Развертывание постоянных компьютеров в облачном хранилище
Для типичного проекта прогнозирования мы начинаем проект с запроса данных и создания набора данных, который мы можем использовать в качестве входных данных. В некоторых случаях мы также продолжаем создавать функции, которые наиболее целесообразно использовать в нашем обучении (например, преобразование категориальных переменных в числовые), а затем запускаем модель после определения нашей целевой переменной. На этом этапе можно использовать такие модели, как Facebook Prophet, Arima, MVAR и т. д.
Затем мы смотрим на результаты, отображая их в виде диаграмм, а также объединяя данные с различными уровнями детализации (например, преобразовывая ежедневные прогнозы в еженедельные и ежемесячные).
Посмотрите на результаты.
Сравнение
- Перекрестная проверка
- Errors() MAPE = средняя абсолютная ошибка в процентах
- Сравнение (Сравнение с другими показателями)
После запуска модели мы затем выполняем перекрестную проверку данных, используя такую метрику, как MAPE, чтобы понять производительность модели. Мы оптимизируем прогноз с помощью этой метрики и запускаем ретроспективные тесты, а затем выполняем настройку гиперпараметров, чтобы получить параметры, наилучшие для модели.
Автоматизация
- Прогнозирование в масштабе
- Прогнозировать одни и те же данные с почасовой, ежедневной или еженедельной агрегацией.
- Запуск для нескольких продавцов параллельно с использованием одних и тех же моделей
- Тестирование моделей в производстве
После того как основные модели и подходы к прогнозированию выбраны, следующим шагом является разработка масштабируемого подхода для запуска конвейера. Этого можно достичь с помощью таких инструментов, как Airflow для планирования задания или простых заданий хронирования для создания расписания. Во время этого процесса важно понимать различные файлы, которые необходимо выполнить, и модели, которые необходимо запустить.
Эффективный конвейер можно создать, выполнив последовательность шагов, начиная с подготовки данных, за которой следует очистка данных и подготовка модели перед выполнением запуска модели. Впоследствии перед повторным запуском модели и проверкой результатов можно выполнить проверку данных и оценку. Затем результаты можно записать в таблицу данных, которую можно использовать для заполнения информационной панели или вывести в виде листа Excel для проверки предположений и лучшего понимания прогноза.
Заключение
Итак, прогнозирование является неотъемлемой частью принятия бизнес-решений. Он предоставляет организациям информацию о рыночных тенденциях, потенциальных рисках и возможностях роста. Крайне важно обеспечить, чтобы любая внедренная автоматизация прогнозирования приносила пользу организации, учитывая такие факторы, как точность прогнозов, надежность данных и потенциальное влияние на бизнес. Таким образом, мы можем обеспечить эффективную и действенную автоматизацию прогнозирования, которая поддерживает цели и задачи организации, позволяя им принимать обоснованные решения, ведущие к успеху.
Вот некоторые из вопросов, которые мы задаем себе, автоматизируя этот прогноз:
- Кто просил прогноз?
- Сэкономлено человеко-часов
- Влияние на бизнес
- Влияние на работу
Образ для потенциальных клиентов создан со стабильной диффузией.
Оригинал