我试图理解为什么在条件公式中指定 AR-1 协方差结构估计 2 个参数(就像它应该的那样),但在零通货膨胀公式中指定时估计许多参数。下面显示了一个使用模拟数据的小示例(复制自“使用 glmmTMB 的协方差结构”教程)。
n <- 25 ## Number of time points
x <- MASS::mvrnorm(mu = rep(0,n),
Sigma = .7 ^ as.matrix(dist(1:n)) ) ## Simulate the process using the MASS package
y <- x + rnorm(n) ## Add measurement noise
times <- factor(1:n, levels=1:n)
head(levels(times))
group <- factor(rep(1,n))
dat0 <- data.frame(y, times, group)
library(glmmTMB)
model <- glmmTMB(y ~ ar1(factor(times) + 0 | group), ziformula = ~ ar1(factor(times) + 0 | group), data=dat0, family = gaussian())
summary(model)
结果看起来与预期相反,因为 AR-1 应该只估计两个参数:sigma(在条件模型中报告为“Std.Dev.”)和 rho(在条件模型中报告为“Corr”)。有人能解释一下吗?
我的理解是正确的还是有缺陷的?是我遗漏了什么还是包裹有问题?
这是一个打印问题,可能应该报告给 glmmTMB 问题列表。
尽管
summary()
打印了完整的相关矩阵,但您可以推断实际上只估计了一个参数:相关矩阵任何列中的值 (-0.98, 0.95, -0.93, 0.91, -0.89, . ..) 表示相关参数逐渐提高到更高的幂 (phi^i
)。您还可以看到所有方差和标准差都是相同的。所以事实上 glmmTMB
is 仅估计两个参数(std dev = 0.003747,phi = -0.98),它只是以笨拙的方式报告结果。