首页 > 解决方案 > olsrr 包的 ols_step_forward_p 函数中 p 值的解释

问题描述

考虑以下示例:-(取自 R 文档的示例)

model <- lm(y ~ ., data = surgical)
ols_step_forward_p(model)

文档说它将采用 Forward Stepwise 方法来选择最终模型。如果我没记错的话,这种前向选择不是基于观察以下测试统计的 p 值:-

在此处输入图像描述

我们正在考虑一个总共有 K 个预测变量的模型。RSS 表示残差平方和,下标 p 和 K 分别表示具有 p 和 K 个预测变量的模型的 RSS。

如果我没有penterols_step_forward_p函数中给出命令,选择什么默认 p 值?

标签: r

解决方案


ols_step_forward_p这里有文档(?olsrr::ols_step_forward_p如果您安装了软件包,也可以通过)

第二个条目(“默认的 S3 方法”)说

ols_step_forward_p(模型,penter = 0.3,进度 = FALSE,详细信息 = FALSE,...)

(强调补充)。

这意味着默认值为penter0.3。

要更详细地了解发生了什么,您可以查看olsrr::ols_step_forward_p.default. 这是相关的代码导出::

for (i in seq_len(len_p)) {
            predictors <- c(preds, all_pred[i])
            m <- lm(paste(response, "~", paste(predictors, collapse = " + ")), 
                l)
            m_sum <- Anova(m)
            pvals[i] <- m_sum$`Pr(>F)`[ppos]
        }

因此,您可以看到 p 值基于来自 的 F 检验car::Anova。更多?car::Anova.lm详情请看...


推荐阅读