Регрессионный анализ
Что такое регрессионный анализ
Регрессионный анализ — это способ установить зависимость между одной переменной (обычно её называют зависимой или откликом, обозначается $y$) и одной или несколькими другими (их называют независимыми или факторами, обозначаются $x_1, x_2, \dots, x_n$).
Мы ищем модель — формулу, которая приближённо описывает, как $y$ зависит от $x$:
Где:
- $f(x_i)$ — это регрессионная функция (наша модель зависимости),
- $\varepsilon_i$ — случайная ошибка (остаток), то есть насколько наблюдаемое значение $y_i$ отличается от предсказанного моделью.
Что такое ε (эпсилон)
$\varepsilon_i$ — это всё, что модель не смогла учесть.
Это случайные колебания, шум, измерительная погрешность, индивидуальные особенности наблюдений и т.д.
Если упростить:
$\varepsilon_i$ показывает, насколько реальность отклонилась от нашей формулы.
При хорошем подборе модели ошибки $\varepsilon_i$:
- распределены случайно (без закономерностей),
- имеют среднее значение около нуля,
- не растут с увеличением $x$.
Что такое регрессионная модель
Регрессионная модель — это уравнение, связывающее $y$ и $x$.
Например:
- Линейная: $y = a + bx$
- Квадратичная: $y = a + bx + cx^2$
- Показательная: $y = ae^{bx}$
- Логарифмическая: $y = a + b\ln x$
- Степенная: $y = ax^b$
Главная цель — подобрать такие коэффициенты ($a$, $b$, $c$, …), чтобы модель наилучшим образом описывала данные.
Линейность по параметрам
Модель линейна по параметрам, если её можно записать так:
где $a_1, a_2, \dots, a_k$ — коэффициенты, которые мы ищем,
а $z_1, z_2, \dots, z_k$ — функции от исходных переменных.
Говорят, что функция линейна по параметрам, если она является линейной комбинацией этих параметров, то есть в каждом параметре стоит только первая степень, и они не перемножаются между собой и не входят под нелинейные операции (корень, экспонента, синус и т.п.).
Важно:
- Линейность — по параметрам, а не по $x$.
- То есть выражение может быть нелинейным по $x$, но линейным по коэффициентам.
Примеры:
- Линейна по параметрам: $y = a + bx + cx^2$
(коэффициенты $a$, $b$, $c$ входят линейно) - Нелинейна по параметрам: $y = a e^{bx}$
(параметр $b$ в показателе экспоненты, то есть нелинейно)
| Пример функции | Линейна по параметрам? | Причина |
|---|---|---|
| $y = a x + b$ | Да | Параметры в первой степени |
| $y = a x^2 + b x + c$ | Да | Всё линейно по $a,b,c$ |
| $y = a e^{b x}$ | Нет | $b$ в экспоненте |
| $y = a + b/x$ | Нет | $b$ в знаменателе |
| $y = a \sin x + b \cos x$ | Да | $a,b$ в первой степени |
| $y = a^2 x$ | Нет | $a$ во второй степени |
| $y = a_1 a_2 x$ | Нет | параметры перемножаются |
Как подбирают модель
- Смотрят на график данных.
Если точки расположены примерно вдоль прямой — пробуем линейную модель.
Если кривая — берём квадратичную, степенную, показательную и т.д. - Проверяют линейность по параметрам.
Если можно привести к виду $y = a_1 z_1 + a_2 z_2 + \dots$ — значит, можно применять метод наименьших квадратов (МНК). - Оценивают качество модели через коэффициент детерминации $R^2$ (см. ниже).
Метод наименьших квадратов (МНК)
Чтобы оценить параметры $a, b, c, \dots$, применяют метод наименьших квадратов (МНК).
Он ищет такие коэффициенты, при которых сумма квадратов ошибок минимальна:
Где $\hat{y}_i = f(x_i)$ — предсказанное моделью значение.
Для линейных по параметрам моделей это сводится к решению системы нормальных уравнений (СНУ).
Подробности их решения здесь не разбираем, но именно этот инструмент используется для нахождения коэффициентов.
Пример 1. Линейная регрессия
Дано:
| x | y |
|---|---|
| 1 | 2 |
| 2 | 3 |
| 3 | 5 |
| 4 | 4 |
| 5 | 6 |
Хотим найти модель $y = a + bx$.
Применим МНК, решим систему нормальных уравнений и найдём:
Итоговая модель:
Проверка:
Если $x = 4$, то $\hat{y} = 1.4 + 0.9 \cdot 4 = 5.0$ — неплохое приближение к реальному $y = 4$.
Пример 2. Квадратичная регрессия
Дано:
| x | y |
|---|---|
| 1 | 1 |
| 2 | 3 |
| 3 | 4 |
| 4 | 4 |
| 5 | 5 |
Модель: $y = a + bx + cx^2$.
Применим МНК, решим СНУ и найдём:
Модель:
Пример 3. Показательная регрессия
Дано:
| x | y |
|---|---|
| 1 | 2.7 |
| 2 | 7.4 |
| 3 | 20.1 |
| 4 | 54.6 |
Модель: $y = a e^{bx}$.
Чтобы применить МНК, прологарифмируем обе части:
Обозначим $Y = \ln y$, $A = \ln a$.
Тогда модель становится линейной по параметрам:
Применяем МНК, решаем систему, находим:
Тогда $a = e^{A} = e^{1.0} \approx 2.72$.
Итоговая модель:
Коэффициент детерминации ($R^2$)
Коэффициент детерминации показывает, насколько хорошо модель объясняет данные.
Формула:
Где:
- $\sum (y_i - \hat{y}_i)^2$ — сумма квадратов остатков (ошибок модели);
- $\sum (y_i - \bar{y})^2$ — общая дисперсия данных относительно среднего $\bar{y}$.
Смысл:
- $R^2$ показывает, какую долю изменчивости $y$ объясняет модель.
- Чем ближе $R^2$ к 1, тем лучше модель описывает данные.
- Если $R^2 = 0.9$, значит, модель объясняет 90% вариации данных, а 10% остаются “шумом”.
Интерпретация:
- $R^2 \approx 1$ — модель почти идеально описывает данные.
- $R^2 \approx 0$ — модель бесполезна, не объясняет зависимость.
- $R^2$ может даже быть отрицательным (если модель хуже, чем просто среднее $\bar{y}$).
Сводная таблица типов регрессий
| Тип модели | Уравнение | Как линеаризуется | Замечания |
|---|---|---|---|
| Линейная | $y = a + bx$ | — | Простая форма |
| Квадратичная | $y = a + bx + cx^2$ | — | Позволяет описывать кривизну |
| Кубическая | $y = a + bx + cx^2 + dx^3$ | — | Ещё гибче |
| Показательная | $y = a e^{bx}$ | $\ln y = \ln a + bx$ | Линеаризуется логарифмом |
| Степенная | $y = a x^b$ | $\ln y = \ln a + b\ln x$ | Подходит для степенных зависимостей |
| Логарифмическая | $y = a + b\ln x$ | — | Хороша при замедляющемся росте |
Итог
- Регрессионный анализ ищет формулу зависимости $y$ от $x$.
- Линейность по параметрам — ключевое свойство, которое позволяет применять МНК.
- МНК минимизирует сумму квадратов ошибок.
- Коэффициент детерминации $R^2$ показывает, насколько хорошо модель объясняет данные.
- Всегда важно анализировать остатки и подбирать форму модели осознанно, а не “на глаз”.