当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


R gam.side GAM 的可识别性边条件


R语言 gam.side 位于 mgcv 包(package)。

说明

具有重复变量的 GAM 公式可能仅对应于给定某些附带条件的可识别模型。该例程基于将冗余参数归零来计算出适当的辅助条件。它是从 mgcv:::gam.setup 调用的,不适合由用户调用。

该方法通过名称识别嵌套和重复的变量,但以数字方式评估需要施加哪些约束。约束总是优先应用于较多变量的平滑,而不是较少变量的平滑。数值方法允许将适当的约束应用于使用任何平滑(包括用户定义的平滑)构建的模型。

用法

gam.side(sm,Xp,tol=.Machine$double.eps^.5,with.pen=FALSE)

参数

sm

smooth.construct 返回的平滑对象列表。

Xp

严格参数化模型组件的模型矩阵。

tol

评估平滑的线性相关性时使用的公差。

with.pen

依赖性的计算是否应该考虑惩罚。这样做会减少限制。

细节

诸如 y~s(x)+s(z)+s(x,z) 之类的模型可以通过 gam 进行估计,但需要应用可识别性约束,以使它们可识别。该例程执行此操作,有效地将冗余参数设置为零。当冗余存在于较少数量变量和较多数量变量的平滑之间时,约束始终应用于较多数量变量的平滑。

从属平滑以符号方式进行标识,但需要哪些约束来确保这些平滑的可识别性是使用 fixDependence 以数字方式确定的。这使得例程相当通用,并且不依赖于任何特定基础。

Xp 用于检查模型中是否存在常数项(或可以线性组合以给出常数的列)。这是因为,如果模型中存在常数,则中心平滑可能会显得独立,而实际上它们会是相关的,因此相关性测试需要考虑到这一点。

平滑列表,其中模型矩阵和惩罚矩阵经过调整以自动施加所需的约束。任何已修改的平滑都将具有属性 "del.index" ,列出其模型矩阵中已删除的列。该索引用于创建该术语的预测矩阵。

警告

使用 y~s(x)+s(z)+ti(x,z)y~ti(x)+ti(z)+ti(x,z) 等模型而不是 y~s(x)+s(z)+s(x,z) 可以获得更好的统计稳定性,因为前者被设计为不需要进一步的约束。

例子

## The first two examples here iluustrate models that cause
## gam.side to impose constraints, but both are a bad way 
## of estimating such models. The 3rd example is the right
## way.... 
set.seed(7)
require(mgcv)
dat <- gamSim(n=400,scale=2) ## simulate data
## estimate model with redundant smooth interaction (bad idea).
b<-gam(y~s(x0)+s(x1)+s(x0,x1)+s(x2),data=dat)
plot(b,pages=1)

## Simulate data with real interation...
dat <- gamSim(2,n=500,scale=.1)
old.par<-par(mfrow=c(2,2))

## a fully nested tensor product example (bad idea)
b <- gam(y~s(x,bs="cr",k=6)+s(z,bs="cr",k=6)+te(x,z,k=6),
       data=dat$data)
plot(b)

old.par<-par(mfrow=c(2,2))
## A fully nested tensor product example, done properly,
## so that gam.side is not needed to ensure identifiability.
## ti terms are designed to produce interaction smooths
## suitable for adding to main effects (we could also have
## used s(x) and s(z) without a problem, but not s(z,x) 
## or te(z,x)).
b <- gam(y ~ ti(x,k=6) + ti(z,k=6) + ti(x,z,k=6),
       data=dat$data)
plot(b)

par(old.par)
rm(dat)

作者

Simon N. Wood simon.wood@r-project.org

也可以看看

ti , gam.models

相关用法


注:本文由纯净天空筛选整理自R-devel大神的英文原创作品 Identifiability side conditions for a GAM。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。