R-квадрат ($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...