Понять, что такое мультиколлинеарность, как она может нарушить метод наименьших квадратов и как помогает классическая регрессия гребня.
В этой статье обсуждается, что такое мультиколлинеарность, как она может нарушить метод наименьших квадратов и как гребневая регрессия помогает избежать этого с точки зрения разложения по сингулярным значениям (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 обратима тогда и только тогда, когда n ≥ p и 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
сильно коррелирует с большинством функций, и мы можем ожидать хорошего соответствия. Коды, которые создают график корреляции выше:
Используйте следующий фрагмент кода, чтобы:
- Добавьте смещение к матрице признаков;
- Разделите набор данных на обучающий и тестовый набор;
- Нормализовать матрицу признаков, чтобы мы могли сравнивать коэффициенты, поскольку мы ожидаем, что объекты с большими вариациями будут иметь меньшие коэффициенты, при прочих равных
Для простоты сначала посмотрите на модель, в которой в качестве предикторов используются только 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! 🐷