R-squared ($R^2$)

Обучение с учителем в R: регрессия

Nina Zumel and John Mount

Win-Vector LLC

Что такое $R^2$?

Мера того, насколько хорошо модель описывает данные

  • Значение от 0 до 1
    • близко к 1: модель хорошо подходит
    • близко к 0: не лучше угадывания среднего
Обучение с учителем в R: регрессия

Вычисление $R^2$

$R^2$ — это дисперсия, объяснённая моделью.

$$ R^2 = 1 - \frac{RSS}{SS_{Tot}} $$

где

  • $RSS = \sum{(y - prediction)^2}$
    • Остаточная сумма квадратов (дисперсия модели)
  • $SS_{Tot} = \sum{(y - \overline{y})^2}$
    • Общая сумма квадратов (дисперсия данных)
Обучение с учителем в R: регрессия

Вычисление $R^2$ модели цен на жильё: RSS

  • Вычислите ошибку
err <- houseprices$prediction - houseprices$price
  • Возведите в квадрат и просуммируйте
rss <- sum(err^2)
  • price: столбец фактических цен продажи (в тысячах)
  • pred: столбец прогнозируемых цен продажи (в тысячах)
  • $RSS \approx$ 136138
Обучение с учителем в R: регрессия

Вычисление $R^2$ модели цен на жильё: $SS_{Tot}$

  • Найдите отклонение цен от среднего
toterr <- houseprices$price - mean(houseprices$price)
  • Возведите в квадрат и просуммируйте
sstot <- sum(toterr^2)
  • $RSS \approx$ 136138
  • $SS_{Tot} \approx$ 713615
Обучение с учителем в R: регрессия

Вычисление $R^2$ модели цен на жильё

(r_squared <- 1 - (rss/sstot) )
0.8092278
  • $RSS \approx$ 136138
  • $SS_{Tot} \approx$ 713615
  • $R^2 \approx$ 0.809
Обучение с учителем в R: регрессия

Чтение $R^2$ из модели lm()

# From summary()
summary(hmodel)
...
Residual standard error: 60.66 on 37 degrees of freedom
Multiple R-squared:  0.8092, Adjusted R-squared:  0.7989 
F-statistic: 78.47 on 2 and 37 DF,  p-value: 4.893e-14
summary(hmodel)$r.squared
0.8092278
# From glance()
glance(hmodel)$r.squared
0.8092278
Обучение с учителем в R: регрессия

Корреляция и $R^2$

rho <- cor(houseprices$prediction, houseprices$price)
0.8995709
rho^2
0.8092278
  • $\rho$ = cor(prediction, price) = 0.8995709
  • $\rho^2$ = 0.8092278 = $R^2$
Обучение с учителем в R: регрессия

Корреляция и $R^2$

  • Верно для моделей, минимизирующих квадратичную ошибку:
    • Линейная регрессия
    • GAM-регрессия
    • Древовидные алгоритмы с минимизацией квадратичной ошибки
  • Верно для обучающих данных; НЕ верно для новых данных
Обучение с учителем в R: регрессия

Давайте потренируемся!

Обучение с учителем в R: регрессия

Preparing Video For Download...