我正在使用零膨胀泊松模型。我正在使用
glmmTMB
我的结果变量是 2000 年至 2015 年间全德克萨斯州的入室盗窃案数量。我的分析单位是县 (
county
)。我主要感兴趣的变量是男性失业率
这是我的基线模型
z1 <- glmmTMB(burglaries ~ male.unemployment + growth + gun.ownership + temperature
+ offset(log(county.pop)), data = texas.data,
family = poisson, ziformula=~1)
这个效果很好。我想向该模型添加年份 (
year
) 和县 (county
) 固定效应。下面是我最好的。我非常确定我的符号已关闭,并且我只是添加随机效果(摘要输出是这样说的)。正确的记号是什么?
z1 <- glmmTMB(burglaries ~ male.unemployment + growth + gun.ownership + temperature
+ offset(log(county.pop)) + (1|id+year), data = texas.data,
family = poisson, ziformula=~1)
谢谢!
如果您确实想添加
id
和 year
作为固定效果,您可以按照@YouLocalUser 的建议进行操作:
z1 <- glmmTMB(burglaries ~ male.unemployment + growth + gun.ownership +
temperature + offset(log(county.pop)) + factor(id) + factor(year),
data = texas.data, family = poisson, ziformula=~1)
(为了简洁起见,您可以使用
factor()
而不是 as.factor()
。但是,明智的做法是指定 sparseX = c(cond=TRUE)
以允许条件模型使用稀疏模型矩阵。或者,稍微更有效的是,您可以指定随机效应,但使用 start
和 map
参数将它们的方差固定在一个非常大的值,例如
z1 <- glmmTMB(burglaries ~ male.unemployment + growth + gun.ownership +
temperature + offset(log(county.pop)) + (1|id) + (1|year),
data = texas.data, family = poisson, ziformula=~1,
start = list(theta = c(100, 100)),
map = list(theta = factor(c(NA, NA)))
这会将随机效应方差设置为
exp(100)
(2.7e43),出于实际目的,该方差应近似无穷大(==固定效应)...