0

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

谢谢!

4

2 回答 2

3

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

  • 使用专家知识来选择已知相关的变量。这可能是由于其他研究发现了这一点,或者由于您现在使该变量相关的某些潜在过程。
  • 使用某种逐步回归方法,根据变量对数据的解释程度来选择相关变量。请注意,这种方法有一些严重的缺点。看看stepAIC使用 Aikaike 信息标准的方法。

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

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

于 2013-11-03T14:40:53.030 回答
2

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

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

然后运行你的回归:

lm( form, data=dat )
于 2013-11-03T15:23:34.980 回答