- Вопрос или проблема
- Ответ или решение
- Построение модели прогнозирования спроса на основе временных рядов
- 1. Какие модели временного ряда можно использовать?
- ARIMA и SARIMAX
- Промежуточные модели
- Модели машинного обучения
- Автоматизированные решения
- 2. Инструменты для анализа и выбора индикаторов
- Python:
- R:
- Обработка многофакторности
- Заключение
Вопрос или проблема
Я прогнозирую спрос на определенные виды товаров и услуг, которые, как я ожидаю, будут коррелировать с подмножеством корзины макроэкономических индикаторов (учитывая 15-20 индикаторов)
Я не знаю, какие индикаторы больше влияют на спрос, есть ли у них простое корреляционное влияние или влияет ли производная от изменения (например, ВВП или изменение ВВП), или есть ли задержанный эффект на спрос (например, увеличенные государственные расходы в прошлом году могут лучше предсказать спрос в этом году?). Некоторые макроиндикаторы могут быть коррелированы друг с другом.
У меня есть некоторые базовые гипотезы о вероятных индикаторах – которые могут быть правильными или ошибочными.
Вопросы 1. Какие хорошие модели прогнозирования временных рядов? Что можно рассмотреть, кроме многомерной регрессии? 2. Есть ли инструмент, с помощью которого я могу ввести исторические данные о спросе, исторические макроиндикаторы, который затем выдаст, какой набор индикаторов лучше всего предсказывает спрос и какая модель работает лучше?
Я знаю, как делать регрессии в Excel, но это только один набор индикаторов за раз. 20 индикаторов (плюс производные, плюс задержка) создают так много возможностей, что я не могу моделировать это вручную.
Любая помощь будет оценена.
Прогнозирование временных рядов с экзогенными переменными (также известными как внешние регрессоры, как ВВП, который вы упомянули) может быть сложным. Я бы предложил начать с модели ARIMA (авторегрессионная интегрированная скользящая средняя), которая включает экзогенные переменные, такие как arima в R или sarimax из statsmodels на Python.
Что касается вашего вопроса 1:
Для начала я рекомендую использовать какую-то модель automl временных рядов (например, библиотеку prophet от meta) в качестве вашей базовой модели. Однако для создания своей модели я бы сначала выбрал что-то простое, например, ARIMA, чтобы понять основы временных рядов (таких как разложение на тренд, сезонность и шум). После этого переходите к чему-то более сложному, например, моделям машинного обучения. Регрессионные деревья (такие как XGBoost, Random Forests, LightGBM) прекрасно работают для задач временных рядов, или даже нейронные сети.
Что касается вашего второго вопроса:
После создания модели, как я описал ранее, вы ищете что-то, называемое “значимость признаков”, которое скажет вам, какой из ваших индикаторов/признаков оказывал какое влияние на ваш прогноз. Однако будьте осторожны, так как значимость признаков может означать разные вещи (например, не то, сколько влияние индикаторы оказали на ваш прогноз, а на дисперсию в вашей модели). Поэтому всегда ознакомьтесь с этими функциями.
Дополнительный совет для выполнения временных рядов: следите за правильным разделением обучающей и тестовой выборок. Также, если вы хотите делать прогнозирование, используя исторические индикаторы, это может не помочь вам, так как у вас не будет их для будущих прогнозов. Это быстро превращается в проблему утечки.
Ответ или решение
Построение модели прогнозирования спроса на основе временных рядов
Прогнозирование спроса для определенных товаров и услуг связано с анализом влияния макроэкономических индикаторов. В этом контексте важно определить, какие из этих индикаторов наиболее значимы, а также их временные зависимости по отношению к спросу. Ваша задача включает в себя как выбор подходящих моделей, так и инструментов для анализа данных.
1. Какие модели временного ряда можно использовать?
ARIMA и SARIMAX
ARIMA (Автогрегрессионная интегрированная скользящая средняя) – это классическая модель для временных рядов, которая хорошо работает с сезонными и не сезонными данными. Ваша задача может быть решена с помощью ARIMA с экзогенными переменными (SARIMAX). Эта модель позволяет учитывать несколько макроэкономических индикаторов при прогнозировании.
Промежуточные модели
После освоения ARIMA, вы можете рассмотреть также более сложные модели:
- Гладкие временные ряды (например, модель Хольта-Уинтерса) для учета сезонности и тренда.
- Модели с наследственной зависимостью (например, GARCH), если ваши данные имеют свойства гетероскедастичности.
Модели машинного обучения
- Регрессионные деревья (например, XGBoost, Random Forest, LightGBM) – хорошо адаптируются к не линейным зависимостям между переменными.
- Нейронные сети – модели, такие как LSTM (долгая краткосрочная память), которые хорошо захватывают временные зависимости в данных.
Автоматизированные решения
Для начального анализа следует рассмотреть использование библиотек автоматического машинного обучения (AutoML), таких как Prophet от Facebook или AutoTS. Эти инструменты могут помочь вам быстро установить базовые прогнозы без необходимости глубоко погружаться в сложные алгоритмы.
2. Инструменты для анализа и выбора индикаторов
Использование Python или R предлагает множество библиотек, которые позволят вам автоматически анализировать и выбирать лучшие предикторы.
Python:
- statsmodels для реализации моделей ARIMA и SARIMAX.
- scikit-learn для получения важности признаков с помощью деревьев решений или других моделей.
R:
- forecast и tseries для анализа временных рядов, включая ARIMA и SARIMAX.
- caret для оценки важности признаков в моделях машинного обучения.
Обработка многофакторности
Вы упомянули сложность управления 15-20 индикаторами плюс их производные и лаги. Оптимизация:
- Используйте метод поиска поэтапного отбора (stepwise selection) или регуляризацию (например, LASSO-регрессия), чтобы сократить количество индикаторов.
- Не забывайте о кросс-валидации, чтобы избежать переобучения и утечек данных.
Заключение
Ваш прогнозируемый спрос можно анализировать с использованием различных моделей временных рядов и методов современного машинного обучения. Применяйте комбинацию простых моделей для понимания основ, а затем переходите к более сложным процедурам. Важно правильно оценивать влияние каждого из макроэкономических индикаторов и быть внимательным к временной структуре ваших данных, чтобы избежать проблем с утечками. С помощью предлагаемых инструментов вы сможете эффективно исследовать данные и принимать обоснованные бизнес-решения на основе прогнозов спроса.