logistic regression 变量选择 逐步回归 forward backward stepwise

变量选择主要是3种方法,forward、backward、stepwise
一.backward
1.设定一个变量剔除的显著性水平,通常是0.05,以下描述使用0.05
2.全部变量入模拟合,每一轮,剔除系数p-value >= 0.05且p-value最大的那一个,直到全部变量p-value < 0.05
(网上看到一个实现是每一轮循环,还会判断AIC,如果删除一个变量,导致AIC变大,那么会跳出循环,但这样会导致其中的变量仍然有不显著的,这里最终模型可能会有问题)

二.forward
1.设定一个变量入选的显著性水平,通常是0.05,以下描述使用0.05
2.第1轮是一个截距项进行拟合,第2轮只加1个变量去拟合模型(每个变量都去循环尝试),选择这些变量p-value小于0.05且最小的入模,第3轮,再剩余这些变量中再选1个变量入模(每个变量都去循环尝试),选择这些变量p-value小于0.05且最小的入模,依次类推,直到没有变量能选入模型
forward过程可能导致,之前被选入的变量,在某个阶段变得不显著,其实最后选完了还得后向剔除不显著的变量。
(网上看到一个实现是选入新变量后,要计算AIC和上一步AIC比较,新AIC必须小于上一步AIC,才选入新变量,否则会直接停止迭代,产生了最终入模变量集,我觉得有点不太合理,应该像early_stopping那样设置大一些,1次曲折就跳出循环,不太合理)

三.stepwise
每一步都是正向和逆向选择的结合,每一步都尝试选入一个变量,每一步都尝试删除一个变量
1.设置入选的阈值0.05,剔除的阈值也是0.05
2.stepwise的循环终止条件应该是没有变量能选入,也没有变量能剔除,而backward的循环次数是变量数,forward外层循环数最大是变量数,可能没有能选的变量提前跳出循环

变量选择的方法可以抽象成一种框架,可以应用于不同的算法,可以采用不同的标准,比如AUC,AIC,系数p-value等等

注:AIC就类似logloss+2倍变量数作为正则项



留言

熱門文章