smooth.construct.mrf.smooth.spec
位于 mgcv
包(package)。 说明
对于在离散空间单元上观察到的数据,简单的马尔可夫随机场平滑器有时是合适的。这些函数为 mgcv
提供了一个更平滑的类。有关如何处理缺失数据的区域,请参阅详细信息。
用法
## S3 method for class 'mrf.smooth.spec'
smooth.construct(object, data, knots)
## S3 method for class 'mrf.smooth'
Predict.matrix(object, data)
参数
object |
对于 |
data |
仅包含该术语所需的数据(包括任何 |
knots |
如果地理区域多于观察到的数据,则此参数用于提供所有区域(观察到的和未观察到的)的标签。 |
细节
使用一组区域标签和区域的邻域结构来定义一组离散区域上的马尔可夫随机场平滑。平滑的协变量是与每个观察值相对应的区域标签的向量。该协变量应该是一个因子,或者能够被强制为一个因子。
邻域结构在 xt
参数中提供给 s
。这必须至少包含元素 polys
、 nb
或 penalty
之一。
- 多聚体
-
包含定义地理区域的多边形。它是一个包含与地理区域一样多的元素的列表。
names(polys)
必须以任何顺序对应于平滑参数的级别(即,它给出区域标签)。polys[[i]]
是一个 2 列矩阵,其行指定定义第 i 个区域边界的多边形的顶点。边界可以由多个闭环组成:这些闭环必须由NA
行分隔。另一个多边形内的多边形被视为孔。任何polys[[i]]
中的第一个多边形不应是洞。columb.polys
提供了该结构的示例(出于说明目的,其第二个元素中包含一个人造孔)。任何具有重复名称的列表元素都会组合成一个 NA 分隔的矩阵。如果没有
polys
对象,则无法绘制平滑图。如果
polys
是提供的xt
的唯一元素,则自动计算邻域结构。要算作邻居,多边形必须完全共享多个顶点之一。 - NB
-
是定义邻域结构的命名列表。
names(nb)
必须对应于平滑协变量的级别(即区域标签),但可以按任何顺序。nb[[i]]
是一个数字向量,索引第 i 个区域的邻居(并且不应包括i
)。所有索引均相对于nb
本身,但可以使用names(nb)
进行转换。请参阅示例代码。作为替代方案,每个nb[[i]]
可以是邻居名称的数组,但这些将在内部转换为数字索引数组。如果未提供
penalty
,则会从此列表中自动计算。惩罚矩阵的第 i 行在任何地方都为零,除了第 i 列(其中包含第 i 个地理区域的邻居数量)以及与这些地理邻居对应的列(每个列包含 -1)。 - 惩罚
-
如果提供,则将其用作惩罚矩阵。它应该是半正定的。其行和列名称应与协变量的级别相对应。
如果未提供基本维度,则构造函数会生成满秩 MRF,其中包含每个地理区域的系数。否则,根据 Wood (2017) 第 5.4.2 节中给出的参数化截断,获得低秩近似。参见 Wood(2017 年,第 5.8.1 节)。
请注意,此类的平滑具有内置绘图方法,并且实用函数 in.out
对于处理离散区域数据非常有用。绘图方法有两种方案,scheme==0
是彩色,scheme==1
是灰度。
对于有区域没有数据的情况需要特殊处理。您应该在模型拟合函数中设置 drop.unused.levels=FALSE
gam
、 bam
或 gamm
,首先确保任何固定效应因子不包含未观察到的水平。还要确保设置基本维度以确保系数总数小于观测值数量。
值
类 "mrf.smooth"
的对象或将 MRF 系数平滑映射到 data
中列出的区域的预测的矩阵。
例子
library(mgcv)
## Load Columbus Ohio crime data (see ?columbus for details and credits)
data(columb) ## data frame
data(columb.polys) ## district shapes list
xt <- list(polys=columb.polys) ## neighbourhood structure info for MRF
par(mfrow=c(2,2))
## First a full rank MRF...
b <- gam(crime ~ s(district,bs="mrf",xt=xt),data=columb,method="REML")
plot(b,scheme=1)
## Compare to reduced rank version...
b <- gam(crime ~ s(district,bs="mrf",k=20,xt=xt),data=columb,method="REML")
plot(b,scheme=1)
## An important covariate added...
b <- gam(crime ~ s(district,bs="mrf",k=20,xt=xt)+s(income),
data=columb,method="REML")
plot(b,scheme=c(0,1))
## plot fitted values by district
par(mfrow=c(1,1))
fv <- fitted(b)
names(fv) <- as.character(columb$district)
polys.plot(columb.polys,fv)
## Examine an example neighbourhood list - this one auto-generated from
## 'polys' above.
nb <- b$smooth[[1]]$xt$nb
head(nb)
names(nb) ## these have to match the factor levels of the smooth
## look at the indices of the neighbours of the first entry,
## named '0'...
nb[['0']] ## by name
nb[[1]] ## same by index
## ... and get the names of these neighbours from their indices...
names(nb)[nb[['0']]]
b1 <- gam(crime ~ s(district,bs="mrf",k=20,xt=list(nb=nb))+s(income),
data=columb,method="REML")
b1 ## fit unchanged
plot(b1) ## but now there is no information with which to plot the mrf
作者
Simon N. Wood simon.wood@r-project.org and Thomas Kneib (Fabian Scheipl prototyped the low rank MRF idea)
参考
Wood S.N. (2017) Generalized additive models: an introduction with R (2nd edition). CRC.
也可以看看
相关用法
- R smooth.construct.cr.smooth.spec GAM 中的惩罚三次回归样条
- R smooth.construct.bs.smooth.spec GAM 中的惩罚 B 样条
- R smooth.construct.sz.smooth.spec GAM 中的约束因子平滑交互
- R smooth.construct.re.smooth.spec GAM 中的简单随机效应
- R smooth.construct.gp.smooth.spec 低阶高斯过程平滑
- R smooth.construct.tp.smooth.spec GAM 中的惩罚薄板回归样条
- R smooth.construct.ad.smooth.spec GAM 中的自适应平滑
- R smooth.construct.so.smooth.spec 皂膜平滑剂
- R smooth.construct.ds.smooth.spec 低阶 Duchon 1977 样条
- R smooth.construct.fs.smooth.spec GAM 中平滑交互的因子
- R smooth.construct.ps.smooth.spec GAM 中的 P 样条
- R smooth.construct.sos.smooth.spec 球体上的样条线
- R smooth.construct.tensor.smooth.spec 张量积平滑构造函数
- R smooth.construct.t2.smooth.spec 张量积平滑构造函数
- R smooth.construct GAM 中平滑项的构造函数
- R smooth.info 提供有关平滑规范的额外信息的通用函数
- R smooth.terms GAM 中的平滑术语
- R smooth2random 将平滑转换为适合估计随机效应的形式
- R smoothCon GAM 平滑项的预测/构造包装函数
- R scat 用于重尾数据的 GAM 缩放 t 系列
- R slanczos 计算对称矩阵的截断特征分解
- R single.index 具有 mgcv 的单指数模型
- R sp.vcov 从 (RE)ML GAM 拟合中提取平滑参数估计器协方差矩阵
- R shash Sinh-arcsinh 位置比例和形状模型族
- R s 在 GAM 公式中定义平滑
注:本文由纯净天空筛选整理自R-devel大神的英文原创作品 Markov Random Field Smooths。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。