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

В этой статье обсуждается, что такое мультиколлинеарность, как она может нарушить метод наименьших квадратов и как гребневая регрессия помогает избежать этого с точки зрения разложения по сингулярным значениям (SVD). Он в значительной степени основан на курсе профессора Ребекки Уиллет Математические основы машинного обучения и предполагает базовые знания линейной алгебры.

В этом разделе мы рассмотрим мультиколлинеарность и то, как она может нарушить метод наименьших квадратов.

Мультиколлинеарность

Рассмотрим матрицу X формы n × p. Для его столбцов X₁, X₂,…, Xₚ ∈ ℝⁿ мы говорим, что они линейно независимы, когда ∑αᵢXᵢ = 0 тогда и только тогда, когда αᵢ = 0 для i = 1, 2,…, p. Интуитивно, ни один из столбцов в X не может быть записан как взвешенная сумма других. Наоборот, если это не относится к некоторым столбцам, мы называем их линейно зависимыми. Предположим, что rank (X) = r, затем (p - r) столбцы X линейно зависимы.

Мультиколлинеарность в терминах регрессии относится к явлению, когда предиктор в модели множественной регрессии может быть линейно предсказан на основе других со значительной степенью точности. Другими словами, предсказатель представляет собой приблизительно линейную комбинацию других. Совершенная мультиколлинеарность указывает на линейную зависимость в матрице признаков. Интуитивно это подразумевает избыточность наших функций, поскольку некоторые из них не могут предоставить уникальную и / или независимую информацию для регрессии.

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

Разложение по сингулярным значениям

Для матрицы X, t здесь всегда существуют матрицы U, Σ, V такое, что:

Если оба элемента U и V ортогональны:

Σ по диагонали:

Диагональные элементы Σ называются сингулярными значениями (σ₁σ₂ ≥… ≥ σₚ ≥ 0). Количество ненулевых сингулярных значений - это ранг матрицы X, а столбцы Σ являются основой для строк X .

Наименьшие квадраты с мультиколлинеарностью

Напомним, что для матрицы признаков X и целевой переменной y метод наименьших квадратов пытается аппроксимировать решение линейной системы y = Xw путем минимизации суммы квадратов остатков ∥ y - Xw ∥². Вектор весов можно записать с помощью нормального уравнения:

Обратите внимание, что A обратима тогда и только тогда, когда np и rank (X) = p. Теперь нетрудно понять, почему идеальная мультиколлинеарность является серьезной проблемой для метода наименьших квадратов: это означает, что матрица признаков не является полноранговой, поэтому мы не можем найти правильный набор коэффициентов, который минимизирует сумму квадратов остатков.

Однако почему мультиколлинеарность, или, в частности, сильная мультиколлинеарность, тоже проблематична? Давайте узнаем с точки зрения СВД.

Рассмотрим истинные веса w, мы знаем, что y = Xw + ϵ, где ϵ - незначительный шум или ошибка:

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

Если все столбцы X линейно независимы, у нас все еще есть p сингулярные значения и σ₁σ₂ ≥… ≥ σₚ › 0. Однако при наличии мультиколлинеарности некоторые σᵢ, σₚ например, будут близки к нулю. Тогда диагональный элемент 1 / σₚ будет огромным, что приведет к действительно большому члену инфляции и, следовательно, большому отклонению весов методом наименьших квадратов от истинных весов. Интуитивно, мультиколлинеарность может нарушить метод наименьших квадратов, поскольку приводит к небольшим сингулярным значениям. Ошибки оценки коэффициентов раздуваются величинами, обратными этим сингулярным значениям, и поэтому становятся слишком большими, чтобы ими можно было пренебречь.

Как этого избежать? Одна из возможностей - регресс гребня.

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

Хребтовая регрессия

Риджевая регрессия строится на основе наименьших квадратов путем добавления члена регуляризации в функцию стоимости, так что она становится ∥ y - Xw ∥² + λw ∥², где λ указывает на степень регуляризации. Мы можем записать функцию стоимости f (w) как:

Затем мы можем вычислить градиент и установить его равным нулю:

Присмотритесь к средней части выражения:

Как это помогает?

Рассмотрим σₚ ≈ 0, на этот раз σₚ / (σₚ² + λ) ≈ 0 тогда и только тогда, когда λ ≠ 0. Следовательно, при гребневой регрессии коэффициенты несущественных характеристик будут близки к нулю (но не будут равны точно 0, если не будет совершенной мультиколлинеарности), и член ошибки не будет увеличиваться до взрыва. Обратите внимание, что при отсутствии регуляризации (λ = 0) все возвращается к методу наименьших квадратов. Кроме того, в большинстве случаев (σₚλ) σₚ / (σₚ² + λ) ≈ 1 / σₚ как в наименьших квадратах.

Эмпирические результаты

В этом разделе мы будем работать с образцом набора данных seatpos, чтобы проверить наши предыдущие выводы.

Водители автомобилей любят регулировать положение сиденья для собственного комфорта. Дизайнерам автомобилей было бы полезно знать, где разные водители будут располагать сиденья в зависимости от их размера и возраста. Исследователи лаборатории HuMoSim в Мичиганском университете собрали данные о 38 водителях.

Набор данных содержит следующие функции:

Мы хотим подобрать линейную модель, которая прогнозирует hipcenter на основе всех других функций в наборе данных. Судя по описанию, некоторые функции могут быть тесно связаны друг с другом. Например, Weight и Ht, Ht и HtShoes. Постройте корреляционную матрицу:

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

Используйте следующий фрагмент кода, чтобы:

  1. Добавьте смещение к матрице признаков;
  2. Разделите набор данных на обучающий и тестовый набор;
  3. Нормализовать матрицу признаков, чтобы мы могли сравнивать коэффициенты, поскольку мы ожидаем, что объекты с большими вариациями будут иметь меньшие коэффициенты, при прочих равных

Для простоты сначала посмотрите на модель, в которой в качестве предикторов используются только Ht и HtShoes.

X_train_sub = X_train_[:, 2:4]
X_test_sub = X_test_[:, 2:4]
ls = LinearRegression(fit_intercept=True)
ls.fit(X_train_sub, y_train)
print(ls.intercept_, ls.coef_)
  -165.844 [54.745 -105.923]

Удивительно, но хотя Ht и HtShoes почти идеально коррелируют, их частичное влияние на hipcenter имеет противоположные знаки. Это может быть результатом сильной мультиколлинеарности. Вместо этого используйте модель регрессии гребня с λ = 10.

ridge = Ridge(alpha=10)
ridge.fit(X_train_sub, y_train)
print(ridge.intercept_, ridge.coef_)
  -165.844 [-21.593  -22.269]

Коэффициенты регрессии гребня кажутся более разумными. Сравните его тест RMSE с тестом наименьших квадратов.

ls_rmse = mean_squared_error(y_test, ls.predict(X_test_sub))
ridge_rmse = mean_squared_error(y_test, ridge.predict(X_test_sub))
print("Least squares test RMSE: {:.3f}".format(ls_rmse))
print("Ridge test RMSE: {:.3f}".format(ridge_rmse))
  Least squares test RMSE: 643.260
  Ridge test RMSE: 519.287

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

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

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

Эта статья написана Кунью Хэ. Кунью сейчас учится в магистратуре Чикагского университета. Ему интересно понимать методы статистического моделирования и машинного обучения, применять их к реальным данным и помогать создавать комплексные решения в индустрии финансовых услуг. Свяжитесь с Кунью в LinkedIn! 🐷