我在 R 中拟合了一个二项式族 glm,并且我有一整组解释变量,我需要找到最好的(R 平方作为衡量标准很好)。没有编写一个脚本来循环通过解释变量的随机不同组合,然后记录哪个表现最好,我真的不知道该怎么做。并且leaps
package jumps中的函数似乎没有进行逻辑回归。
任何帮助或建议将不胜感激。
我在 R 中拟合了一个二项式族 glm,并且我有一整组解释变量,我需要找到最好的(R 平方作为衡量标准很好)。没有编写一个脚本来循环通过解释变量的随机不同组合,然后记录哪个表现最好,我真的不知道该怎么做。并且leaps
package jumps中的函数似乎没有进行逻辑回归。
任何帮助或建议将不胜感激。
逐步和“所有子集”方法通常不好。请参阅 David Cassell 和我本人(我们使用 SAS,但该课程适用)或 Frank Harrell 回归建模策略的 Stopping Stepwise:Why Stepwise Methods are Bad and what you Should Use。如果您需要自动方法,我推荐 LASSO 或 LAR。这里有一个逻辑回归的 LASSO 包,另一篇有趣的文章是关于逻辑回归的迭代 LASSO
首先,不是逻辑回归的合适拟合优度度量,例如,或
Logistic回归是通过最大似然法估计的,所以leaps
这里不直接使用。功能的扩展leaps
是bestglm包(通常建议如下,请参阅那里的小插曲)。glm()
您可能还对 David W. Hosmer、Borko Jovanovic 和 Stanley Lemeshow Best Subsets Logistic Regression // Biometrics Vol. 的文章感兴趣。45,第 4 期(1989 年 12 月),第 1265-1270 页(通常可通过大学网络访问)。
一个想法是使用随机森林,然后使用它输出的变量重要性度量来选择最好的 8 个变量。另一个想法是使用“boruta”包重复这个过程几百次,以找到对模型始终最重要的 8 个变量。
stats::step
函数或更通用的MASS::stepAIC
函数支持lm
,glm
(包括逻辑回归)和aov
族模型。