0

我想将 Tweedie GlM 拟合到响应变量,但对于我的数据中的所有记录,分散参数 (phi) 设置为 1。因此,除了 phi 之外,所有参数都使用最大似然估计器进行估计。

谢谢你。

4

1 回答 1

0

您可以通过使用 中的map参数来做到这一点glmmTMB

示例设置:

library(glmmTMB)
library(tweedie)
nobs <- 2000; mu <- 4; phi <- 2; p <- 1.7
set.seed(101)
y <- rtweedie(nobs, mu=mu, phi=phi, power=p)

拟合无约束模型:

twm <- glmmTMB(y ~ 1, family=tweedie(), data = NULL)
sigma(twm)  ## 2.0188, close to the true value of 2

sigma()是色散参数的一般访问器方法;其定义因族而异,请参阅?sigma.glmmTMB

约束:

twm2 <- update(twm,
    map = list(betad=factor(NA)),
    start = list(betad = 0))
sigma(twm2) ## 1

解释:

  • map指定要固定为其起始值NA的参数集(如果 ),或要约束为彼此相等的参数集(即共享因子水平):请参阅glmmTMB。在这种情况下,色散参数是单个值(如果dispformula指定,它的长度可能 > 1),因此我们将其设为长度为 1 的因子,包含NA.
  • start指定起始值(map用于固定参数的值)。分散参数在对数尺度上拟合,因此我们将起始值设置为 0 (exp(0) = 1)。在这种情况下,我们实际上不需要指定值,因为无论如何默认值都是 0,但这样更清楚。
于 2021-10-26T16:28:41.197 回答