Введение в регрессию Лассо

Введение в регрессию Лассо

В обычной множественной линейной регрессии мы используем набор переменных-предикторов 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 |

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

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

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

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

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

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

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

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

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

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

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

Компромисс смещения-дисперсии гребневой регрессии

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

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

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

Компромисс смещения-дисперсии регрессии Лассо

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

Лассо-регрессия против гребневой регрессии

Лассо-регрессия и гребенчатая регрессия известны как методы регуляризации, потому что они оба пытаются минимизировать сумму квадратов остатков (RSS) вместе с некоторым штрафным сроком.

Другими словами, они ограничивают или упорядочивают оценки коэффициентов модели.

Однако условия наказания, которые они используют, немного отличаются:

  • Лассо-регрессия пытается минимизировать RSS + λΣ|β j |
  • Регрессия хребта пытается минимизировать RSS + λΣβ j 2

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

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

С технической точки зрения регрессия лассо способна создавать «разреженные» модели — модели, которые включают только подмножество переменных-предикторов.

Возникает вопрос: что лучше: гребенчатая регрессия или лассо-регрессия?

Ответ: Это зависит!

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

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

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

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

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

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

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

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

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

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

Как только мы решим, что регрессия лассо подходит для использования, мы можем подогнать модель (используя популярные языки программирования, такие как R или Python), используя оптимальное значение для λ.

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

Шаг 3: Сравните регрессию лассо с регрессией гребня и обычной регрессией наименьших квадратов.

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

В зависимости от взаимосвязи между переменными-предикторами и переменной отклика одна из этих трех моделей вполне может превзойти другие в различных сценариях.

Лассо-регрессия в R & Python

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

Лассо-регрессия в R (шаг за шагом)
Лассо-регрессия в Python (шаг за шагом)

Замечательно! Вы успешно подписались.
Добро пожаловать обратно! Вы успешно вошли
Вы успешно подписались на кодкамп.
Срок действия вашей ссылки истек.
Ура! Проверьте свою электронную почту на наличие волшебной ссылки для входа.
Успех! Ваша платежная информация обновлена.
Ваша платежная информация не была обновлена.