我正在学习广义加法模型 (GAMS),并在多个位置发现了一个声明,即具有一个自变量的 GAM 与双变量 LOESS 回归相同。这种说法正确吗?
loess
使用baseR
中的gam
函数和R
package中的函数,我一直无法获得相同的答案mgcv
。这是 2009 年另一个论坛上类似问题的链接:http ://r.789695.n4.nabble.com/Difference-between-gam-and-loess-td881045.html
下面是我的R
代码,我根据上面链接中提供的代码进行了修改。中的gam
函数R
有许多选项。如果具有一个自变量的 GAM 与双变量 LOESS 回归相同,有人可以提供所需的选项设置吗?span
我已经在函数中尝试了广泛的值,loess
并且只显示了一些。
感谢您的任何建议或帮助。
library(mgcv)
set.seed(1234)
# generate data
x <- sort(runif(100))
y <- sin(2*pi*x) + rnorm(10, sd=0.1)
mgcv.1 <- gam(y ~ s(x), family=gaussian(), weights=NULL, subset=NULL,
offset=NULL, method = "GCV.Cp",
optimizer=c("outer", "newton"), control=list(), scale=0,
select=FALSE, knots=NULL, sp=NULL, min.sp=NULL, H=NULL, gamma=1,
fit=TRUE, paraPen=NULL, G=NULL, drop.unused.levels=TRUE,
bs="cr")
base.r <- loess(y ~ x, degree=1, span=0.50) ; summary(base.r$fitted - mgcv.1$fitted)
base.r <- loess(y ~ x, degree=1, span=0.75) ; summary(base.r$fitted - mgcv.1$fitted)
base.r <- loess(y ~ x, degree=2, span=0.50) ; summary(base.r$fitted - mgcv.1$fitted)
base.r <- loess(y ~ x, degree=2, span=0.75) ; summary(base.r$fitted - mgcv.1$fitted)
编辑
根据此处链接的讲义:
http://polisci.msu.edu/jacoby/icpsr/regress3/lectures/week4/16.GAM.pdf
中的gam
函数mgcv
仅适合平滑样条曲线,但可以在 中完成局部多项式回归S-PLUS
。也许这就是为什么我无法获得与mgcv
使用该loess
功能相同的答案的原因?也许另一个 GAM 包R
确实允许局部多项式回归?