Книга «Forecasting Time Series Data with Prophet» Грега Рафферти посвящена применению библиотеки Prophet для прогнозирования временных рядов. Основная цель книги – демонстрация как можно эффективно использовать Prophet для построения, улучшения и оптимизации моделей прогнозирования, начиная с базовых моделей и переходя к более сложным алгоритмам.
Предметом исследования автора является глубокое изучение возможностей модели Prophet для прогнозирования временных рядов ризличной природы. Книга Forecasting Time Series Data with Prophet решает проблему недостатка доступных и интуитивно понятных инструментов для построения высококачественных прогнозов, особенно в условиях ограниченного времени и ресурсов. Временные рамки охватывают период с момента появления Prophet (2017 год) до момента публикации второго издания книги (2023 год), включая обсуждение современных аналогов этой модели от других компаний.
Рис. 1: Обложка книги Forecasting Time Series Data with Prophet: Build improve and optimize time series forecasting models
Ключевые аспекты
- Книга описывает историю развития методов прогнозирования временных рядов, начиная с простых методов (скользящие средние, экспоненциальное сглаживание) и заканчивая более сложными (ARIMA, ARCH/GARCH, нейронные сети, и сам Prophet);
- Показано построение базовой модели Prophet с интерпретацией выходных данных (DataFrame) и графиков компонентов модели (тренд, сезонность, праздники);
- Рассматриваются различные типы сезонности (аддитивная и мультипликативная), методы управления сезонностью (порядок Фурье, добавление пользовательских сезонностей, условные сезонности, регуляризация);
- Подробно описано добавление эффектов праздников, включая создание пользовательских праздников и праздников, охватывающих несколько дней, а также регуляризация влияния праздников;
- Описаны три режима роста тренда: линейный, логистический и плоский (flat), с примерами применения и указанием на потенциальные проблемы при неправильном выборе режима;
- Показано управление точками изменения тренда (changepoints), включая автоматическое обнаружение, регуляризацию и указание пользовательских точек изменения;
- Рассмотрено добавление дополнительных регрессоров (бинарных и непрерывных) для повышения точности прогнозов, с интерпретацией коэффициентов регрессии;
- Описаны методы обработки выбросов (outliers), включая автоматическое обнаружение и моделирование выбросов как специальных событий, а также моделирование шоковых событий, таких как локдауны во время пандемии COVID-19;
- Подробно описано управление интервалами неопределенности (uncertainty intervals), включая моделирование неопределенности в тренде и сезонности с использованием байесовского подхода и метода MCMC;
- Рассмотрены методы перекрестной проверки (cross-validation) временных рядов с использованием метода forward-chaining, а также параллелизация вычислений;
- Описаны различные метрики оценки производительности моделей (MSE, RMSE, MAE, MAPE, MdAPE, coverage), а также методы выбора наилучшей метрики в зависимости от характеристик данных;
- Показано, как сохранять и обновлять обученные модели Prophet, а также как создавать интерактивные графики с использованием библиотеки Plotly;
- Обсуждаются альтернативные библиотеки прогнозирования: NeuralProphet, Greykite и Orbit.
Полезность
Что хорошо раскрыто:
- Все возможные сценарии применения Prophet для прогнозирования временных рядов, начиная с быстрых прогнозов и заканчивая построением сложных моделей;
- Подробное описание математических основ модели Prophet;
- Множество примеров с использованием реальных данных и различных сценариев.
Что плохо раскрыто:
- Недостаточно внимания уделено выбору оптимальной метрики оценки производительности модели в зависимости от специфики данных;
- Некоторые разделы (например, создание пользовательских трендов) требуют глубоких знаний программирования и могут быть сложны для понимания начинающих пользователей;
- Отсутствует сравнительный анализ Prophet с другими популярными библиотеками прогнозирования (кроме краткого упоминания NeuralProphet, Greykite и Orbit).
Вердикт
Книга «Forecasting Time Series Data with Prophet» представляет собой ценное руководство для специалистов по данным, желающих улучшить свои навыки для прогнозирования временных рядов. Книга содержит исчерпывающее описание функциональности Prophet, подкрепленное большим количеством практических примеров.
Практическая ценность книги заключается в предоставлении читателям навыков построения высококачественных прогнозов, улучшения существующих моделей и оптимизации параметров для достижения наилучших результатов. Книга особенно полезна для аналитиков, работающих с бизнес-данными, где важна возможность учета сезонности, праздников и других специфических событий.
Приобрести книгу можно здесь: https://www.packtpub.com/en-us/product/forecasting-time-series-data-with-prophet-9781837630417