【发布时间】:2017-12-17 11:40:07
【问题描述】:
为什么mgcv::gam.vcomp 显示与mgcv::ti 交互的两个方差分量?¨
我似乎在任何地方都找不到解释或字里行间的解释。可能是交互中的每个组件都归因于差异吗?
require(mgcv)
test1 <- function(x,z,sx=0.3,sz=0.4) {
x <- x*20
(pi**sx*sz)*(1.2*exp(-(x-0.2)^2/sx^2-(z-0.3)^2/sz^2)+
0.8*exp(-(x-0.7)^2/sx^2-(z-0.8)^2/sz^2))
}
n <- 500
old.par <- par(mfrow=c(2,2))
x <- runif(n)/20;z <- runif(n);
xs <- seq(0,1,length=30)/20;zs <- seq(0,1,length=30)
pr <- data.frame(x=rep(xs,30),z=rep(zs,rep(30,30)))
truth <- matrix(test1(pr$x,pr$z),30,30)
f <- test1(x,z)
y <- f + rnorm(n)*0.2
b3 <- gam(y~ ti(x) + ti(z) + ti(x,z))
b3s <- gam(y~ ti(x) + ti(z) + s(x,z)) # describing the itneraction with s().
我知道我们在这里混合了苹果和橘子。
gam.vcomp(b3)
ti(x) ti(z) ti(x,z)1 ti(x,z)2
0.06609731 0.01476070 0.08834218 0.05700322
gam.vcomp(b3s)
ti(x) ti(z) s(x,z)
0.1623056 2.4870344 7.7484987
【问题讨论】:
-
?mgcv::gam.vcomp说“请注意,张量积平滑也返回方差分量,但它们的解释并不那么简单。” ...我不知道其中的参考资料或伍德的书是否会有所帮助... -
感谢您的回复,我希望有人设法阐明更多信息。我在这些参考资料中找不到任何东西。也许在他的书的第 2 版中有详细说明。
-
我唯一的其他建议是开始深入研究代码;这至少会告诉你正在进行什么计算,尽管它可能对解释没有帮助。
标签: r interaction gam mgcv