1

我有一个庞大的数据,其中包含大约 2,000 个变量和大约 10,000 个观察值。最初,我想为每个具有 1999 个自变量的回归模型运行一个回归模型,然后逐步进行模型选择。因此,我将有 2,000 个模型。

然而,不幸的是,由于内存不足,R 出现了错误。所以,或者,我试图删除一些相关值较低的自变量——可能低于 0.5——

对于与每个因变量高度相关的变量,我想运行回归模型..

我尝试按照代码进行操作,melt由于内存问题,即使功能也不起作用..哦上帝..

test<-data.frame(X1=rnorm(50,mean=50,sd=10),
             X2=rnorm(50,mean=5,sd=1.5),
             X3=rnorm(50,mean=200,sd=25))

test$X1[10]<-5

test$X2[10]<-5
test$X3[10]<-530

corr<-cor(test)
diag(corr)<-NA
corr[upper.tri(corr)]<-NA
melt(corr) 
#it doesn't work with my own data..because of lack of memory.

请帮助我..提前非常感谢你..!

4

1 回答 1

0

在这种情况下,是否值得尝试诸如 Lasso 之类的稀疏诱导技术。这里通过约束回归系数的绝对值之和来选择变量的稀疏子集。

这将为您提供最相关的变量子集(并且由于 Lasso 算法的性质也是最相关的,这就是您要寻找的)

在 R 中,您可以使用 LARS 包,有关 Lasso 的信息可以在此处找到: http ://www-stat.stanford.edu/~tibs/lasso.html

还有一个很好的资源是:http ://www-stat.stanford.edu/~tibs/ElemStatLearn/

于 2013-10-18T14:52:11.267 回答