Вопрос или проблема
Я выполнил множественную линейную регрессию на 64 переменных с тремя различными моделями:
- Выполнена множественная линейная регрессия на всех 64 переменных
- Выполнен отбор признаков с помощью случайного леса, затем множественная линейная регрессия на выбранных признаках
- Выполнена пошаговая линейная регрессия
Я достиг одинакового значения скорректированного R-квадрата для всех 3 моделей, но разные значимые переменные. Как это понять? Какую модель выбрать?
Буду признателен за любые советы! Спасибо!
Кажется, что удаление признаков не особенно помогло в улучшении подгонки модели. Различия в значимости признаков могут быть связаны с исключением.
Одно из того, что стоит попробовать, это регуляция посредством регрессии LASSO/гребень. В R это можно легко реализовать с помощью пакета glmnet
. Вот учебник. Это, по моему мнению, лучший метод отбора признаков, поскольку за ним стоит математическая логика (подробнее см. в книге Введение в статистическое обучение).
Lasso может уменьшить признаки до нуля (то есть отбросить их). Ridge не может уменьшить признаки до нуля. Просто попробуйте это.
Подсказка: в линейной регрессии с непрерывными признаками вы также можете добавить полиномы в вашу регрессию для увеличения подгонки с помощью функции poly
. Вы также можете посмотреть, помогут ли регрессионные сплайны справиться с скрытой нелинейностью. Пакет gam
— это очень хороший старт. Вот документация.
Книга Введение в статистическое обучение охватывает эти темы очень хорошо и поставляется с полезными примерами на R. Вот код.
64 переменные — это много для линейной регрессии, и я бы сильно опасался коллинеарности, взаимозависимых переменных и т.д.
Хорошим основным предположением было бы использование модели с наименьшим количеством переменных (при равном скорректированном R²), но я бы настоятельно рекомендовал углубиться здесь.
Вы проводили факторный анализ или PCA на предикторных переменных раньше, будет ли упрощенная модель с компонентами или факторами работать лучше и быть более интерпретируемой?
Регрессия на самом деле не является хорошей моделью, если вы просто хотите попробовать все подряд. В зависимости от мотива вашей проблемы (как подчеркнул @Spacedman), я бы также попробовал более альтернативные модели.
Например, почему использовать RF только для отбора признаков, почему бы не для всей регрессии? Если вы стремитесь к предсказанию и качеству предсказания, R² в любом случае не будет вашим основным показателем для рассмотрения, и вы могли бы попробовать больше алгоритмов, таких как XGboost.
Ответ или решение
Выполнение нескольких моделей линейной регрессии на одном наборе данных с 64 переменными и получение одинакового значения скорректированного коэффициента детерминации (R²) при разных значимых переменных может вызвать вопросы о значимости выбора модели. В данном случае, если три подхода — полная регрессия, регрессия с отбором признаков через случайный лес и пошаговая регрессия — приводят к одинаковому уровню объясненной дисперсии, стоит рассмотреть следующие аспекты.
Понимание результатов
-
Интерпретация скорректированного R²: Скорректированный R² учитывает количество предикторов в модели, поэтому получение одинакового значения может свидетельствовать о том, что модель объясняет данные с равной точностью, несмотря на различие в переменных.
-
Разные значимые переменные: Различия в значимых переменных между моделями могут быть следствием коллинеарности, то есть сильной корреляции между переменными, приводящей к различиям в важности переменных в каждой модели.
-
Коллинеарность: Значительное число переменных (64) может указывать на высокую вероятность коллинеарности. В подобных ситуациях важно выявлять зависимые переменные и корректировать их использование.
Рекомендации по выбору модели
-
Упрощение модели: Если все три модели дают одинаковую объясняющую способность, возможно, стоит выбрать модель с меньшим числом переменных для упрощения интерпретации и проверки.
-
Альтернативные методы: Рассмотрите возможность использования регуляризации (Lasso или Ridge), чтобы справиться с избыточностью переменных. Эти методы могут помочь в отборе признаков и снижении коллинеарности.
-
Анализ факторов или PCA: Проведение факторного анализа или анализа главных компонент (PCA) может помочь выявить скрытые структуры данных, и, возможно, улучшить интерпретируемость модели.
-
Попробуйте другие алгоритмы: Если цель — прогнозирование, стоит рассмотреть алгоритмы, такие как XGBoost или полная модель на базе случайного леса. Они могут предложить более высокое качество предсказания по сравнению с традиционной линейной регрессией.
Заключение
Выбор модели должен основываться не только на значениях скорректированного R², но также на интерпретируемости, простоте и специфике задачи. Советы и дополнительные источники, такие как книга "Введение в статистическое обучение", могут быть полезны в изучении дополнительных методов и в реализации их на практике. Анализ данных — это не просто поиск лучшего показателя R², но глубокое понимание структуры данных и задач, которые вы пытаетесь решить.