Коэффициент детерминации (R² или R-квадрат) — это одна из важнейших метрик в статистике и машинном обучении, которая показывает, какую долю дисперсии целевой переменной объясняет наша модель.

Что такое R² простыми словами?

Представьте, что вы пытаетесь предсказать цены на дома. Без какой-либо модели вашим лучшим прогнозом для любого дома будет средняя цена по всем домам. R² показывает, насколько ваша модель лучше этого простого среднего значения.

Основная идея:

R² = Доля дисперсии, объясненная моделью


Формула расчета

R² = 1 - (SS_res / SS_tot)

Где:

  • SS_res (Sum of Squares Residual) — сумма квадратов остатков: Σ(yᵢ - ŷᵢ)²
  • SS_tot (Sum of Squares Total) — общая сумма квадратов: Σ(yᵢ - ȳ)²
  • yᵢ — фактическое значение
  • ŷᵢ — предсказанное значение
  • ȳ — среднее значение целевой переменной

Интерпретация значений R²

Значение R² всегда находится в диапазоне от -∞ до 1:

  • R² = 1: Идеальная модель. Объясняет 100% дисперсии данных.
  • R² = 0: Модель не лучше простого предсказания средним значением.
  • R² < 0: Модель хуже, чем предсказание средним значением.
  • R² = 0.75: Модель объясняет 75% дисперсии данных.

Условные уровни качества:

  • 0.8 - 1.0: Отличное объяснение
  • 0.6 - 0.8: Хорошее объяснение
  • 0.4 - 0.6: Удовлетворительное объяснение
  • 0.2 - 0.4: Слабое объяснение
  • < 0.2: Практически нет объяснения

Подробный пример расчета

Допустим, у нас есть данные о продажах:

Факт (yᵢ)Прогноз (ŷᵢ)(yᵢ - ȳ)²(yᵢ - ŷᵢ)²
100105(100-130)² = 900(100-105)² = 25
120115(120-130)² = 100(120-115)² = 25
150145(150-130)² = 400(150-145)² = 25
150155(150-130)² = 400(150-155)² = 25

Среднее значение ȳ = (100+120+150+150)/4 = 130

Расчет:

  1. SS_tot = 900 + 100 + 400 + 400 = 1800
  2. SS_res = 25 + 25 + 25 + 25 = 100
  3. = 1 - (100 / 1800) = 1 - 0.0556 ≈ 0.944

Вывод: Наша модель объясняет 94.4% дисперсии в данных о продажах.


Преимущества R²

  1. Интуитивная интерпретация: Процент объясненной дисперсии понятен даже неспециалистам
  2. Стандартизированность: Значения всегда от -∞ до 1, что позволяет сравнивать модели
  3. Универсальность: Широко используется в статистике, эконометрике, машинном обучении
  4. Полезность для сравнения: Позволяет сравнивать разные модели на одном наборе данных

Недостатки и ограничения

1. Чувствительность к выбросам

Выбросы могут искусственно завышать или занижать R².

2. Автоматическое увеличение при добавлении признаков

R² всегда увеличивается (или не уменьшается) при добавлении любых переменных, даже бесполезных:

# Даже если добавить случайный шум, R² увеличится
R²(модель с 1 признаком) ≤ R²(модель с 2 признаками)

3. Не показывает адекватность модели

Высокий R² не гарантирует, что модель правильная:

  • Может быть пропущена важная нелинейность
  • Могут нарушаться предположения модели

4. Зависимость от дисперсии данных

На одном и том же уровне точности R² будет выше для данных с большей дисперсией.


Скорректированный R² (Adjusted R²)

Для решения проблемы автоматического роста при добавлении признаков используют скорректированный R²:

Adjusted R² = 1 - [(1 - R²) × (n - 1) / (n - k - 1)]

Где:

  • n — количество наблюдений
  • k — количество признаков

Преимущество: Штрафует за добавление незначимых признаков.


Когда использовать R²?

Используйте R² когда:

  • Нужно оценить общую объясняющую способность модели
  • Сравниваете несколько моделей на одном наборе данных
  • Объясняете результаты бизнес-аудитории

Дополняйте другими метриками когда:

  • Нужно понять величину ошибок в исходных единицах (используйте MAE, RMSE)
  • Работаете с временными рядами (используйте MASE, MAPE)
  • Есть проблема выбросов (используйте более устойчивые метрики)

Распространенные заблуждения

❌ “R² = 0.9 означает, что модель точна на 90%”

Правильно: R² показывает долю объясненной дисперсии, а не точность прогнозов.

❌ “Высокий R² всегда означает хорошую модель”

Правильно: Высокий R² может быть следствием переобучения или особенностей данных.

❌ “R² можно сравнивать между разными наборами данных”

Правильно: R² сравниваем только для разных моделей на одних и тех же данных.


Практические рекомендации

  1. Всегда смотрите на R² вместе с другими метриками (MAE, RMSE)
  2. Используйте скорректированный R² при работе с множественной регрессией
  3. Проверяйте остатки модели — они должны быть случайными
  4. Не гонитесь за максимальным R² — это может привести к переобучению

Резюме

Коэффициент детерминации R² — это фундаментальная метрика, которая отвечает на вопрос: “Какую долю вариации в данных объясняет моя модель?“.

Несмотря на ограничения, он остается одним из самых полезных инструментов для первоначальной оценки и сравнения моделей, особенно когда нужно понятно объяснить качество модели нетехнической аудитории.