首页 文章

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

提问于
浏览
0

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

谢谢!

2 回答

  • 3

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

    • 使用专业知识选择已知相关的变量 . 这可能是由于其他研究发现了这一点,或者由于某些潜在的过程,您现在使该变量具有相关性 .

    • 使用某种逐步回归方法,根据它们解释数据的程度,选择变量是相关的 . 请注意,此方法有一些严重的缺点 . 使用Aikaike Information Criterium查看 stepAIC 的方法 .

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

    对于代码示例,首先需要包含我自己(数据代码)的示例,我可以在其上构建 .

  • 2

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

    • 您可以构建仅包含要运行的变量的data.frame,然后使用公式快捷方式: form <- y ~ . ,其中点表示尚未提及的所有变量 .

    • 您可以手动构造公式 . 例如: form <- as.formula( paste( "y ~", paste(myVars,sep="+") ) )

    然后运行你的回归:

    lm( form, data=dat )
    

相关问题