R代码:提取高度相关的变量并使用选定的变量运行多元回归模型

时间:2013-09-27 20:11:43

标签: r regression

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

然而,遗憾的是R因缺乏记忆而出现错误。 所以,或者,我试图删除一些低相关值的自变量 - 可能低于.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.

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

1 个答案:

答案 0 :(得分:0)

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

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

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

另一个非常好的资源是:http://www-stat.stanford.edu/~tibs/ElemStatLearn/