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
千兆字节 ...
我正在处理计数数据,并通过使用 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
千兆字节 ...