Лекция 4. Линейная регрессия и регуляризованные модели

Цель лекции. Изучить принципы линейной регрессии, научиться интерпретировать коэффициенты и оценивать ошибки. Рассмотреть метод наименьших квадратов, Ridge, Lasso и влияние регуляризации на качество прогнозов.

Ключевые понятия: линейная регрессия, коэффициенты, остатки, OLS, MAE, MSE, R², Ridge, Lasso, мультиколлинеарность, смещение и дисперсия.

1. Линейная регрессия: назначение и принцип работы

Линейная регрессия (Linear Regression) — алгоритм обучения с учителем для прогнозирования числовых значений: стоимости квартиры, объёма продаж, расхода электроэнергии и других показателей.

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

Для нескольких признаков:

Здесь ŷᵢ — прогноз для наблюдения i; xᵢⱼ — значение признака j; βⱼ — коэффициент признака; β₀ — свободный коэффициент; d — количество признаков.

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

Пример интерпретации

Предположим, цена квартиры измеряется в миллионах условных единиц, а площадь — в квадратных метрах:

Для площади 60 м² прогноз равен 8 + 0,45 × 60 = 35 миллионов условных единиц. Коэффициент 0,45 описывает изменение прогнозируемой цены при увеличении площади на 1 м². Свободный коэффициент 8 — математический прогноз при нулевой площади; его содержательная интерпретация может отсутствовать. Статистическая связь сама по себе не доказывает причинность.

2. Метод наименьших квадратов и ошибки прогнозирования

При обучении требуется определить коэффициенты, обеспечивающие близость прогнозов к фактическим значениям. Остаток — разность между фактическим значением и прогнозом:

Положительный остаток означает заниженный прогноз, отрицательный — завышенный. Метод наименьших квадратов (OLS) минимизирует сумму квадратов остатков:

Здесь n — число наблюдений. Квадраты не позволяют положительным и отрицательным ошибкам взаимно компенсироваться и сильнее штрафуют большие отклонения.

Основные метрики качества

MAE — средняя абсолютная ошибка, выраженная в тех же единицах, что и целевая переменная:

MSE — средняя квадратичная ошибка, особенно чувствительная к большим отклонениям:

Коэффициент детерминации R² сравнивает модель с базовым прогнозом средним фактическим значением:

Здесь ȳ — среднее фактических значений. При непостоянной целевой переменной R² = 1 соответствует идеальным прогнозам; R² = 0 — качеству прогноза средним; R² < 0 — результату хуже такого прогноза. Окончательное качество оценивают на данных, не участвовавших в обучении.

3. Ограничения обычной линейной регрессии

Линейность

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

Выбросы

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

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

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

4. Регуляризация: Ridge и Lasso

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

Ridge: L2-регуляризация

Ridge использует штраф за сумму квадратов коэффициентов:

Здесь λ ≥ 0 — сила регуляризации; свободный коэффициент β₀ в штраф не включён. Ridge уменьшает абсолютные значения коэффициентов и часто помогает при коррелирующих признаках. Обычно коэффициенты не становятся точно нулевыми.

Lasso: L1-регуляризация

Lasso использует штраф за сумму абсолютных значений коэффициентов:

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

Характеристика

Linear Regression

Ridge

Lasso

Регуляризация

Нет

L2

L1

Коэффициенты

Без штрафа

Сжимаются

Могут обнуляться

Преимущество

Простота

Устойчивость

Отбор признаков

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

5. Смещение и дисперсия

Смещение (bias) — систематическая ошибка из-за ограничений модели. Слишком простая модель может не улавливать важную зависимость. Дисперсия (variance) — чувствительность модели к изменению обучающих данных: при высокой дисперсии прогнозы могут заметно меняться от выборки к выборке.

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

6. Практическая реализация на Python

Библиотека scikit-learn позволяет сравнить обычную линейную регрессию, Ridge и Lasso на одном наборе данных.

from sklearn.datasets import make_regression
from sklearn.model_selection import train_test_split
from sklearn.pipeline import make_pipeline
from sklearn.preprocessing import StandardScaler
from sklearn.linear_model import LinearRegression, Ridge, Lasso
from sklearn.metrics import mean_squared_error, r2_score

X, y = make_regression(n_samples=200, n_features=5,
                       noise=15, random_state=42)
X_train, X_test, y_train, y_test = train_test_split(
    X, y, test_size=0.2, random_state=42)

models = {"Linear Regression": LinearRegression(),
          "Ridge": Ridge(alpha=1.0),
          "Lasso": Lasso(alpha=1.0)}

for name, estimator in models.items():
    model = make_pipeline(StandardScaler(), estimator)
    model.fit(X_train, y_train)
    predictions = model.predict(X_test)
    print(name)
    print("MSE:", mean_squared_error(y_test, predictions))
    print("R2:", r2_score(y_test, predictions))
    print("Coefficients:", model[-1].coef_)

Данные разделяются на обучающую и тестовую выборки. Для каждой модели вычисляются MSE, R² и коэффициенты. StandardScaler включён в Pipeline, чтобы масштабирование обучалось только на тренировочных данных. Параметр alpha управляет силой регуляризации; его числовая связь с λ зависит от нормировки функции потерь в конкретной реализации.

При сравнении моделей важно не только найти минимальную ошибку, но и объяснить, как регуляризация изменила коэффициенты.

7. Практическое значение и выводы

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

Ridge уменьшает коэффициенты и часто повышает их устойчивость. Lasso может обнулять коэффициенты и выполнять отбор признаков. Подходящий метод выбирают по качеству на независимых данных и требованиям конкретной задачи.

Главный результат лекции: понимание принципов обучения линейной регрессии, оценки ошибок и различий между Linear Regression, Ridge и Lasso.