如何使用 R Package 在 Tweedie GLM 中将色散参数设置为等于 1 (phi=1)
How to set the dispersion parameter equal to one (phi=1) in Tweedie GLM using R Package
我想将 Tweedie GlM 拟合到响应变量,但将我数据中所有记录的色散参数 (phi) 设置为 1。因此,除了 phi 之外,所有参数都使用最大似然估计器进行估计。
谢谢。
您可以使用 glmmTMB
中的 map
参数来完成此操作。
示例设置:
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),因此我们将其设为包含 NA
. 的长度为 1 的因子
start
指定起始值(map
用于固定参数的值)。色散参数以对数刻度拟合,因此我们将起始值设置为 0 (exp(0) = 1)。在这种情况下,我们真的不需要指定值,因为无论如何默认值都是 0,但这样更清楚。
我想将 Tweedie GlM 拟合到响应变量,但将我数据中所有记录的色散参数 (phi) 设置为 1。因此,除了 phi 之外,所有参数都使用最大似然估计器进行估计。
谢谢。
您可以使用 glmmTMB
中的 map
参数来完成此操作。
示例设置:
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),因此我们将其设为包含NA
. 的长度为 1 的因子
start
指定起始值(map
用于固定参数的值)。色散参数以对数刻度拟合,因此我们将起始值设置为 0 (exp(0) = 1)。在这种情况下,我们真的不需要指定值,因为无论如何默认值都是 0,但这样更清楚。