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

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

DS/ML/AI

238subscribers

83posts

Содержание поста «30 июля, 21:00, 2-часовая видеолекция "Временные ряды: лучшие практики" (9 Jupyter-тетрадок, 3 файла данных)»

Адрес поста https://boosty.to/drains/posts/7207bbdf-1783-45c3-8dd0-aea8936a208f?share=post_link 
Лучшие практики_ARIMA (настройки видов трендов и коррекция остатками).ipynb
Здесь я напоминаю, что помимо дифференцирования надо активнее пробовать разные типы трендов, надо применять коррекцию остатками, в том числе LOO-остатками, разные техники дал в коде. И необязательно брать среднее по всем наблюдениям обучающего набора, особенно, если у вас сильный тренд, есть на этот счет техники поинтереснее. Также показал, как отбирать признаки для ARIMA по важностям через удаление и коэффициентам.
Лучшие практики_SARIMAX (отбор признаков через удаление).ipynb
Показываю на задаче X5, как улучшить качество модели  с помощью отбора, используем важности через удаление.
Лучшие практики_SARIMAX (поиск по сетке).ipynb
Лучшие практики_SARIMAX (оптимизация Optuna).ipynb
Лучшие практики_SARIMAX (оптимизация Optuna с отбором признаков).ipynb
Разбираем основные признаки для SARIMAX: календарные признаки, индикаторы дат пиков и спадов, составные индикаторы, компоненты Фурье. Показана оптимизация по сетке, байесовская с помощью Optuna, байесовская с помощью Optuna с семплированием, т.е. берем набор сильных фичей и набор экспериментальных фичей, в полезности которых не уверены и этот последний набор семплируем и результат конкатенируем с набором сильных фичей.
Лучшие практики_ETS (оптимизация Optuna, сглаживания).ipynb
Здесь показываю, как разные виды сглаживания (обычное скользящее среднее, экспоненциально взвешенное скользящее среднее) могут улучшить качество ETS. В апдейтах планирую добавить еще фильтры и скользящее среднее с регуляризацией (да, эта штука работает; кто у меня сейчас делает ДЗ и говорит, что ничего не выходит, значит делаете неправильно, надо frac брать высокий и отбор с возвращением ставить, а пропуски чем-то поумнее, чем просто нулем заполнять).
Лучшие практики_градиентный бустинг (оптимизация Optuna, ETS, групповые обычные и скользящие статистики).ipynb
Ну это монстрообразная тетрадка. Там даны три важные фичи, которые улучшают качество бустинга, но их часто нет в библиотеках рядов, например, в той же ETNA – фичи на базе ETS, групповые статистики и групповые скользящие статистики. Там в тетрадке они прямо автоматом считаются в функции кроссвалидации наряду со скользящими статистиками и лагами. Важно – без них бустинг будет у вас недоделан. Раньше была популярна такая байка:
- Дали на работе прогнозировать ряды сумм снятий. Бустингом хочу прогнозировать, чего делать?
- Groupby’ить, голубчик, groupby’ить!
Там же положил пример с асимметричным лоссом, чтобы как-то бороться с недопрогнозом у бустинга.
В функцию валидации положил еще вычисление важностей по усредненным абсолютным значениям SHAP для катбуста.
Кроме того, положил два примера байесовской оптимизации, в первой тюним гиперпараметры конструирования лагов, скользящих статистик, групповых скользящих статистик и гиперпараметры модели бустинга, во второй тюним гиперпараметры фичи на базе ETS.
Гибридный отбор признаков.ipynb
Речь о внешнем гибридном отборе признаков, он подходит для константных фичей, без вычисления статистик. Вот вы делаете календарные признаки для бустинга, сделали штук 50, и надо выяснить, а все ли полезны. Можно сделать гибридный отбор, упорядочиваем по важностям split или gain (важности берем усредненные по итогам перекрестной проверки), а затем пробуем последовательное жадное удаление (суть смотрим – разницу между метрикой модели со всеми признаками и метрикой модели с удаленным признаком). Его можно сделать до байесовской оптимизации и/или после байесовской оптимизации.
Отбор признаков по SHAP.ipynb
Здесь приведены простые и быстрые методы отбора для константных фичей – по корреляции, по SHAP.
Go up