大矩阵:当dim(X)= 100,000:5000时求解(crossprod(X))

时间:2011-04-20 01:11:12

标签: r

我需要对大数据矩阵进行简单的两阶段最小二乘回归。这只需要一些crossprod()solve()命令,但矩阵的尺寸为100,000乘5000矩阵。我的理解是在内存中保存这样的矩阵会占用少于4GB的内存。不幸的是,我的64位Win7机器只有8GB的RAM。当我试图操纵有问题的矩阵时,我得到了通常的“无法分配大小向量”的消息。

我考虑了许多选项,例如ffbigmemory个包。但是,矩阵运算的基本R函数我只需要支持通常的矩阵对象类型,而不是bigmatrix类型。

似乎有可能从biglm()扩展代码,但我的项目时间紧迫,所以我想和你们一起检查是否有现成的这样的问题的解决方案。如果之前已经解决了这个问题(我找不到)或者问题是否过于笼统,请道歉。

1 个答案:

答案 0 :(得分:2)

是的,biglm中已有的现成解决方案已经确定。线性回归可以与更新方案一起使用;该基本属性在包中实现。

将您的数据转储到磁盘,比如说SQLite并研究软件包文档,然后继续,比如10个块,每块10,000个。