Jak uzyskać R-kwadrat dla lepszego dopasowania?

15

Jak obliczyć statystyki R-kwadrat ( ) w R dla i / lub wyniku funkcji? Na przykład dla tych danych:r2loesspredict

cars.lo <- loess(dist ~ speed, cars)
cars.lp <- predict(cars.lo, data.frame(speed = seq(5, 30, 1)), se = TRUE)

cars.lpma dwie tablice fitdla modelu i se.fitstandardowego błędu.

Jurij Pietrowski
źródło
R2)

Odpowiedzi:

10

R2)

ss.dist <- sum(scale(cars$dist, scale=FALSE)^2)
ss.resid <- sum(resid(cars.lo)^2)
1-ss.resid/ss.dist

cor(cars$dist, predict(cars.lo))^2

library(mgcv)
summary(gam(dist ~ speed, data=cars))

loessMultiple R-squaredairqualityairloessR2

wprowadź opis zdjęcia tutaj

R2

spanR2)

chl
źródło
8
R2R2
r2
3
Niekoniecznie „dokładniejsze”. Rzeczywiście, użycie Loess do osiągnięcia dokładności w modelu predykcyjnym byłoby nierozsądne. Myślę, że odniesienie do Loess jako „modelu” niesie ze sobą możliwe nieporozumienie dotyczące tego, jak to działa i jak ma być używany: jest to tak naprawdę graficzne narzędzie eksploracyjne pomagające dostrzec wzorce i trendy. Ponieważ jest to tak naprawdę tylko płynniejsze okno ruchome, działa jako dość skomplikowany model sąsiedztwa przestrzennego, w którym dopasowana wartość w punkcie zależy od tego, które sąsiednie punkty istnieją w zbiorze danych i od tam zawartych wartości.
whuber
2
r2)