Материалы ИЦ «ГЕВИССТА»

Материалы ИЦ «ГЕВИССТА» 

DS/ML/AI

238subscribers

83posts

Содержание поста-книги "Прикладной анализ временных рядов, том 1 в двух частях (499-стр. pdf + 526-стр. pdf, файлы данных, 37 Jupyter-тетрадок, 4 скрипта)"

Том 1 https://boosty.to/drains/posts/99be457c-8ec5-4d45-bb81-2b2e5de5b7de?share=post_link
ЧАСТЬ 1. ВВЕДЕНИЕ 11
1. Определение временного ряда 11
2. Математические обозначения при работе с временными рядами 13
3. Важнейшие термины при работе с временными рядами 15
3.1. Эндогенная переменная и экзогенная переменная 15
3.2. Горизонт прогнозирования и частота прогнозирования 16
3.3. Частота временного ряда 16
3.4. Одномерные и многомерные временные ряды 17
3.5. Равномерно и неравномерно распределенные временные ряды 18
4. Экосистема Python для прогнозирования временных рядов 19
5. Работа с временными рядами в библиотеке pandas и модуле datetime 19
5.1. Типы данных datetime, timedelta и period 20
5.2. Объекты datetime, date, time, timedelta модуля datetime 27
5.3. Создание временной метки с помощью объекта Timestamp 29
5.4. Индексация с помощью объекта DatetimeIndex 30
5.5. Парсинг даты и времени разных форматов 35
5.6. Вычисление новых дат с помощью смещений 40
5.7. Представление промежутков времени с помощью объектов Period 46
5.8. Обработка праздников с помощью календарей 51
5.9. Нормализация временных меток с помощью часовых поясов 52
5.10. Создание временного ряда с определенной частотой 54
5.11. Преобразование частоты временного ряда 58
5.12. Изменение шага дискретизации временного ряда 60
5.13. Группировка по времени 64
ЧАСТЬ 2. ПРЕДВАРИТЕЛЬНЫЙ АНАЛИЗ ВРЕМЕННОГО РЯДА 72
1. Компоненты временного ряда 72
2. Стационарность 88
2.1. Определение стационарности 88
2.2. Важность стационарности 90
3. Диагностика стационарности 91
3.1. Декомпозиция с помощью библиотеки statsmodels 92
3.2. Декомпозиция с помощью фильтров SciPy 93
3.3. Декомпозиция с помощью библиотеки pandas 95
3.4. Декомпозиция с помощью функции np.polyfit() 96
3.5. Ящичковые диаграммы 97
3.6. Графики автокорреляционной функции и частной автокорреляционной функции 98
3.7. Диаграммы рассеяния для лагов 120
3.8. Тесты на единичные корни 122
4. Дифференцирование (разностное преобразование) 124
5. Анализ сигналов 132
5.1. Введение в частотный спектр и быстрое преобразование Фурье 132
5.2. Получение частотного спектра из временного ряда 133
5.3. Восстановление временного ряда из частотного спектра с помощью обратного преобразования Фурье 139
5.4. Восстановление временного ряда из частотного спектра с помощью собственной функции 142
6. Обработка пропусков 143
7. Дефлирование 153
ЧАСТЬ 3. ПРОСТЫЕ ПРОГНОЗНЫЕ МОДЕЛИ 157
1. Метод наивного прогноза 159
2. Метод сезонного наивного прогноза 160
3. Метод скользящего среднего 162
4. Метод сезонного скользящего среднего 163
ЧАСТЬ 4. КОНСТРУИРОВАНИЕ ПРИЗНАКОВ 166
1. Лаговые переменные 169
2. Разности 185
3. Скользящие статистики 188
4. Взвешенные скользящие статистики 232
5. Групповые скользящие статистики 236
6. Расширяющиеся статистики 241
7. Групповые статистики 245
8. Признаки на основе траекторной матрицы 249
9. Отношения признаков 252
10. Признаки даты и времени 256
11. Компоненты ряда Фурье 275
12. Признаки на основе тройного экспоненциального сглаживания 283
13. Прогнозирование тренда, детрендинг и добавление тренда к прогнозам 291
14. Добавление тренда, компонент ряда Фурье, произведения компоненты ряда Фурье и тренда в качестве признаков 297
15. Добавление информации о светлом/темном времени суток, времени восхода и времени заката 301
16. Добавление информации о погодных условиях (минимальной температуре, максимальной температуре, высоте снежного покрова и т.д) 305
17. Добавление признаков на основе компонентов прогнозов Prophet 309
18. Мастер-класс по конструированию признаков, связанных со временем, от разработчиков scikit-learn 313
19. Прогнозирование 4 временных рядов с помощью мультисегментного и посегментного подходов (на примере задачи о потреблении электроэнергии) 336
19.1. Мультисегментный подход 338
19.2. Посегментный подход 351
20. Прогнозирование 1782 временных рядов с помощью мультисегментного подхода (на примере задачи Store Sales – Time Series Forecasting) с предподготовкой в pandas 359
20.1. Описание задачи 359
20.2. Пробуем простые прогнозные модели 364
20.3. Предварительная подготовка и конструирование признаков для обучающего и тестового наборов 386
20.4. Обучение модели CatBoost на обучающем наборе и получение прогнозов для тестового набора 410
20.5. Дополнительная подготовка обучающего и тестового наборов для гребневой регрессии 413
20.6. Обучение модели гребневой регрессии на обучающем наборе и получение прогнозов для тестового набора 415
20.7. Предварительная подготовка и конструирование признаков для исторического набора и набора новых данных 415
20.8. Обучение модели CatBoost на историческом наборе и получение прогнозов для набора новых данных 419
20.9. Дополнительная подготовка исторического набора и набора новых данных для гребневой регрессии 420
20.10. Обучение модели гребневой регрессии на историческом наборе и получение прогнозов для набора новых данных 422
20.11. Усреднение прогнозов CatBoost и гребневой регрессии для набора новых данных и отправка посылки для Kaggle 423
21. Прогнозирование 1782 временных рядов с помощью мультисегментного подхода (на примере задачи Store Sales – Time Series Forecasting) с предподготовкой в Polars 424
21.1. Описание задачи 424
21.2. Попробуем модель наивного прогноза (продажи за последние 16 дней) 425
21.3. Предварительная подготовка и конструирование признаков для обучающего и тестового наборов 431
21.4. Обучение модели CatBoost на обучающем наборе и получение прогнозов для тестового набора 490
21.5. Предварительная подготовка и конструирование признаков для исторического набора и набора новых данных 491
20.6. Обучение модели CatBoost на историческом наборе и получение прогнозов для набора новых данных 496
ЧАСТЬ 5. СТРАТЕГИИ ВАЛИДАЦИИ ДЛЯ ВРЕМЕННЫХ РЯДОВ 498
1. Разбиение на обучающую, проверочную и тестовую выборки с учетом временной структуры для валидации временных рядов 498
2. Виды перекрестной проверки для временных рядов 528
2.1. Перекрестная проверка расширяющимся окном 532
2.2. Перекрестная проверка скользящим окном 550
2.3. Перекрестная проверка расширяющимся/скользящим окном с гэпом 561
3. Перекрестная проверка расширяющимся/скользящим окном без гэпа/с гэпом со сложной предварительной подготовкой данных внутри цикла 572
4. Иллюстрация применения различных стратегий валидации на примере задачи X5 Retail Group 622
ЧАСТЬ 6. МЕТРИКИ КАЧЕСТВА ПРОГНОЗОВ 673
1. Метрики качества, которые зависят от масштаба данных (RMSE, MSE, MAE, MdAE, RMSLE, MSLE) 673
1.1. Cреднеквадратичная ошибка (mean squared error, MSE) 673
1.2. Корень из среднеквадратичной ошибки (root mean squared error, RMSE) 674
1.3. Cредняя абсолютная ошибка (mean absolute error, MAE) 675
1.4. Медианная абсолютная ошибка (median absolute error, MdAE) 676
1.5. Сравнение RMSE, MAE, MdAE 676
2. Метрики качества на основе процентных ошибок (MAPE, MdAPE, sMAPE, sMdAPE, WAPE, WMAPE, RMSPE, RMdSPE) 687
2.1. Cредняя абсолютная процентная ошибка (mean absolute percentage error, MAPE) 687
2.2. Медианная абсолютная процентная ошибка (median absolute percentage error, MdAPE) 695
2.3. Cимметричная средняя абсолютная процентная ошибка (symmetric mean absolute percentage error, SMAPE) 697
2.4. Cимметричная медианная абсолютная процентная ошибка (symmetric median absolute percentage error, SMdAPE) 705
2.5. Взвешенная абсолютная процентная ошибка (weighted absolute percentage error, WAPE) 706
2.6. Средневзвешенная абсолютная процентная ошибка (weighted mean absolute percentage error, WMAPE) 712
2.7. Корень из среднеквадратичной процентной ошибки (root mean square percentage error, RMSPE) 715
2.8. Корень из медианной квадратичной процентной ошибки (root median square percentage error, RMdSPE) 717
2.9. Сравнение MAPE, MdAPE, SMAPE, SMdAPE, WAPE, WMAPE, RMSPE, RMdSPE 719
3. Метрики качества на основе относительных ошибок (MRAE, MdRAE, GMRAE) 722
3.1. Средняя относительная абсолютная ошибка (mean relative absolute error, MRAE) 722
3.2. Медианная относительная абсолютная ошибка (median relative absolute error, MdRAE) 727
3.3. Средняя геометрическая относительная абсолютная ошибка (geometric mean relative absolute error, GMRAE) 729
3.4. Сравнение MRAE, MdRAE, GMRAE 731
4. Относительные метрики качества (RelMAE, RelRMSE) 731
4.1. Относительная метрика MAE (relative MAE, RelMAE) 731
4.2. Относительная метрика RMSE (relative RMSE, RelRMSE) 732
5. Масштабированные ошибки (MASE, MdASE) 732
5.1. Средняя абсолютная масштабированная ошибка (mean absolute scaled error, MASE) 733
5.2. Медианная абсолютная масштабированная ошибка (median absolute scaled error, MdASE) 738
6. Критерий Диболда-Мариано 740
ЧАСТЬ 7. СТРАТЕГИИ МНОГОШАГОВОГО ПРОГНОЗИРОВАНИЯ ВРЕМЕННЫХ РЯДОВ 742
1. Рекурсивная стратегия многошагового прогнозирования 742
2. Прямая стратегия многошагового прогнозирования 744
3. Гибридная стратегия многошагового прогнозирования 745
4. Стратегия MIMO 746
5. Стратегия DIRMO 746
6. Сравнительный анализ 748
ЧАСТЬ 8. МОДЕЛИ ЭКСПОНЕНЦИАЛЬНОГО СГЛАЖИВАНИЯ 751
1. Простое экспоненциальное сглаживание 751
1.1. Математический аппарат 751
1.2. Реализация в виде собственной функции 753
1.3. Выполнение сглаживания с помощью собственной функции 754
1.4. Знакомство с классом SimpleExpSmoothing библиотеки Statsmodels 755
1.5. Выполнение сглаживания с помощью класса SimpleExpSmoothing 756
1.6. Визуализация влияния alpha на сглаживание 757
1.7. Получение прогнозов 758
1.8. Визуализация и оценка качества прогнозов для временного ряда с трендом и сезонной компонентой 760
2. Двойное экспоненциальное сглаживание 762
2.1. Математический аппарат 762
2.2. Реализация в виде собственной функции 764
2.3. Выполнение сглаживания с помощью собственной функции 765
2.4. Знакомство с классом Holt библиотеки Statsmodels 765
2.5. Выполнение сглаживания с помощью класса Holt 766
2.6. Вычисление значений уровня, значений тренда, сглаженных значений и остатков 767
2.7. Получение прогнозов 770
2.8. Выполнение сглаживания с затуханием тренда с помощью класса Holt: вычисление значений уровня и значений тренда, получение прогнозов 771
2.9. Визуализация и оценка качества прогнозов для временного ряда с трендом и сезонной компонентой 775
3. Тройное экспоненциальное сглаживание 776
3.1. Математический аппарат 776
3.2. Реализация в виде собственной функции 780
3.3. Создание временного ряда с аддитивным трендом и аддитивной сезонностью 784
3.4. Выполнение сглаживания с помощью собственной функции: аддитивный тренд и аддитивная сезонность 785
3.5. Знакомство с классом ExponentialSmoothing библиотеки Statsmodels 785
3.6. Выполнение сглаживания с помощью класса ExponentialSmoothing: аддитивный тренд и аддитивная сезонность 787
3.7. Визуализация и оценка качества прогнозов для временного ряда с трендом и сезонной компонентой 800
3.8. Выполнение сглаживания с помощью собственной функции: аддитивный тренд и мультипликативная сезонность 802
3.9. Выполнение сглаживания с помощью класса ExponentialSmoothing: аддитивный тренд и мультипликативная сезонность 803
3.10. Выполнение сглаживания с помощью собственной функции: мультипликативный тренд и аддитивная сезонность 814
3.11. Выполнение сглаживания с помощью класса ExponentialSmoothing: мультипликативный тренд и аддитивная сезонность 815
3.12. Выполнение сглаживания с помощью собственной функции: мультипликативный тренд и мультипликативная сезонность 826
3.13. Выполнение сглаживания с помощью класса ExponentialSmoothing: мультипликативный тренд и мультипликативная сезонность 827
3.14. Выполнение сглаживания с помощью собственной функции: аддитивный тренд с затуханием и аддитивная сезонность 838
3.15. Выполнение сглаживания с помощью класса ExponentialSmoothing: аддитивный тренд с затуханием и аддитивная сезонность 839
3.16. Выполнение сглаживания с помощью собственной функции: аддитивный тренд с затуханием и мультипликативная сезонность 846
3.17. Выполнение сглаживания с помощью класса ExponentialSmoothing: аддитивный тренд с затуханием и мультипликативная сезонность 847
3.18. Выполнение сглаживания с помощью собственной функции: мультипликативный тренд с затуханием и аддитивная сезонность 854
3.19. Выполнение сглаживания с помощью класса ExponentialSmoothing: мультипликативный тренд с затуханием и аддитивная сезонность 855
3.20. Выполнение сглаживания с помощью собственной функции: мультипликативный тренд с затуханием и мультипликативная сезонность 863
3.21. Выполнение сглаживания с помощью класса ExponentialSmoothing: мультипликативный тренд с затуханием и мультипликативная сезонность 863
3.22. Выполнение сглаживания с помощью собственной функции: отсутствие тренда и аддитивная сезонность 872
3.23. Выполнение сглаживания с помощью класса ExponentialSmoothing: отсутствие тренда и аддитивная сезонность 872
3.24. Выполнение сглаживания с помощью собственной функции: отсутствие тренда и мультипликативная сезонность 878
3.25. Выполнение сглаживания с помощью класса ExponentialSmoothing: отсутствие тренда и мультипликативная сезонность 879
3.26. Таксономия моделей тройного экспоненциального сглаживания 885
3.27. Иллюстрация применения моделей тройного экспоненциального сглаживания на практических примерах 887
ЧАСТЬ 9. АВТОРЕГРЕССИОННЫЕ МОДЕЛИ (AR-МОДЕЛИ) 955
1. Введение 955
2. Иллюстрация применения 956
ЧАСТЬ 10. МОДЕЛИ СКОЛЬЗЯЩЕГО СРЕДНЕГО (MA-МОДЕЛИ) 963
1. Введение 963
2. Иллюстрация применения 964
Go up