Полиномиальная регрессия
Полиномиальная регрессия — это частный случай множественной линейной регрессии, в которой зависимость между независимой переменной \( x \) и зависимой переменной \( y \) моделируется полиномом (многочленом) \( n \)-й степени. Несмотря на то, что модель является нелинейной по отношению к исходной переменной \( x \), она остаётся линейной по параметрам (коэффициентам), что позволяет применять для её оценки стандартные методы линейной регрессии, такие как метод наименьших квадратов (МНК). Полиномиальная регрессия широко используется для аппроксимации данных, демонстрирующих нелинейные тренды, в различных областях науки, техники и экономики.
Математическая формулировка
Общий вид модели
Общая форма полиномиальной регрессионной модели с одной независимой переменной \( x \) и степенью полинома \( n \) записывается как:
\[ y = \beta_0 + \beta_1 x + \beta_2 x^2 + \beta_3 x^3 + \dots + \beta_n x^n + \varepsilon \]
где:
- \( y \) — зависимая переменная (отклик);
- \( x \) — независимая переменная (предиктор);
- \( \beta_0, \beta_1, \dots, \beta_n \) — коэффициенты модели (параметры);
- \( \varepsilon \) — случайная ошибка (шум), обычно предполагаемая нормально распределённой с нулевым математическим ожиданием.
Линейность по параметрам
Ключевое свойство полиномиальной регрессии — её линейность относительно коэффициентов \( \beta \). Если ввести новые переменные \( x_1 = x, x_2 = x^2, \dots, x_n = x^n \), то модель принимает вид множественной линейной регрессии:
\[ y = \beta_0 + \beta_1 x_1 + \beta_2 x_2 + \dots + \beta_n x_n + \varepsilon \]
Это позволяет использовать стандартные методы оценки, такие как МНК, для нахождения коэффициентов. При этом сама функция \( y(x) \) является нелинейной по \( x \), что даёт возможность моделировать криволинейные зависимости.
Выбор степени полинома
Степень полинома \( n \) является гиперпараметром модели. Выбор оптимальной степени — ключевая задача, решаемая с помощью компромисса между смещением (bias) и дисперсией (variance):
- Низкая степень (например, \( n = 1 \) — линейная регрессия) может привести к недообучению (underfitting), когда модель не способна уловить сложные нелинейные закономерности.
- Высокая степень (например, \( n > 5 \) при малом объёме данных) может привести к переобучению (overfitting), когда модель подстраивается под случайный шум в данных, теряя обобщающую способность.
На практике степень полинома редко превышает 3–5, так как полиномы высоких порядков склонны к осцилляциям на краях интервала и неустойчивости.
Оценка параметров
Метод наименьших квадратов
Для оценки коэффициентов \( \beta \) используется метод наименьших квадратов. Минимизируется сумма квадратов остатков:
\[ S = \sum_{i=1}^{m} \left( y_i - \sum_{j=0}^{n} \beta_j x_i^j \right)^2 \rightarrow \min \]
где \( m \) — количество наблюдений. Решение находится путём решения системы нормальных уравнений:
\[ \mathbf{\beta} = (\mathbf{X}^T \mathbf{X})^{-1} \mathbf{X}^T \mathbf{y} \]
где \( \mathbf{X} \) — матрица плана размерности \( m \times (n+1) \), содержащая степени \( x \) для каждого наблюдения, \( \mathbf{y} \) — вектор откликов.
Проблемы при оценке
- Мультиколлинеарность: Степени \( x, x^2, \dots, x^n \) часто сильно коррелированы между собой, особенно при больших \( n \). Это может привести к неустойчивости оценок МНК. Для смягчения проблемы применяют центрирование и масштабирование переменных, а также регуляризацию (например, гребневую регрессию или LASSO).
- Численная неустойчивость: При высоких степенях полинома и больших значениях \( x \) матрица \( \mathbf{X}^T \mathbf{X} \) может быть плохо обусловлена. Для повышения устойчивости используют ортогональные полиномы (например, полиномы Чебышёва или Лежандра).
Диагностика модели
Оценка качества
Качество подгонки полиномиальной регрессии оценивается с помощью стандартных метрик:
- Коэффициент детерминации \( R^2 \): показывает долю дисперсии зависимой переменной, объяснённую моделью. Однако \( R^2 \) всегда увеличивается с ростом степени полинома, поэтому для сравнения моделей с разным числом параметров используют скорректированный \( R^2 \).
- Среднеквадратичная ошибка (MSE, RMSE): мера среднего квадрата отклонений предсказанных значений от фактических.
- Информационные критерии (AIC, BIC): позволяют выбирать модель, штрафуя за излишнюю сложность.
Проверка остатков
Для проверки адекватности модели анализируют остатки (разности между фактическими и предсказанными значениями). Остатки должны быть:
- Случайными (отсутствие автокорреляции);
- Гомоскедастичными (постоянная дисперсия);
- Приближённо нормально распределёнными (для построения доверительных интервалов и проверки гипотез).
Нарушение этих условий может указывать на неправильный выбор степени полинома или наличие выбросов.
Применение
Наука и техника
- Физика и химия: Аппроксимация экспериментальных данных, например, зависимости скорости реакции от температуры (уравнение Аррениуса) или калибровочные кривые приборов.
- Биология и медицина: Моделирование роста организмов, дозозависимых эффектов лекарств, кривых выживаемости.
- Инженерия: Описание механических характеристик материалов (например, кривых напряжение-деформация), обработка сигналов.
Экономика и финансы
- Анализ временных рядов: Моделирование нелинейных трендов в экономических показателях (ВВП, инфляция, цены на активы).
- Оценка издержек: Аппроксимация кривых средних и предельных издержек производства.
Машинное обучение
Полиномиальная регрессия часто используется как базовый метод для демонстрации концепции переобучения и регуляризации. В современных библиотеках машинного обучения (например, scikit-learn в Python) она реализуется путём добавления полиномиальных признаков через PolynomialFeatures с последующим применением линейной регрессии.
Ограничения и альтернативы
Недостатки
- Плохая экстраполяция: Полиномы высоких степеней ведут себя нестабильно за пределами диапазона обучающих данных, что делает их непригодными для прогнозирования далеко в будущее или в прошлое.
- Осцилляции: При больших \( n \) полиномы могут сильно колебаться между точками данных (феномен Рунге), особенно при равномерной сетке узлов.
- Интерпретируемость: Коэффициенты полинома редко имеют прямой физический или экономический смысл, что затрудняет интерпретацию модели.
Альтернативные методы
- Сплайновая регрессия: Использование кусочно-полиномиальных функций (сплайнов) с узлами, что позволяет избежать осцилляций и улучшить локальную аппроксимацию.
- Локальная регрессия (LOESS): Непараметрический метод, оценивающий зависимость в каждой точке с помощью взвешенной регрессии по ближайшим соседям.
- Обобщённые аддитивные модели (GAM): Расширение, в котором зависимость от каждого предиктора моделируется гладкой нелинейной функцией, включая полиномы и сплайны.
Пример в машинном обучении (Python)
В библиотеке scikit-learn полиномиальная регрессия реализуется через комбинацию PolynomialFeatures и LinearRegression:
```python from sklearn.preprocessing import PolynomialFeatures from sklearn.linear_model import LinearRegression from sklearn.pipeline import make_pipeline
Создание модели полиномиальной регрессии степени 3
model = make_pipeline(PolynomialFeatures(degree=3), LinearRegression()) model.fit(X_train, y_train) y_pred = model.predict(X_test) ```
Источники
- Дрейпер Н., Смит Г. «Прикладной регрессионный анализ». — М.: Вильямс, 2007.
- Hastie T., Tibshirani R., Friedman J. «The Elements of Statistical Learning». — Springer, 2009.
- Seber G.A.F., Lee A.J. «Linear Regression Analysis». — Wiley, 2003.
- Montgomery D.C., Peck E.A., Vining G.G. «Introduction to Linear Regression Analysis». — Wiley, 2012.
BFOmetr — база данных и аналитика по компаниям России.
На главную BFOmetr →