Como obter um R-quadrado para um ajuste menor?

15

Como calcular a estatística do quadrado R ( r2 ) em R para loesse / ou predictsaída da função? Por exemplo para esses dados:

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

cars.lppossui duas matrizes fitpara modelo e se.fitpara erro padrão.

Yuriy Petrovskiy
fonte
Na regressão linear é igual à correlação quadrático entre os valores observados e os valores ajustados - como sobre isso? R2
Macro

Respostas:

10

Meu primeiro pensamento foi calcular uma pseudo R2 medida da seguinte maneira:

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

Aqui, obtemos um valor de 0,6814984 ( ), próximo ao que seria obtido de um GAM : cor(cars$dist, predict(cars.lo))^2

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

Isso também parece estar de acordo com o que a loessfunção S retornaria (eu não tenho S, portanto não posso verificar sozinho) como Multiple R-squared. Por exemplo, usando o airqualityconjunto de dados R, que se parece com os airdados que Chambers e Hastie usaram no 'livro branco' (aquele que está sendo referenciado na ajuda on-line para loess; mas esse não é exatamente o mesmo conjunto de dados), recebi um de 0,8101377 usando a fórmula acima. Isso está de acordo com o que Chambers e Hastie relataram.R2

insira a descrição da imagem aqui

Devo observar que eu não encontrou qualquer papel lidar especificamente com isso (ok, isso foi apenas um googling rápida), e não William Cleveland não falar de -como medida em seu papel .R2

spanR2

chl
fonte
8
R2R2
r2
3
Não necessariamente "mais preciso". De fato, usar Loess para obter precisão em um modelo preditivo seria imprudente. Eu acho que me referir a Loess como um "modelo" transmite um possível mal-entendido sobre como ele funciona e como se destina a ser usado: é realmente uma ferramenta gráfica e exploratória para ajudar a ver padrões e tendências. Por ser realmente apenas uma janela móvel mais suave, ela atua como um modelo de vizinhança espacial bastante complicado, no qual o valor ajustado em um ponto depende de quais pontos vizinhos existem no conjunto de dados e nos valores existentes.
whuber
2
r2