如何在R中的1664个解释变量上拟合多元线性回归模型

时间:2013-11-03 14:25:26

标签: r linear-regression

我有一个响应变量,我正在尝试使用1664种不同的解释变量来找到一种拟合多元线性回归模型的方法。我对R很陌生,并且通过使用公式中的每个解释变量来陈述公式来教授这样做的方法。但是,由于我有1664个变量,因此需要很长时间。有更快的方法吗?

谢谢!

2 个答案:

答案 0 :(得分:3)

我认为你想从1664个变量中选择一个有效的模型,即一个模型,用尽可能少的解释变量来预测数据的可变性。有几种方法可以做到这一点:

  • 使用专业知识选择已知相关的变量。这可能是由于其他研究发现了这一点,或者由于某些潜在的过程,您现在使该变量变得相关。
  • 使用某种逐步回归方法选择变量是基于他们解释数据的程度。请注意,此方法有一些严重的缺点。请使用Aikaike Information Criterium查看stepAIC这样做的方法。

如果您选择纯粹基于随机性的95%显着性水平(0.05 * 1664),则将1664个变量与数据相关联将产生大约83个显着相关性。因此,谨慎使用自动变量选择。用专业知识或一些去相关技术(例如主成分分析)减少变量的数量会有所帮助。

对于代码示例,首先需要包含我自己构建的(数据+代码)示例。

答案 1 :(得分:2)

我会回答编程问题,但请注意,通常使用许多变量进行回归可以使用某种变量选择程序(例如@PaulHiemstra的建议)。

  1. 您可以构建仅包含要运行的变量的data.frame,然后使用公式快捷方式:form <- y ~ .,其中点表示尚未提及的所有变量。
  2. 您可以手动构建公式。例如:form <- as.formula( paste( "y ~", paste(myVars,sep="+") ) )
  3. 然后运行你的回归:

    lm( form, data=dat )