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


R negbin GAM 负二项族


R语言 negbin 位于 mgcv 包(package)。

说明

gam 建模函数设计为能够使用 negbin 系列(Venables 和 Ripley 对 MASS 库 negative.binomial 系列的修改),或为参数 theta 的综合估计而设计的 nb 函数。 的参数,其中

有两种估计 theta 的方法(仅限 gam):

  • 对于negbin,如果使用“性能迭代”进行平滑参数估计(参见gam),则由 GCV 选择平滑参数,并选择theta,以确保尺度参数的 Pearson 估计为尽可能接近 1,即比例参数应具有的值。

  • 如果“外迭代”用于 nb 系列的平滑参数选择,则 theta 会通过 ML 或 REML 与平滑参数一起进行估计。

要使用第一个选项,请将 gamoptimizer 参数设置为 "perf"(有时可能无法收敛)。

用法

negbin(theta = stop("'theta' must be specified"), link = "log")
nb(theta = NULL, link = "log")

参数

theta

i) 单个已知的 theta 值或 ii) 两个指定搜索 theta 的区间端点的 theta 值(此选项仅适用于 negbin ,并且已弃用)。对于nb,则将提供的正值theta视为固定的已知参数,否则进行估计(将负值theta的绝对值作为起始值)。

link

链接函数: "log""identity""sqrt" 之一

细节

nb 允许估计 theta 参数以及模型平滑参数,但只能与 gambam (不适用于 gamm )一起使用。

对于 negbin ,如果提供了 theta 的单个值,则它始终被视为已知的固定值,并且这可与 bamgamm 一起使用。如果 theta 是两个数字 ( theta[2]>theta[1] ),则它们被视为指定搜索最佳 theta 的值范围。此选项已弃用,仅应与性能迭代估计一起使用(请参阅 gam 参数 optimizer ),在这种情况下,估计方法是选择 ,以便尺度参数的 GCV (Pearson) 估计为一(因为负二项式的尺度参数为一)。在本例中, 估计嵌套在用于 GAM 拟合的 IRLS 循环内。每次调用将迭代加权加性模型拟合到 IRLS 伪数据后, 估计值都会更新。这是通过对除 之外的当前 GCV/Pearson 尺度参数估计量的所有分量进行条件调节,然后搜索将该条件估计量等于 1 的 来完成的。该搜索是在对括号一进行初始粗线搜索之后的简单二分搜索。如果泊松拟合会产生估计的尺度参数<1,则搜索将在搜索区域的上边界处终止。

对于 negbin ,从类 family 继承的对象,带有附加元素

dvar

该函数给出方差函数的一阶导数。 mu

d2var

该函数给出方差函数的二阶导数。 mu

getTheta

用于检索 theta 值的函数。这对于在拟合后检索 theta 的估计也很有用(参见示例)。

对于 nb ,从类 extended.family 继承的对象。

警告

gamm 不支持theta 估计

不再支持 MASS 库中的负二项式函数。

例子

library(mgcv)
set.seed(3)
n<-400
dat <- gamSim(1,n=n)
g <- exp(dat$f/5)

## negative binomial data... 
dat$y <- rnbinom(g,size=3,mu=g)
## known theta fit ...
b0 <- gam(y~s(x0)+s(x1)+s(x2)+s(x3),family=negbin(3),data=dat)
plot(b0,pages=1)
print(b0)

## same with theta estimation...
b <- gam(y~s(x0)+s(x1)+s(x2)+s(x3),family=nb(),data=dat)
plot(b,pages=1)
print(b)
b$family$getTheta(TRUE) ## extract final theta estimate


## another example...
set.seed(1)
f <- dat$f
f <- f - min(f)+5;g <- f^2/10
dat$y <- rnbinom(g,size=3,mu=g)
b2 <- gam(y~s(x0)+s(x1)+s(x2)+s(x3),family=nb(link="sqrt"),
         data=dat,method="REML") 
plot(b2,pages=1)
print(b2)
rm(dat)

作者

Simon N. Wood simon.wood@r-project.org modified from Venables and Ripley's negative.binomial family.

参考

Venables, B. and B.R. Ripley (2002) Modern Applied Statistics in S, Springer.

Wood, S.N., N. Pya and B. Saefken (2016), Smoothing parameter and model selection for general smooth models. Journal of the American Statistical Association 111, 1548-1575 doi:10.1080/01621459.2016.1180986

相关用法


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