Выбор ответа Senior Окна и сдвиги обновлено
rolling с center=True в признаках
Вопрос
Для модели прогноза спроса сделали признак s.rolling(7, center=True).mean(). На валидации качество отличное, в проде плохое. Почему?
Попробуйте сами
Выберите вариант, и откроется разбор.
Показать ответ и разбор
Коротко
Правильный ответ: Центрированное окно берёт 3 будущих дня, которых в проде нет. С center=True окно для дня t берёт дни с t-3 по t+3: это утечка будущего.
Варианты ответа
center=Trueмедленнее и даёт неточные значения среднего- Центрированное окно берёт 3 будущих дня, которых в проде нетправильный ответ
rollingвообще нельзя использовать в признаках для моделей- Нужно было
min_periods=1, иначе первые дни выпадают из выборки
Разбор
С center=True окно для дня t берёт дни с t-3 по t+3: это утечка будущего. В проде будущих значений нет, и признак считается иначе. Для признаков окно должно заканчиваться не позже прошлого дня: s.shift(1).rolling(7).mean(). Точность вычислений тут ни при чём, а min_periods влияет только на начало ряда.
Ответьте сами, а не прочитайте
В тренажёре вопрос попадёт в повторения и вернётся, когда начнёт забываться. Плюс билеты с зачётом: 20 вопросов, не больше 2 ошибок.