R:Fixest class 模型在保存时体积膨胀
R: Fixest class models bloat in size when saved
我目前正在处理一个大数据集 (n>1000 万)。我发现 fixst 包对 运行 logit 固定效应模型快速 (feglm) 非常有帮助。
f1 <- feglm(result ~ log(rate1) +
sex +
age +
development +
pop +
acad +
size | state, se= "standard", family=c("logit"), lean =TRUE, mem.clean = TRUE, data=total)
最初的问题是我的模型太大了。我尝试使用 lean=TRUE
和 mem.clean=TRUE
来减少它们。我还必须像这样消除模型的线性预测变量和工作残差分量:
f1$linear.predictors <- NULL
f1$working_residuals <- NULL
通过执行所有这些步骤,我成功地 trim 胖了很多。该模型最初是 1.2 GB,但我设法将其压缩到 ~200kb
print(object.size(f1), units = "auto")
218.3 Kb
当我尝试将模型保存为 rda 文件时出现问题。
保存操作应该需要一瞬间。相反,它需要几分钟并将模型保存为一个 300 MB 的臃肿文件。
我做错了什么?我想将最固定的对象保留在 220 Kb 的小尺寸中。
谢谢
将 family
、fml
和 fml_all
设置为 NULL
,它应该可以工作。
问题是这些项目 引用 环境,即使它们不 包括 环境。
但是,当应用保存时,这些值所指的环境也会被保存,导致文件较大。
这是一个我将尝试在包中解决的问题。顺便说一句 linear.predictors
working_residuals
将在下一版本的软件包 (0.10.2) 中被适当删除。
谢谢 Laurent B. 为我指明了正确的方向。我根据您的建议将模型的几个组件设置为 NULL
.
f1.1$linear.predictors <- NULL
f1.1$working_residuals <- NULL
f1.1$family <- NULL
f1.1$fml <- NULL
f1.1$fml_all <- NULL
f1.1$family$family = "binomial"
f1.1$family$family = "logit"
f1.1[["fml"]][[2]] = "emigration"
感谢您的帮助和创建 fixst 的精彩包。
我目前正在处理一个大数据集 (n>1000 万)。我发现 fixst 包对 运行 logit 固定效应模型快速 (feglm) 非常有帮助。
f1 <- feglm(result ~ log(rate1) +
sex +
age +
development +
pop +
acad +
size | state, se= "standard", family=c("logit"), lean =TRUE, mem.clean = TRUE, data=total)
最初的问题是我的模型太大了。我尝试使用 lean=TRUE
和 mem.clean=TRUE
来减少它们。我还必须像这样消除模型的线性预测变量和工作残差分量:
f1$linear.predictors <- NULL
f1$working_residuals <- NULL
通过执行所有这些步骤,我成功地 trim 胖了很多。该模型最初是 1.2 GB,但我设法将其压缩到 ~200kb
print(object.size(f1), units = "auto")
218.3 Kb
当我尝试将模型保存为 rda 文件时出现问题。 保存操作应该需要一瞬间。相反,它需要几分钟并将模型保存为一个 300 MB 的臃肿文件。
我做错了什么?我想将最固定的对象保留在 220 Kb 的小尺寸中。
谢谢
将 family
、fml
和 fml_all
设置为 NULL
,它应该可以工作。
问题是这些项目 引用 环境,即使它们不 包括 环境。 但是,当应用保存时,这些值所指的环境也会被保存,导致文件较大。
这是一个我将尝试在包中解决的问题。顺便说一句 linear.predictors
working_residuals
将在下一版本的软件包 (0.10.2) 中被适当删除。
谢谢 Laurent B. 为我指明了正确的方向。我根据您的建议将模型的几个组件设置为 NULL
.
f1.1$linear.predictors <- NULL
f1.1$working_residuals <- NULL
f1.1$family <- NULL
f1.1$fml <- NULL
f1.1$fml_all <- NULL
f1.1$family$family = "binomial"
f1.1$family$family = "logit"
f1.1[["fml"]][[2]] = "emigration"
感谢您的帮助和创建 fixst 的精彩包。