當前位置: 首頁>>代碼示例 >>用法及示例精選 >>正文


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。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。