R:修复了保存时类模型膨胀的问题



我目前正在处理一个大数据集(n>1000万(。我发现fixest包非常有助于快速运行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=TRUEmem.clean=TRUE减肥。我还删除了模型的线性预测因子和工作残差分量,比如

f1$linear.predictors <- NULL
f1$working_residuals <- NULL

通过做所有这些步骤,我设法减掉了很多脂肪。该型号最初为1.2 GB,但我设法将其缩减至约200 GB的

print(object.size(f1), units = "auto")
218.3 Kb

当我试图将模型保存为rda文件时,会出现问题。保存操作应该需要一瞬间。相反,它需要几分钟的时间,并将模型保存为一个膨胀的300 MB文件。

我做错了什么?我希望将固定对象保持在220 Kb的小大小。

谢谢

familyfmlfml_all设置为NULL,它应该可以工作。

问题是,这些项目指的是环境,尽管它们不包括这些环境。但是,当应用保存时,这些值所指的环境也会被保存,从而导致文件大。

这是一个我将在程序包中尝试解决的问题。Btw项目linear.predictors并且CCD_ 8将在封装的下一版本(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"

感谢您的帮助,并创建了修复程序的精彩包。

最新更新