Теория вероятности

Линейная регрессия

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

Модель

y = b₀ + b₁·x₁ + b₂·x₂ + … + bₖ·xₖ + ε
  • y — зависимая (целевая) переменная, x — объясняющие переменные (признаки).
  • b₀ — свободный член: прогноз при всех x = 0. Часто такой точки не бывает в жизни (возраст 0, вес 0), и b₀ не имеет смысла сам по себе.
  • Коэффициенты подбираются методом наименьших квадратов: минимизируется сумма квадратов ошибок Σ(yᵢ − ŷᵢ)².

Интерпретация коэффициента

bⱼ — на сколько в среднем изменится y, если xⱼ увеличить на одну единицу, а остальные признаки не менять.

Пример

стоимость_ремонта = 2000 + 500·часов + 300·деталей + 1000·срочно. Коэффициент 500 значит, что каждый лишний час работы в среднем добавляет 500 ₽ при том же числе деталей и той же срочности.

Ловушки

  • Следите за единицами измерения. Если y в тысячах долларов, коэффициент 0,8 — это 800 долларов.
  • Величина коэффициента не говорит о важности признака: она зависит от единиц. Коэффициент 0,02 на площадь в квадратных метрах может значить больше, чем 0,3 на класс отеля.
  • Без отдельного обоснования коэффициент — это связь, а не причинный эффект.

Фиктивные (дамми) переменные

Бинарный признак кодируют 0 и 1 (мужчина = 1, женщина = 0). Его коэффициент — средняя разница y между группой «1» и группой «0» при прочих равных.

У категории с k значениями заводят k−1 дамми. Одна категория остаётся базовой, и каждый коэффициент — это разница с ней.

Порядковые признаки

Если «класс отеля» закодирован числами 1, 2, 3 и стоит в модели как одно число, модель считает, что переход 1→2 и переход 2→3 дают одинаковую прибавку. Это сильное предположение. Отдельные дамми для каждого уровня его не делают.

Взаимодействия

Произведение признаков позволяет эффекту одного зависеть от другого:

y = 10 + 2·x + 3·d + 0,5·d·x
  • При d = 0 наклон по x равен 2, при d = 1 — 2 + 0,5 = 2,5.
  • Разница между группами d = 1 и d = 0 при данном x равна 3 + 0,5·x. При x = 4 это 3 + 2 = 5.

Типичная задача

«Найдите разницу в ожидаемом значении между двумя группами». Подставьте значения признаков каждой группы в уравнение и вычтите. Всё, что у групп одинаково (возраст, свободный член), сократится. Останутся слагаемые с переменной, которая их различает, и её взаимодействия.

Квадратичные члены

y = … + b₁·age + b₂·age²

Эффект возраста теперь зависит от возраста: Δy/Δage ≈ b₁ + 2·b₂·age. При b₂ < 0 это «горб» с максимумом в точке age* = −b₁ / (2·b₂). Например, у 0,5·age − 0,01·age² максимум в 25 годах.

Логарифмы

МодельКак читать b
y = b·xx +1 единица → y + b единиц
ln y = b·xx +1 единица → y + ≈100·b %
y = b·ln xx +1% → y + ≈b/100 единиц
ln y = b·ln xx +1% → y + ≈b % (эластичность)

Качество модели и значимость

  • R² — доля разброса y, объяснённая моделью, от 0 до 1. При добавлении признаков R² не уменьшается, поэтому «R² вырос» ещё не значит, что модель стала лучше. Скорректированный R² штрафует за лишние признаки.
  • Значимость коэффициента: если p-value < 0,05, гипотеза b = 0 отвергается на 5% уровне. Незначимый коэффициент значит «не смогли отличить от нуля», а не «точно ноль».
  • Пропущенная переменная. Если важный фактор не включён и он связан с x, коэффициент при x «впитывает» его влияние и становится смещённым. Добавили район — коэффициент при площади квартиры изменился: значит, район был связан и с площадью, и с ценой.
  • Мультиколлинеарность — сильно связанные признаки (возраст и стаж). Коэффициенты становятся неустойчивыми, а их стандартные ошибки большими.
  • Экстраполяция. Прогноз за пределами диапазона данных ненадёжен.

Ещё примеры

цена_билета (тыс. ₽) = 5 + 0,8·часов_полёта + 3·бизнес + 0,5·бизнес·часов_полёта. Насколько бизнес-класс дороже эконома при перелёте на 4 часа?

3 + 0,5·4 = 5 тыс. ₽ = 5000 ₽.

ln(цена) = 12 − 0,08·возраст_телефона. Как меняется цена с каждым годом возраста?

Примерно на −8% в год. Точно: e^(−0,08) − 1 ≈ −7,7%.