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.


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)


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)
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.