R 中基于泊松的回归模型代码运行速度非常慢

Poisson Based Regression models code in R runs very slow

我正在处理计数数据,并通过使用 zeroinfl(来自 pscl 包)和 pglm(来自 pglm 包)尝试几种不同的泊松固定效应回归模型,以获得非零膨胀模型。但是,我的 R 代码运行很慢,需要 9-10 多个小时。为了澄清,我通过添加时间和 ID 虚拟对象手动添加固定效果。

model<- zeroinfl(y~ x1+ x2+ x3+ x4 + as.factor(time) 
               + as.factor(ID) | 1, data = df, dist = "poisson")

我知道这个问题:R Zeroinfl model。但是,我的数据高度零膨胀,平均值为 0.587,中位数等于 0,我担心建议的方法可能会丢失数据的这一特征。我是 R 的新手。感谢任何帮助。

鉴于你目前所说的,可能值得一试

library(glmmTMB)
model <- glmmTMB(y~ x1+ x2+ x3+ x4 + as.factor(time) 
               + as.factor(ID),
          dispformula = ~ 1, 
          data = df, 
          family = "poisson",
          sparseX = c(cond = TRUE))

您可以随心所欲地使用零 inflation 分量(例如 dispformula = ~ x1 + x2 + x3 + x4 以包括那些协变量)。如果您希望零膨胀模型矩阵也稀疏,请将 zi = TRUE 添加到 sparseX 向量。

原因(特别是 sparseX)是为具有 87K 行和 2500 个 ID 的数据集生成模型矩阵 zeroinfl 将(我认为)创建一个模型矩阵是大约 2500*87e3*8/2^30 = 1.620501 千兆字节 ...