Линейная, многомерная регрессия и регуляризация (LASSO, регрессия Риджа)

Прогнозирование цен на жилье в Бостоне с помощью линейной регрессии

Линейная регрессия: теория и применение

Введение

Что такое линейная регрессия? Это метод прогнозного моделирования, который находит взаимосвязь между независимой (ыми) переменной (ами) и зависимой (ыми) переменной (ами) (которая является непрерывной переменной). независимая переменная (iv) может быть категориальной (например, США, Великобритания, 0/1) или непрерывной (1729, 3.141 и т. Д.), А зависимые переменные (dv) являются непрерывными. Базовые функции сопоставления iv и dv могут быть линейными, квадратичными, полиномиальными или другими нелинейными функциями (например, сигмовидной функцией в логистической регрессии), но эта статья по линейной технике.

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

Типы переменных

Категориальный: принимает разные значения: спам / не спам в электронной почте, диабет + ve / -ve.

Непрерывный: может принимать бесконечные значения, например деньги, время, вес.

Зависимый: результат эксперимента, домашние ценности в этом блоге.

Независимый: переменная, не зависящая от того, что делает исследователь. Площадь, расположение, # спальни и т. Д.

Чтобы получить дополнительную информацию, посетите: statistichowto.

Методы линейной регрессии

1. Обычный метод наименьших квадратов (OLS)

В OLS цель состоит в том, чтобы найти наиболее подходящую линию через точки данных. Линия наилучшего соответствия получается путем минимизации суммы квадратов расстояний данных от линии прогноза. Это объективная оценка (хотя дисперсия не сводится к минимуму), поскольку она сводит к минимуму систематическую ошибку для набора данных в этом пространстве наблюдения.

Ключевые предположения:

(i) OLS предполагает линейную зависимость dv и iv.

(ii) Предполагает гомоскедастичность. Следовательно, он страдает гетероскедастичностью. Короче говоря, это изменчивость зависимой переменной по отношению к независимой переменной при увеличении значения iv. Коническая форма на диаграмме рассеяния данных указывает на гетероскедастичность.

Например. прогнозирование цен на жилье, исходя только из площади дома (1 переменная), площади и местоположения дома (2 прогнозных переменных).

2. Многомерный случай

В многомерной OLS целевая функция остается такой же, как и для одной переменной OLS.

Ключевой проблемой многомерной МНК является мультиколлинеарность. Это состояние, при котором два или более предиктора имеют высокую корреляцию друг с другом (± 1 указывает на 100% корреляцию, 0 указывает на отсутствие корреляции).

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

3. Регрессия хребта

Как обсуждалось выше, когда данные страдают от мультиколлинеарности, несмещенная оценка, такая как OLS, имеет высокую ошибку из-за члена дисперсии. Риджевая регрессия решает эту проблему, вводя параметр α с элементом регуляризации L2 для уменьшения веса W в дополнение к наименьшим квадратичным потерям.

Предположение аналогично OLS, за исключением гомоскедастичности. Риджевая регрессия уменьшает значения коэффициентов, которые не сильно коррелированы (не совсем равны нулю).

4. Регрессия ЛАССО

Подобно гребневой регрессии, она решает проблему мультиколлинеарности с помощью регуляризации. Введение параметра усадки с нормой L1 для веса W помогает уменьшить ошибку дисперсии в регрессии LASSO.

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

Прогнозирование цен на жилье в Бостоне

Давайте погрузимся в кодирование моделей линейной регрессии. В этом посте мы собираемся работать с набором данных о ценах Boston House. Он состоит из 506 образцов с 13 функциями с ценами от 5.0 до 50.0.

Одномерная модель с использованием метода наименьших квадратов

Давайте построим нашу лучшую линию соответствия

Как вы можете ясно видеть, у нас есть модель прогнозирования с использованием sklearn и нескольких строк кода. Неплохо для одной особенности. Тем не менее, мы можем значительно улучшить среднеквадратическую ошибку (MSE) 54,926.

Многомерный метод наименьших квадратов

Подобен одномерному методу, за исключением того, что мы обучаем всем функциям X вместо одной функции. Так что просто скопируйте предыдущий фрагмент кода и строку комментария 3. Нам нужно проверить MSE и коэффициенты регрессии, чтобы понять, какая линия лучше всего подходит, потому что построение 13-мерных переменных еще не является распространенным явлением: /

Очевидно, что наша модель улучшает показатель MSE до 37,894 с 54,926. Поскольку имеется 13 функций, высока вероятность мультиколлинеарности. Чтобы проверить это, мы рассмотрим новую статистику под названием Коэффициент инфляции дисперсии (VIF).

ВИФ оценивает инфляцию в коэффициентах регрессии за счет мультиколлинеарности. VIF вычисляются путем взятия предиктора и его регрессии по отношению ко всем остальным предикторам в модели. Числовое значение для VIF показывает, какой процент отклонения завышен для каждого коэффициента. Как правило, VIF больше 5,0 указывает на сильно коррелированную переменную. Следовательно, эти сильно коррелированные переменные должны быть удалены для хорошей модели прогнозирования.

VIF для всех функций, кроме 3, очень высокий (VIF более 5,0 считается высоким). Таким образом, наши регуляризованные модели с регрессией Ridge и LASSO должны работать с этими данными лучше, чем обычные методы наименьших квадратов.

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

Два вывода: MSE уменьшается, а гребенчатая регрессия сжимает коэффициенты для X, близкие к нулю.

Регрессия ЛАССО

MSE улучшается еще больше до 21,669 с 38,894 по обычному методу наименьших квадратов. Это настоящая победа. Совершенно очевидно, что LASSO подталкивает коэффициенты к точному нулю для нескольких функций.

Вывод

В общем, мы увидели, как линейную регрессию можно реализовать в несколько строк кода с помощью библиотеки sklearn.

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

Удачного обучения :)

Дополнительный источник

  1. Https://etav.github.io/python/vif_factor_python.html