我想使用 R 包中的 AR1 相关结构来拟合广义线性混合效应模型
glmmTMB
。检查完文档后
...似乎必须将“时间”作为随机效应分量的一个因素,即
glmmTMB(y ~ ar1(time_fac + 0 | group), data=dat0, family=binomial(link = "logit"))
但是,我想知道适合这种模型是否有意义:
glmmTMB(y ~ ns(time_cont,3) + ar1(time_fac + 0 | group),
data=dat0, family=binomial(link = "logit"))
在这里,我将固定效应时间指定为连续自然样条,同时保留时间作为 ar1 分量的一个因子。该模型确实适合,但我不确定它是否有意义。另外,我还没有真正看到为什么时间必须编码为 AR1 分量的一个因素,以及为什么我们不能拟合随机斜率的解释?
总的来说,我认为这个问题对于CrossValidated来说更好,但它太旧了,无法迁移。问题的各个组成部分是统计建模和计算实现问题的混合体。
logit(prob(y(t))) = b0 + b1*y(t-1)
)glmmTMB
协方差结构小插图中关于结构化协方差矩阵的构造的部分详细解释了如何定义 AR1(和其他)结构化模型的协方差矩阵;它应该解释为什么时间必须是一个因素,以及为什么需要抑制拦截。我不知道如何在数学上定义具有“随机斜率”的 AR1 模型,或者它意味着什么......dd <- expand.grid(time_cont = 1:100, group = factor(1:10)) |>
transform(time_fac = factor(time_cont))
library(glmmTMB)
form <- y ~ splines::ns(time_cont,3) + ar1(time_fac + 0 | group)
dd$y <- simulate_new(form[-2],
newdata = dd,
newparams = list(beta = 0:3,
theta = c(1,2),
betad = 1),
seed = 101)[[1]]
glmmTMB(form, data=dd, family=gaussian)