R-squared ($R^2$)

Supervised Learning in R: Regression

Nina Zumel and John Mount

Win-Vector LLC

Co je $R^2$?

Míra toho, jak dobře model odpovídá datům nebo je vysvětluje

  • Hodnota v rozsahu 0–1
    • blízko 1: model dobře přiléhá
    • blízko 0: není lepší než odhad průměru
Supervised Learning in R: Regression

Výpočet $R^2$

$R^2$ je variabilita vysvětlená modelem.

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

kde

  • $RSS = \sum{(y - prediction)^2}$
    • Reziduální součet čtverců (variabilita modelu)
  • $SS_{Tot} = \sum{(y - \overline{y})^2}$
    • Celkový součet čtverců (variabilita dat)
Supervised Learning in R: Regression

Výpočet $R^2$ modelu cen domů: RSS

  • Výpočet chyby
err <- houseprices$prediction - houseprices$price
  • Umocnění a součet
rss <- sum(err^2)
  • price: sloupec skutečných prodejních cen (v tisících)
  • pred: sloupec předpovězených prodejních cen (v tisících)
  • $RSS \approx$ 136138
Supervised Learning in R: Regression

Výpočet $R^2$ modelu cen domů: $SS_{Tot}$

  • Rozdíl cen od průměrné ceny
toterr <- houseprices$price - mean(houseprices$price)
  • Umocnění a součet
sstot <- sum(toterr^2)
  • $RSS \approx$ 136138
  • $SS_{Tot} \approx$ 713615
Supervised Learning in R: Regression

Výpočet $R^2$ modelu cen domů

(r_squared <- 1 - (rss/sstot) )
0.8092278
  • $RSS \approx$ 136138
  • $SS_{Tot} \approx$ 713615
  • $R^2 \approx$ 0.809
Supervised Learning in R: Regression

Čtení $R^2$ z modelu 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
Supervised Learning in R: Regression

Korelace a $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$
Supervised Learning in R: Regression

Korelace a $R^2$

  • Platí pro modely minimalizující čtvercovou chybu:
    • Lineární regrese
    • GAM regrese
    • Stromové algoritmy minimalizující čtvercovou chybu
  • Platí pro trénovací data; NEPLATÍ pro nová aplikační data
Supervised Learning in R: Regression

Pojďme procvičovat!

Supervised Learning in R: Regression

Preparing Video For Download...