Гарантирует ли случайный лес предсказания в заданном диапазоне, если отдельное дерево не выходит за рамки обучающей выборки
Что проверяют
Понимаете ли вы, как устроено предсказание случайного леса, и можете ли довести рассуждение до строгого вывода, а не отвечать по ощущению. Следом почти всегда спрашивают, что из этого следует для экстраполяции и как с этим жить на данных с трендом.
Как отвечать
Короткий ответ: да, гарантирует. В регрессии лист дерева предсказывает среднее таргетов обучающих объектов, попавших в него (медиану при criterion="absolute_error"), поэтому любое предсказание дерева лежит между минимумом и максимумом таргета в обучении. RandomForestRegressor усредняет деревья с равными весами, а среднее чисел из отрезка [min, max] из этого отрезка не выходит: это выпуклая комбинация. Бутстрэп ничего не ломает, каждое дерево видит подвыборку, и её диапазон только уже. То же верно для ExtraTreesRegressor.
Из этого же следуют ограничения, которые стоит назвать:
- нет экстраполяции: если цена в обучении росла до 100, лес на будущих данных упрётся в потолок около 100, как бы ни рос признак;
- классификация: усредняются вероятности классов из листьев, результат всегда в
[0, 1]; - где гарантия пропадает: градиентный бустинг складывает деревья, а не усредняет, и строгой гарантии не даёт; деревья с линейными моделями в листьях (
linear_treeв LightGBM) и стекинг с линейной моделью поверх леса тоже могут выйти за диапазон.
Практический вывод для данных с трендом: предсказывать не уровень, а приращение или отношение, вычитать тренд отдельной моделью либо комбинировать лес с линейной моделью, которая умеет экстраполировать.
Где спотыкаются
Отвечают «нет, ансамбль может выйти за рамки», путая случайный лес с бустингом или нейросетью. Усреднение ограниченных величин за границы не выходит, и это доказывается в одну строку.
Уводят разговор в переобучение и глубину деревьев. К вопросу о диапазоне это отношения не имеет: даже идеально настроенный лес экстраполировать не умеет.
Не видят обратной стороны гарантии. Кандидат говорит «зато предсказания всегда адекватные», хотя на задачах с трендом или сдвигом распределения это как раз главная причина систематической ошибки прогноза.