Регрессионный анализ

Что такое регрессионный анализ

Регрессионный анализ — это способ установить зависимость между одной переменной (обычно её называют зависимой или откликом, обозначается $y$) и одной или несколькими другими (их называют независимыми или факторами, обозначаются $x_1, x_2, \dots, x_n$).

Мы ищем модель — формулу, которая приближённо описывает, как $y$ зависит от $x$:

\[ y_i = f(x_i) + \varepsilon_i \]

Где:

  • $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$, …), чтобы модель наилучшим образом описывала данные.

Линейность по параметрам

Модель линейна по параметрам, если её можно записать так:

\[ y = a_1 z_1 + a_2 z_2 + \dots + a_k z_k + \varepsilon \]

где $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$ Нет параметры перемножаются

Как подбирают модель

  1. Смотрят на график данных.
    Если точки расположены примерно вдоль прямой — пробуем линейную модель.
    Если кривая — берём квадратичную, степенную, показательную и т.д.
  2. Проверяют линейность по параметрам.
    Если можно привести к виду $y = a_1 z_1 + a_2 z_2 + \dots$ — значит, можно применять метод наименьших квадратов (МНК).
  3. Оценивают качество модели через коэффициент детерминации $R^2$ (см. ниже).

Метод наименьших квадратов (МНК)

Чтобы оценить параметры $a, b, c, \dots$, применяют метод наименьших квадратов (МНК).

Он ищет такие коэффициенты, при которых сумма квадратов ошибок минимальна:

\[ S = \sum_{i=1}^{n} (y_i - \hat{y}_i)^2 \to \min \]

Где $\hat{y}_i = f(x_i)$ — предсказанное моделью значение.

Для линейных по параметрам моделей это сводится к решению системы нормальных уравнений (СНУ).
Подробности их решения здесь не разбираем, но именно этот инструмент используется для нахождения коэффициентов.


Пример 1. Линейная регрессия

Дано:

x y
1 2
2 3
3 5
4 4
5 6

Хотим найти модель $y = a + bx$.

Применим МНК, решим систему нормальных уравнений и найдём:

\[ a = 1.4,\quad b = 0.9 \]

Итоговая модель:

\[ \hat{y} = 1.4 + 0.9x \]

Проверка:
Если $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$.

Применим МНК, решим СНУ и найдём:

\[ a = 0.9,\quad b = 1.0,\quad c = -0.1 \]

Модель:

\[ \hat{y} = 0.9 + 1.0x - 0.1x^2 \]

Пример 3. Показательная регрессия

Дано:

x y
1 2.7
2 7.4
3 20.1
4 54.6

Модель: $y = a e^{bx}$.

Чтобы применить МНК, прологарифмируем обе части:

\[ \ln y = \ln a + bx \]

Обозначим $Y = \ln y$, $A = \ln a$.

Тогда модель становится линейной по параметрам:

\[ Y = A + bx \]

Применяем МНК, решаем систему, находим:

\[ A = 1.0,\quad b = 0.9 \]

Тогда $a = e^{A} = e^{1.0} \approx 2.72$.

Итоговая модель:

\[ \hat{y} = 2.72 e^{0.9x} \]

Коэффициент детерминации ($R^2$)

Коэффициент детерминации показывает, насколько хорошо модель объясняет данные.

Формула:

\[ R^2 = 1 - \frac{\sum (y_i - \hat{y}_i)^2}{\sum (y_i - \bar{y})^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$ показывает, насколько хорошо модель объясняет данные.
  • Всегда важно анализировать остатки и подбирать форму модели осознанно, а не “на глаз”.