Как управлять мультиколлинеарностью в моделях деревьев решений
Деревья решений являются основным продуктом рабочих процессов машинного обучения, ценятся за их интуитивную структуру и простую интерпретируемость. Они питают все, от оценок кредитного риска до медицинской диагностики, часто служа алгоритмом для ученых-данных, которым необходимо объяснять прогнозы нетехническим заинтересованным сторонам. Тем не менее, несмотря на их надежность, деревья решений не защищены от тонкой, но постоянной проблемы: мультиколлинеарность . Когда переменные предиктора сильно коррелируют друг с другом, модели деревьев решений могут стать нестабильными, склонными к переоборудованию и более трудными для интерпретации. Понимание того, как мультиколлинеарность влияет на модели на основе деревьев - и знание того, как ее решать - имеет решающее значение для любого, кто строит надежные прогностические системы.
В этой статье мы рассмотрим, что такое мультиколлинеарность, почему она важна именно для деревьев решений и набора действенных стратегий для смягчения ее воздействия. Независимо от того, являетесь ли вы специалистом по данным, преподающим курс, или практиком, совершенствующим производственную модель, эти методы помогут вам построить более чистые, более обобщенные деревья решений.
Что такое мультиколлинеарность?
Многоколлинеарность относится к ситуации, в которой две или более переменных-предсказателей в задаче регрессии или классификации линейно связаны с высокой степенью. Когда корреляция между переменными сильна, лежащие в основе данные содержат перекрывающуюся информацию, которая может сбить с толку многие статистические и модели машинного обучения. В линейных моделях многоколлинеарность раздувает стандартные ошибки и делает оценки коэффициентов нестабильными. В деревьях решений эффекты менее очевидны, но одинаково разрушительны: модель может разделиться на избыточные признаки, произвольно распределяя важность между коррелированными предикторами, и полученное дерево может стать чрезмерно сложным без добавления реальной предиктивной мощности.
Существует два основных типа мультиколлинеарности, о которых следует знать:
- Идеальная мультиколлинеарность — один предиктор представляет собой линейную комбинацию других.Это редко встречается в реальных данных, если функция не была случайно дублирована.
- Высокая (неидеальная) мультиколлинеарность — предикторы сильно, но не идеально коррелируют. Это гораздо более распространено и является фокусом большинства стратегий смягчения.
Почему мультиколлинеарность все еще имеет значение в деревьях решений
Деревья решений непараметричны и часто описываются как невосприимчивые к мультиколлинеарности. Хотя деревья и не требуют тех же предположений независимости, что и линейные модели, связанные с ними особенности все еще создают практические проблемы:
- Смещение выбора сплита — когда доступны две высококоррелированные функции, дерево может произвольно выбрать одну для первого разделения, игнорируя другую. Это делает отдельные деревья нестабильными; небольшие изменения в данных могут привести к тому, что дерево перевернется, какую функцию оно выбирает.
- Переоборудование — избыточные функции предоставляют множество возможностей для дерева разделиться по существу на одну и ту же информацию, увеличивая глубину и сложность без улучшения обобщения.
- Вводящая в заблуждение особенность важности — оценки важности делятся между коррелированными предикторами, разбавляя очевидный вклад каждого и затрудняя определение того, какие переменные действительно влияют на прогнозы.
- Снижение интерпретируемости — дерево, которое расщепляется как на , так и (которые почти идентичны)) более запутанно и труднее обрезать, чем дерево, построенное с более чистыми, независимыми функциями.
For these reasons, teaching practitioners to detect and handle multicollinearity before feeding data into a decision tree is a core part of building robust models.
Обнаружение мультиколлинеарности в ваших данных
Прежде чем решить, как исправить мультиколлинеарность, вы должны сначала определить ее.Два наиболее распространенных инструмента обнаружения - матрица корреляции и фактор инфляции вариаций (VIF).
Использование матрицы корреляции
Самый простой подход заключается в вычислении парных коэффициентов корреляции Пирсона между всеми числовыми признаками. Тепловая карта матрицы корреляции быстро раскрывает кластеры сильно коррелированных переменных. Общее эмпирическое правило заключается в том, чтобы помечать пары с для дальнейшего исследования, хотя порог может быть скорректирован на основе знания домена.
Разнообразие инфляционного фактора
VIF измеряет, насколько разбросана дисперсия коэффициента регрессии из-за мультиколлинеарности. Для каждой функции VIF вычисляется путем регрессии этой функции против всех других и с использованием формулы . VIF выше 5 или 10 часто считается признаком проблемной мультиколлинеарности, хотя эти пороги не являются абсолютными. Многие статистические библиотеки предлагают функцию VIF из коробки; например, в Python обеспечивает быстрый способ оценки каждого численного предиктора.
Внешний ресурс: В документации VIF по статмоделям представлены детали и примеры реализации.
Стратегии для решения многоколлинеарности в деревьях решений
После того, как вы определили многоколлинеарные функции, следующим шагом будет решение, как с ними обращаться. Следующие стратегии особенно эффективны для моделей дерева решений.
1.Выбор характеристик
Выбор признаков часто является самым простым и интерпретируемым решением.Цель состоит в том, чтобы сохранить только подмножество предикторов, которые в лучшем случае слабо коррелируют друг с другом, сохраняя при этом предиктивный сигнал.
- Порог корреляции — вычислите матрицу корреляции и удалите одну особенность из каждой коррелированной пары выше выбранного порога (например, ]), которую вы уроните, следует руководствоваться экспертизой домена, стоимостью функции или простотой измерения.
- Выбор на основе VIF — итеративно вычислить VIF для всех функций, выбросить один с самым высоким VIF выше отсечки, и повторить, пока все оставшиеся функции не имеют приемлемых значений VIF.
- Методы обертки — используют прямой выбор, обратную ликвидацию или рекурсивную ликвидацию признаков (RFE), специально адаптированную к алгоритму дерева решений.
Выбор функций имеет дополнительное преимущество в снижении затрат на сбор и хранение данных в производственных системах, и это упрощает и упрощает объяснение дерева.
2. Снижение размерности с помощью PCA
При сбрасывании признаков нежелательно, поскольку каждая переменная несет в себе уникальное значение домена, анализ основных компонентов (PCA) предлагает альтернативу: он превращает исходные коррелированные предикторы в меньший набор некоррелированных компонентов, которые захватывают большую часть дисперсии в данных.
- Преимущества — PCA полностью устраняет многоколлинеарность, уменьшает шум и может улучшить обобщение, когда количество признаков велико по отношению к количеству образцов.
- Trade-offs — самый большой недостаток — потеря интерпретируемости. Компонент — это взвешенная линейная комбинация оригинальных функций; может быть трудно объяснить, что означает разделение на в бизнес-сфере. Кроме того, PCA не контролируется и может отбрасывать информацию, которая не захвачена дисперсией, но важна для целевой переменной.
Несмотря на эти компромиссы, PCA является мощным инструментом для подготовки данных для деревьев решений, особенно в сочетании с ансамблевыми методами.
3. Регуляризация в древесных моделях
Хотя регуляризация чаще всего связана с линейными моделями (штрафы L1/L2), деревья решений имеют свои собственные формы регуляризации, которые могут уменьшить переобучение, поощряемое многоколлинеарными функциями:
- Минимальные образцы на раскол — увеличение заставляет дерево требовать больше данных, прежде чем сделать раскол, уменьшая вероятность раскола на избыточной функции чисто случайно.
- Максимальная глубина — защелкивание препятствует росту дерева достаточно глубоко, чтобы использовать коррелированные особенности.
- Минимальное уменьшение примесей — установка гарантирует, что производятся только расколы, которые значительно уменьшают примеси, отфильтровывая расколы, приводимые в действие многоколлинеарным шумом.
- Сложная обрезка (CCP) — постобрезка позволяет дерево сокращаться после роста, удаляя ветви, которые полагаются на избыточные расколы.
Применение сильной регуляризации может помочь дереву принятия решений игнорировать ложные корреляции, но это не серебряная пуля — это не решает основную проблему избыточных функций.
Внешний ресурс: Документация по изучению сцикитов по обрезке с учетом сложности затрат дает четкий пример того, как применять регуляризацию деревьев.
4. Методы ансамбля: случайные леса и повышение градиента
Методы сборки, пожалуй, являются наиболее надежным способом обработки мультиколлинеарности в моделях на основе деревьев. Объединив многие деревья, ансамбли усредняют неустойчивости, вызванные взаимосвязанными особенностями, и дают более стабильные прогнозы.
- Случайные леса — каждое дерево обучается на выборке данных бутстрапа и рассматривает только случайное подмножество признаков при каждом расколе. Эта особенность случайности ломает доминирование любого отдельного коррелированного предиктора, заставляя лес исследовать альтернативные расколы. Окончательное предсказание — среднее по многим деревьям, которое сглаживает произвольный выбор признаков.
- Gradient Boosting Machines (GBMs) — последовательное повышение сборки деревьев, каждая из которых исправляет ошибки своего предшественника. Коррелированные функции все еще могут быть выбраны по деревьям, но итеративная уточнение уменьшает влияние мультиколлинеарности на общую производительность. Современные реализации, такие как XGBoost и LightGBM, включают встроенные параметры регуляризации (например, , ), которые дополнительно смягчают проблему.
Методы ансамбля не устраняют мультиколлинеарность, но делают её гораздо менее вредной.Для многих практикующих использование случайного леса или ГБМ — самый простой способ игнорировать проблему без явной предварительной обработки.
Практическая реализация: пошаговое руководство
Давайте пройдемся по репрезентативному рабочему процессу для обработки мультиколлинеарности в проекте дерева решений. Мы будем использовать гипотетический набор данных о жилье с такими функциями, как квадратный метр, количество спален, количество ванных комнат, размер лота и год постройки - многие из которых естественным образом коррелируют.
Шаг 1: Обнаружение мультиколлинеарности
Во-первых, вычислить корреляционную матрицу и ВИФ для всех числовых признаков. В нашем примере квадратная площадь и количество спален могут иметь корреляцию 0,82, а значения ВИФ для обоих могут превышать 6. Это подтверждает проблемную многоколлинеарность.
Шаг 2: Выберите стратегию смягчения последствий
Поскольку интерпретируемость важна для модели недвижимости, мы выбираем выбор характеристик, а не PCA. Мы решили сохранить квадратный фут (который является более детальным и часто более прогнозирующим) и уменьшить количество спален. Мы также проверяем другие коррелированные пары и удаляем размер лота, если он показывает VIF выше 10 после первого падения. Окончательный набор функций сохраняет только независимые или слабо коррелированные предикторы.
Шаг 3: Посадите дерево решений
С уменьшенным набором функций мы тренируем дерево решений, используя разумное (например, 6) и (например, 20)], чтобы предотвратить переобучение. Полученное дерево проще, с меньшим количеством узлов, и оценки важности функций теперь сосредоточены на действительно различных переменных.
Шаг 4: Проверка и сравнение
Мы сравниваем дерево, обученное на полном наборе данных, с деревом, обученным на выбранных функциях. Хотя полное дерево может достичь немного меньшей ошибки обучения, дерево выбранной характеристики должно демонстрировать лучшие показатели перекрестной валидации и меньшую дисперсию по складкам. Это отличительная черта улучшенного обобщения.
Для дополнительного уровня надежности мы также тренируем случайный лес на исходном наборе данных. Производительность леса должна близко соответствовать или превышать производительность обрезанного дерева решений, подтверждая, что ансамбльные методы являются жизнеспособной альтернативой, когда выбор признаков нежелателен.
Обычные подводные камни и как их избежать
Даже при самых лучших намерениях ошибки могут возникать при обработке многоколлинеарности в деревьях решений. Вот наиболее частые подводные камни:
- Более быстрое удаление признаков — падение переменной только потому, что она коррелирует с другой, может растратить ценный сигнал. Всегда учитывайте прогностический вклад каждой функции и используйте знания домена для руководства удалением.
- Игнорирование эффектов взаимодействия — в некоторых случаях две взаимосвязанные функции вместе несут информацию, которая не несет в себе ничего. Удаление одной прямой может нанести вред производительности. В этих ситуациях методы уменьшения размерности или ансамбля являются лучшим выбором.
- Применение PCA без масштабирования — PCA чувствительна к масштабу признаков. Всегда стандартизируйте числовые предикторы до нуля средней и единицы дисперсии перед выполнением PCA.
- Предполагая, что пороги VIF универсальны — VIF 10 является общим отсечением, но в небольших наборах данных или доменах с сильными естественными корреляциями могут быть уместны даже более низкие пороги.
- Забыв проверить после проектирования функций — при создании полиномиальных функций, соотношений или условий взаимодействия может быть введена мультиколлинеарность.
Заключение
Многоколлинеарность может не нарушать модель дерева решений так же, как она ломает линейную регрессию, но она все еще подрывает стабильность, интерпретируемость и обобщение. Обнаружив коррелированные признаки на ранней стадии, применяя продуманный выбор признаков или уменьшение размерности и дополняя деревья методами ансамбля, такими как случайные леса, вы можете построить модели, которые являются точными и устойчивыми. Ключ заключается в том, чтобы рассматривать мультиколлинеарность не как неизбежный дискомфорт, а как сигнал о том, что ваши данные могут быть упрощены и ваша модель улучшена.
Внешний ресурс: Для более глубокого погружения в VIF и его применение для выбора функций см. статью Википедия о факторе инфляции вариаций . Для практического руководства по созданию деревьев решений с scikit-learn, обратитесь к официальной документации деревьев решений scikit-learn .