Введение в гребневую регрессию


В обычной множественной линейной регрессии мы используем набор переменных-предикторов p и переменную ответа , чтобы соответствовать модели формы:

Y = β 0 + β 1 X 1 + β 2 X 2 + … + β p X p + ε

куда:

  • Y : переменная ответа
  • X j : j -я предикторная переменная
  • β j : среднее влияние на Y увеличения X j на одну единицу при неизменности всех остальных предикторов.
  • ε : Член ошибки

Значения β 0 , β 1 , B 2 , … , β p выбираются методом наименьших квадратов , который минимизирует сумму квадратов невязок (RSS):

RSS = Σ(y i – ŷ i ) 2

куда:

  • Σ : греческий символ, означающий сумму
  • y i : Фактическое значение отклика для i -го наблюдения
  • ŷ i : прогнозируемое значение отклика на основе модели множественной линейной регрессии.

Однако, когда переменные-предикторы сильно коррелированы, мультиколлинеарность может стать проблемой. Это может привести к тому, что оценки коэффициентов модели будут ненадежными и будут иметь высокую дисперсию.

Один из способов обойти эту проблему без полного удаления некоторых переменных-предикторов из модели — использовать метод, известный как гребневая регрессия , который вместо этого стремится свести к минимуму следующее:

RSS + λΣβ j 2

где j находится в диапазоне от 1 до p и λ ≥ 0.

Этот второй член уравнения известен как штраф за усадку .

Когда λ = 0, этот штрафной член не действует, и гребневая регрессия дает те же оценки коэффициентов, что и метод наименьших квадратов. Однако по мере того, как λ приближается к бесконечности, штраф за усадку становится более влиятельным, и оценки коэффициента гребневой регрессии приближаются к нулю.

Как правило, переменные-предикторы, которые меньше всего влияют на модель, будут уменьшаться до нуля быстрее всего.

Зачем использовать гребневую регрессию?

Преимущество гребенчатой регрессии по сравнению с регрессией наименьших квадратов заключается в компромиссе смещения и дисперсии .

Напомним, что среднеквадратическая ошибка (MSE) — это показатель, который мы можем использовать для измерения точности данной модели, и он рассчитывается как:

MSE = Var( f̂( x0)) + [Bias( f̂( x0))] 2 + Var(ε)

MSE = дисперсия + погрешность 2 + неустранимая ошибка

Основная идея гребневой регрессии состоит в том, чтобы ввести небольшое смещение, чтобы можно было существенно уменьшить дисперсию, что приводит к более низкому общему значению MSE.

Чтобы проиллюстрировать это, рассмотрим следующую диаграмму:

Обратите внимание, что по мере увеличения λ дисперсия существенно падает с очень небольшим увеличением смещения. Однако после определенного момента дисперсия уменьшается менее быстро, а сокращение коэффициентов приводит к их значительному недооцениванию, что приводит к значительному увеличению систематической ошибки.

Из диаграммы видно, что тестовая MSE является самой низкой, когда мы выбираем значение для λ, которое обеспечивает оптимальный компромисс между смещением и дисперсией.

Когда λ = 0, штрафной член в гребневой регрессии не имеет эффекта и, таким образом, дает те же оценки коэффициентов, что и метод наименьших квадратов. Однако, увеличивая λ до определенной точки, мы можем уменьшить общую тестовую MSE.

Это означает, что модель, подобранная с помощью гребневой регрессии, будет давать меньшие ошибки теста, чем модель, подобранная с помощью регрессии наименьших квадратов.

Шаги для выполнения гребневой регрессии на практике

Для выполнения гребневой регрессии можно использовать следующие шаги:

Шаг 1: Рассчитайте матрицу корреляции и значения VIF для переменных-предикторов.

Во-первых, мы должны создать корреляционную матрицу и вычислить значения VIF (фактор инфляции дисперсии) для каждой переменной-предиктора.

Если мы обнаружим высокую корреляцию между переменными-предикторами и высокими значениями VIF (в некоторых текстах «высокое» значение VIF определяется как 5, а в других используется 10), то, вероятно, целесообразно использовать гребневую регрессию.

Однако, если в данных нет мультиколлинеарности, то, возможно, в первую очередь нет необходимости выполнять гребневую регрессию. Вместо этого мы можем выполнить обычную регрессию методом наименьших квадратов.

Шаг 2: Стандартизируйте каждую предикторную переменную.

Перед выполнением гребневой регрессии мы должны масштабировать данные таким образом, чтобы каждая переменная-предиктор имела среднее значение 0 и стандартное отклонение 1. Это гарантирует, что ни одна переменная-предиктор не будет чрезмерно влиять при выполнении гребневой регрессии.

Шаг 3: Подберите модель гребневой регрессии и выберите значение для λ.

Не существует точной формулы, которую мы могли бы использовать, чтобы определить, какое значение использовать для λ. На практике есть два распространенных способа выбора λ:

(1) Создайте график трассировки Риджа. Это график, который визуализирует значения оценок коэффициентов по мере того, как λ увеличивается до бесконечности. Обычно мы выбираем λ как значение, при котором большинство оценок коэффициентов начинают стабилизироваться.

(2) Рассчитайте тест MSE для каждого значения λ.

Другой способ выбрать λ состоит в том, чтобы просто вычислить тестовую MSE каждой модели с разными значениями λ и выбрать λ как значение, которое дает наименьшую тестовую MSE.

Плюсы и минусы хребтовой регрессии

Самым большим преимуществом гребневой регрессии является ее способность давать более низкую среднеквадратичную ошибку теста (MSE) по сравнению с регрессией наименьших квадратов, когда присутствует мультиколлинеарность.

Однако самым большим недостатком гребневой регрессии является ее неспособность выполнять выбор переменных, поскольку она включает все переменные-предикторы в окончательную модель. Поскольку некоторые предикторы будут сжаты очень близко к нулю, это может затруднить интерпретацию результатов модели.

На практике гребенчатая регрессия может создать модель, которая может давать более точные прогнозы по сравнению с моделью наименьших квадратов, но часто бывает сложнее интерпретировать результаты модели.

В зависимости от того, что для вас более важно: интерпретация модели или точность прогноза, вы можете использовать обычный метод наименьших квадратов или гребенчатую регрессию в различных сценариях.

Ридж-регрессия в R & Python

В следующих руководствах объясняется, как выполнить регрессию гребня в R и Python, двух наиболее распространенных языках, используемых для подбора моделей регрессии гребня:

Регрессия хребта в R (шаг за шагом)
Ридж-регрессия в Python (шаг за шагом)