首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何利用R包将Tweedie中的色散参数设置为1 (phi=1)

如何利用R包将Tweedie中的色散参数设置为1 (phi=1)
EN

Stack Overflow用户
提问于 2021-10-26 15:28:15
回答 1查看 210关注 0票数 0

我希望将Tweedie与响应变量相匹配,但对于数据中的所有记录,将色散参数(phi)设置为1。因此,除phi外,所有参数都用极大似然估计来估计。

谢谢。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2021-10-26 16:28:41

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

示例设置:

代码语言:javascript
复制
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)

适合无约束模型:

代码语言:javascript
复制
twm <- glmmTMB(y ~ 1, family=tweedie(), data = NULL)
sigma(twm)  ## 2.0188, close to the true value of 2

(sigma()是色散参数的通用访问器方法;它的定义因族而异,参见?sigma.glmmTMB)

受约束:

代码语言:javascript
复制
twm2 <- update(twm,
    map = list(betad=factor(NA)),
    start = list(betad = 0))
sigma(twm2) ## 1

解释:

  • map指定要固定在其初始值(如果是NA)的参数集,或者约束为彼此相等的参数集(即共享一个因子级别):参见glmmTMB。在这种情况下,色散参数是单个值(如果指定了NA.
  • start,它的长度可以大于1),因此我们将其作为包含dispformula的长度1的因子,以指定起始值(这些值是map用于固定参数的值)。色散参数是在对数尺度上拟合的,因此我们将起始值设为0 (exp(0) = 1)。在这种情况下,我们实际上不需要指定值,因为缺省值无论如何是0,但是这样会更清楚。
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/69725918

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档