Книга Эйлин Нильсен «Практический анализ временных рядов: прогнозирование со статистикой и машинное обучение» (2021, перевод на русский язык издательства «Диалектика») представляет собой практическое руководство по анализу и прогнозированию временных рядов, охватывающее как классические статистические методы, так и современные подходы, основанные на машинном обучении и глубоком обучении.
Книга ориентирована на специалистов по анализу данных, имеющих базовые знания в области математической статистики и машинного обучения, но не обладающих глубоким опытом работы с временными рядами. Автор не ограничивается теоретическими аспектами, а приводит множество примеров кода на Python и R, иллюстрирующих применение описанных методов к реальным задачам.
Рис. 1: Обложка книги Практический анализ временных рядов — Эйлин Нильсен
Центральная идея книги заключается в демонстрации того, как эффективно использовать как традиционные статистические методы (ARIMA, модели пространства состояний), так и современные методы машинного обучения (деревья решений, случайный лес, XGBoost, рекуррентные и сверточные нейронные сети) для анализа и прогнозирования временных рядов.
Книга охватывает широкий спектр приложений анализа временных рядов, включая медицинские, финансовые и административные. В ней также рассматриваются различные пакеты программного обеспечения, предназначенные для анализа временных рядов, такие как tsfresh, cesium, Prophet, и дается обзор современных тенденций в области прогнозирования.
Ключевые аспекты
- Рассмотрена история анализа временных рядов от древних времен до современности, с примерами из медицины, метеорологии, экономики и астрономии;
- Приведено подробное описание методов предварительной обработки временных рядов, включая обработку пропущенных данных (замена предыдущим значением, скользящее среднее, интерполяция), изменение частоты дискретизации, сглаживание (экспоненциальное сглаживание, LOESS), обработку сезонности и предотвращение упреждения;
- Приведен обзор классических статистических моделей для временных рядов: ARIMA, модели пространства состояний (фильтр Калмана, скрытые марковские модели, байесовские структурные временные ряды);
- Есть примеры применения методов машинного обучения к анализу временных рядов: классификация (деревья решений, случайный лес, XGBoost), кластеризация (с использованием метрик DTW и других);
- Показано использование глубокого обучения для анализа временных рядов: сети прямого распространения, сверточные нейронные сети (CNN), рекуррентные нейронные сети (RNN, LSTM, GRU), комбинированные архитектуры (LSTNet).
- Рассмотрены методы оценки ошибок прогнозов: тестирование на исторических данных, оценка неопределенности с помощью моделирования, многозадачное обучение;
- Обзор пакетов для анализа временных рядов: tsfresh, cesium, Prophet, инструменты Google для прогнозирования в масштабе;
- Практические примеры применения методов анализа временных рядов в медицине (прогнозирование заболеваемости гриппом и уровня глюкозы в крови), финансах (прогнозирование доходности акций) и государственном управлении (анализ жалоб граждан);
- Обсуждение проблем производительности моделей временных рядов и способов их решения.
Полезность
Что хорошо раскрыто:
- Практическое применение различных методов анализа временных рядов с подробными примерами кода на Python и R;
- Подробное описание методов предварительной обработки данных, критически важных для успешного анализа временных рядов;
- Обзор современных пакетов и библиотек для анализа временных рядов.
Что плохо раскрыто:
- Некоторые математические аспекты описаны слишком кратко, что может затруднить понимание для читателей без достаточной математической подготовки;
- Недостаточно внимания уделено сравнению производительности различных методов на больших объемах данных;
- Некоторые разделы, посвященные глубокому обучению, могли бы быть более подробными и включать больше примеров.
Вердикт
Книга Эйлин Нильсен представляет собой ценное практическое руководство по анализу и прогнозированию временных рядов, охватывающее широкий спектр методов от классической статистики до современного машинного обучения и глубокого обучения.
Многочисленные примеры кода и практические кейсы из разных областей делают книгу полезной как для начинающих специалистов, так и для опытных аналитиков, желающих расширить свои знания в области анализа временных рядов. Автор успешно демонстрирует взаимосвязь между различными методами и подчеркивает важность предварительной обработки данных.
Приобрести книгу можно здесь: https://www.labirint.ru/books/786694/