相关疑难解决方法(0)

如何最小化类"lm"对象的大小而不影响它传递给predict()

我想lm()在一个包含2个预测变量的50M +观测值的大型数据集上运行.分析在远程服务器上运行,只有10GB用于存储数据.我已经对从数据中采样的10K观测值测试了'lm()',结果对象的大小为2GB +.

我需要从lm()ONLY 返回的类"lm"的对象来生成model(summary(lm_object))的摘要统计信息并进行预测(predict(lm_object)).

我做了一些实验用的选项model, x, y, qrlm.如果我将它们全部设置为FALSE我将尺寸减小38%

library(MASS)
fit1=lm(medv~lstat,data=Boston)
size1 <- object.size(fit1)
print(size1, units = "Kb")
# 127.4 Kb bytes
fit2=lm(medv~lstat,data=Boston,model=F,x=F,y=F,qr=F)
size2 <- object.size(fit2)
print(size2, units = "Kb")
# 78.5 Kb Kb bytes
- ((as.integer(size1) - as.integer(size2)) / as.integer(size1)) * 100
# -38.37994
Run Code Online (Sandbox Code Playgroud)

summary(fit2)
# Error in qr.lm(object) : lm object does not have a proper 'qr' component.
#  Rank zero or should …
Run Code Online (Sandbox Code Playgroud)

memory r lm

7
推荐指数
2
解决办法
1749
查看次数

标签 统计

lm ×1

memory ×1

r ×1