formula.gam
位于 mgcv
包(package)。 说明
gam
公式的说明(请参阅详细信息),以及如何从拟合的 gam
对象中提取它。
用法
## S3 method for class 'gam'
formula(x,...)
参数
x |
由 |
... |
在本例中为un-used |
细节
gam
将接受一个公式,或者对于某些系列,接受一个公式列表。其他 mgcv
建模函数不接受列表。列表形式提供了一种指定多个线性预测变量的机制,并允许它们共享术语:见下文。
提供给 gam
的公式与提供给 glm
的公式完全相同,只是平滑项 s
、 te
、 ti
和 t2
可以添加到右侧(并且 .
是gam
公式不支持)。
平滑项由以下形式的表达式指定:
s(x1,x2,...,k=12,fx=FALSE,bs="tp",by=z,id=1)
其中x1
,x2
等是平滑函数的协变量,并且k
是用于表示平滑项的基的维数。如果k
未指定则使用基础特定默认值。请注意,这些默认值本质上是任意的,重要的是要检查它们是否太小而导致过度平滑(太大只会减慢计算速度)。有时,建模上下文会建议合理的值k
,但如果不是非正式检查很容易:参见choose.k
和gam.check
.
fx
用于指示该术语是否应该不受惩罚,因此具有由 k
设置的固定数量的自由度(几乎总是 k-1
)。 bs
表示平滑使用的基础:内置选项在 smooth.terms
中说明,并且可以添加用户定义的平滑(请参见 user.defined.smooth
)。如果未提供bs
,则使用默认的"tp"
(tprs
) 基础。 by
可用于指定平滑度应乘以的变量。例如gam(y~s(x,by=z))
将指定模型 ,其中 是平滑函数。 by
选项对于每个因子水平需要同一变量的不同函数的模型以及“变化系数模型”特别有用:请参阅 gam.models
。 id
用于给出平滑恒等式:具有相同恒等式的平滑具有相同的基础、惩罚和平滑参数(但系数不同,因此它们是不同的函数)。
指定多个协变量的平滑的另一种替代方法是:
te(x,z,bs=c("tp","tp"),m=c(2,3),k=c(5,10))
这将指定两个协变量的张量积平滑x
和z
由边际 t.p.r.s. 构建5 维和 10 维的基,边际惩罚为 2 和 3 阶。基类型的任何组合都是可能的,协变量的数量也是如此。te
提供更多信息。ti
术语是一种变体,设计用于当存在主效应(以及任何低阶交互作用)时用作交互项。t2
生成张量积平滑,它是平滑样条方差分析模型的自然低阶模拟。
s
、 te
、 ti
和 t2
项接受所提供平滑参数的 sp
参数:正值被视为要使用的固定值,负值表示应估计参数。如果提供了 sp
,则它会覆盖 gam
的 sp
参数中的任何内容,如果未提供,则默认为全部负数,但不会覆盖 gam
的 sp
参数 .
公式可以涉及嵌套或“overlapping”术语,例如
y~s(x)+s(z)+s(x,z)
或者y~s(x,z)+s(z,v)
但嵌套模型确实应该使用来设置ti
条款:参见gam.side
了解更多详细信息和示例。
gam
公式中的平滑项将接受矩阵参数作为协变量(以及相应的 by
变量),在这种情况下将调用“求和约定”。考虑 s(X,Z,by=L)
的示例,其中 X
、 Z
和 L
是 n × m 矩阵。令 F
为 n × m 矩阵,该矩阵是通过评估 X
和 Z
中的值的平滑度而得到的。那么该项对线性预测器的贡献将为rowSums(F*L)
(注意逐元素乘法)。此约定允许 GAM 的线性预测器依赖于(离散近似)平滑的任何线性函数:有关更多信息和示例(包括函数线性模型/信号回归),请参阅linear.functional.terms
。
请注意,gam
允许通过 paraPen
参数对模型公式中的任何项进行惩罚(可能是多重惩罚)。有关详细信息和示例代码,请参阅gam.models
。
当列表中提供多个公式时,它们可用于为有意义的族指定多个线性预测变量(例如 mvn
)。列表中的第一个公式必须包含响应变量,但后面的公式不需要(取决于家庭的要求)。对线性预测变量进行索引,从 1 到 d,其中 d 是线性预测变量的数量,索引按照公式在列表中出现的顺序排列。可以提供额外的公式来指定几个线性预测变量应该共享一些项。为此,提供了一个公式,其中将响应替换为指定线性预测变量索引的数字,该预测变量将分解 r.h.s. 上指定的项。例如,1+3~s(x)+z-1
指定线性预测器 1 和 3 将共享术语 s(x)
和 z
(但我们不想要额外的截距,因为这通常无法识别)。请注意,线性预测器可能仅包含共享项:它仍然必须有自己的公式,但 r.h.s.只是 -1
(例如 y ~ -1
或 ~ -1
)。有关示例,请参阅multinom
。
值
返回模型公式 x$formula
。提供以便 anova
方法打印模型的适当说明。
警告
gam
公式不应引用变量,例如dat[["x"]]
。
作者
Simon N. Wood simon.wood@r-project.org
也可以看看
相关用法
- R formXtViX GAMM 协方差矩阵的形式分量
- R factor.smooth GAM 中平滑交互的因子
- R fs.test FELSPLINE 测试函数
- R full.score 用于 nlm 内的 GCV/UBRE 分数
- R fix.family.link 修改族以用于 GAM 拟合和检查
- R fixDependence 检测一个矩阵与另一个矩阵的线性相关性
- R vcov.gam 从 GAM 拟合中提取参数(估计器)协方差矩阵
- R gam.check 拟合 gam 模型的一些诊断
- R null.space.dimension TPRS 未惩罚函数空间的基础
- R gam.reparam 寻找平方根惩罚的稳定正交重新参数化。
- R extract.lme.cov 从 lme 对象中提取数据协方差矩阵
- R scat 用于重尾数据的 GAM 缩放 t 系列
- R choldrop 删除并排名第一 Cholesky 因子更新
- R smooth.construct.cr.smooth.spec GAM 中的惩罚三次回归样条
- R bandchol 带对角矩阵的 Choleski 分解
- R gam.side GAM 的可识别性边条件
- R cox.ph 附加 Cox 比例风险模型
- R mgcv.parallel mgcv 中的并行计算。
- R gamm 广义加性混合模型
- R pdTens 实现张量积平滑的 pdMat 类的函数
- R Predict.matrix GAM 中平滑项的预测方法
- R Predict.matrix.soap.film 皂膜光滑度预测矩阵
- R smooth.construct.bs.smooth.spec GAM 中的惩罚 B 样条
- R gamlss.gH 计算回归系数的对数似然导数
- R plot.gam 默认 GAM 绘图
注:本文由纯净天空筛选整理自R-devel大神的英文原创作品 GAM formula。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。