如何获得黄土拟合的 R 平方?

机器算法验证 r r平方 黄土
2022-02-14 23:28:43

如何计算 R 中的 R 平方 ( ) 统计量和/或函数输出?例如对于这个数据:r2loesspredict

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

cars.lpfit有两个用于模型和se.fit标准误差的数组。

1个回答

我的第一个想法是计算R2度量,如下所示:

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

在这里,我们得到一个值 0.6814984 ( ),接近从GAM获得的值: cor(cars$dist, predict(cars.lo))^2

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

这似乎也与 Sloess函数将返回的内容一致(我没有 S,所以我无法自己检查) as Multiple R-squared例如,使用airqualityR 数据集,它看起来像airChambers 和 Hastie 在“白皮书”中使用的数据(在线帮助中引用的loess数据;但这不是完全相同的数据集),我得到了一个使用上述公式,这与钱伯斯和哈斯蒂的报道非常一致。R2

在此处输入图像描述

我应该注意到,我没有找到任何专门处理这个问题的论文(好吧,那只是一个快速的谷歌搜索),而且威廉克利夫兰在他的论文中没有谈到类似的度量R2

但是,我想知道您可以自由选择平滑度(或 window span)是否不排除使用基于的度量。R2