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


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