【问题标题】:Stepwise forward regression - adding one term逐步前向回归 - 添加一项
【发布时间】:2015-11-25 17:21:54
【问题描述】:

我想知道 step() 函数中是否有一个参数可以让我使用单个术语更新模型作为前向回归的一部分。简单地说,我希望能够删除我拟合的 lm() 模型的一个术语,将其从我用来执行逐步回归的数据中排除,并查看从数据中弹出哪个变量来替换如果我执行另一个只是为了替换已删除的变量,它在前向回归中。这是它的样子:

test<-lm(y~x1+x2+x3, data=df)
testbis<-lm(y~x1+x3, data=df)

testfinal<-step(testbis, direction="forward", scope=?, data=df[,-c("x2")])

我认为这是我无法准确定位的范围表达式。提前感谢您的帮助!

【问题讨论】:

  • 看看?update
  • @etienne 但更新功能不允许逐步选择添加的变量,是吗?
  • 我不认为是这样,尽管它可能是 step 函数的一部分来替换 testbis 并避免 data=df[...]。你可以看看add1,这可能是比step更好的解决方案
  • 逐步回归受到统计学家的批评。有更好的方法。
  • @etienne 刚刚发现它,我花了一段时间才得到正确的范围参数,但它有效!谢谢。

标签: r linear-regression


【解决方案1】:

使用 add1() 函数解决了问题;我只是删除了我不想要的变量,然后对我的 df 进行 add1 测试。这会给出这样的结果:

test1<-add1(testbis, scope=formula(df[,-c("y")])[-2]) 

您必须删除响应变量,否则会收到错误消息,并且“[-2]”为范围提供了正确的公式(请参阅此处的帖子:R add1 function, scope argument to reference all variables

【讨论】:

    猜你喜欢
    • 2014-05-19
    • 2021-04-05
    • 2021-10-06
    • 1970-01-01
    • 2019-01-05
    • 2021-12-08
    • 2013-05-06
    • 2019-11-03
    • 1970-01-01
    相关资源
    最近更新 更多