【问题标题】:Stepwise regression error in RR中的逐步回归误差
【发布时间】:2017-10-18 19:12:25
【问题描述】:

我想在 R 中运行逐步回归以选择最佳拟合模型,我的代码附在此处:

full.modelfixed <- glm(died_ed ~ age_1 + gender + race + insurance + injury + ais + blunt_pen + 
               comorbid + iss +min_dist + pop_dens_new + age_mdn + male_pct + 
               pop_wht_pct + pop_blk_pct + unemp_pct + pov_100x_npct +
               urban_pct, data = trauma, family = binomial (link = 'logit'), na.action = na.exclude)
reduced.modelfixed <- stepAIC(full.modelfixed, direction = "backward")

有错误提示说

Error in stepAIC(full.modelfixed, direction = "backward") :   
number of rows in use has changed: remove missing values?

数据中几乎每个变量都有一些缺失值,所以我无法删除所有缺失值(data = na.omit(data))

知道如何解决这个问题吗?

谢谢!!

【问题讨论】:

  • 似乎更像是一个统计问题而不是编程问题 - 可能更适合 stats.stackexchange。也许您想估算丢失的数据?
  • 使用多重插补来填补缺失值并避免逐步回归,因为它存在严重的统计问题并且有更好的方法可用。

标签: r logistic-regression


【解决方案1】:

这可能应该在统计论坛 (stats.stackexchange) 中,但简要地有一些注意事项。

主要的一点是,在比较两个模型时,需要将它们拟合到同一个数据集上(即您需要能够将模型相互嵌套)。

举例

glm1 <- glm(Dependent~indep1+indep2+indep3, family = binomial, data = data)
glm2 <- glm(Dependent~indep2+indep2, family = binomial, data = data)

现在假设我们缺少 indep3 的值,但不是 indep1 或 indep2。 当我们运行 glm1 时,我们在一个较小的数据集上运行它——我们拥有因变量和所有三个独立变量的数据集(即我们排除了任何缺少 indep3 值的行)。

当我们运行 glm2 时,会包含缺少 indep3 值的行,因为这些行确实包含依赖的、indep1 和 indep2,它们是变量中的模型。

我们不能再直接比较模型,因为它们适合不同的数据集。

我认为从广义上讲,您可以 1) 仅限于完整的数据 2)如果合适,考虑多重插补

希望对您有所帮助。

【讨论】:

    【解决方案2】:

    您可以使用MICE 包进行插补,然后使用数据集不会给您带来错误

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2018-08-31
      • 1970-01-01
      • 2018-04-27
      • 2016-03-20
      • 1970-01-01
      • 2020-08-03
      • 1970-01-01
      • 2013-03-04
      相关资源
      最近更新 更多