如何利用relaimpo包的相对重要性结果构建预测用lm线性模型
关于relaimpo结果用于线性模型构建的问题解答
1. 能否用筛选出的变量构建普通lm模型
完全可以。calc.relimp的lmg指标本身就是基于普通线性回归的方差分解逻辑计算的,你筛选出的变量天然适配线性模型的输入要求,直接传入lm()函数构建模型即可。52%的方差解释率虽然不算高,但只要满足你的业务场景需求,完全可以正常使用。
2. 能否直接按lmg相对重要性给变量赋权重
不建议这么做。普通线性回归的系数是通过最小二乘估计得到的,已经自动考虑了变量与响应变量的关联强度、变量间的共线性影响,人工按lmg值给变量加权重会破坏最小二乘的无偏性,反而会导致模型的预测效果下降。
3. 相对重要性数值的正确使用方式
你可以在以下场景合理使用lmg的计算结果:
- 变量精简:你当前已经在做这一步,即保留lmg值较高的变量、剔除贡献极低的变量,降低大样本数据集下的模型复杂度,减少过拟合风险
- 模型解释:线性模型构建完成后,可以用lmg值作为变量贡献的解释依据,相比单纯看回归系数绝对值,lmg已经修正了变量量纲、共线性带来的偏差,能更准确的说明每个变量对模型整体解释方差的贡献占比
- 正则化回归定制权重:如果你确实希望重要性更高的变量在模型中发挥更大作用,可以改用正则化线性模型(比如
glmnet包的Lasso/岭回归),给lmg值更高的变量设置更低的惩罚系数(对应penalty.factor参数),变相提升高重要性变量的权重,这个逻辑是通顺的,不会破坏模型的统计合理性。
小提示:当前模型方差解释率仅为52%,建议先排查是否存在未纳入的重要变量、或者变量与响应变量存在非线性关系未处理,若业务允许也可以尝试非线性模型提升效果。
内容的提问来源于stack exchange,提问作者Daniel D
相关产品推荐
相关产品推荐

