R语言中如何统计向后逐步选择后保留的预测变量数量
向后逐步回归完成后统计保留预测变量个数的方法
基于你提供的示例代码,运行step()得到的step_reduction是逐步选择后的最终模型对象,可根据实际统计需求选择对应方法:
统计最终模型中所有纳入的项数(含主效应、交互项,因子变量的多个哑变量合并视为对应项的整体,不含截距)
这是最常用的「模型保留了多少个项」的统计口径,代码如下:# 提取所有保留项的标签 term_labels <- attr(terms(step_reduction), "term.labels") # 统计项数 length(term_labels)你可以直接打印
term_labels查看所有保留的项,手动核对统计结果。统计最终模型用到的唯一原始主效应变量个数(不管变量出现在主效应还是交互项中,每个原始预测变量只计数1次)
适合需要确认总共用到多少个原始自变量的场景,代码如下:term_labels <- attr(terms(step_reduction), "term.labels") # 拆分交互项、提取所有原始变量后去重 unique_raw_vars <- unique(unlist(strsplit(term_labels, ":"))) # 统计原始变量个数 length(unique_raw_vars)统计最终模型的系数总个数(含截距、因子每个哑变量、每个交互项的单独系数)
适合需要统计模型参数总数的场景,代码如下:# 统计含截距的所有系数个数 length(coef(step_reduction)) # 统计不含截距的系数个数 length(coef(step_reduction)) - 1
以上方法对lm、glm类模型做向后逐步选择后的结果都通用。
内容的提问来源于stack exchange,提问作者PortMadeleineCrumpet
相关产品推荐
相关产品推荐

