最近面试咨询的用户比较多,重庆未来之智toby老师之前发布了,银行金融风控面试必考题目(一)逻辑回归。由于逻辑回归知识篇幅较长,今天继续补充相关面试题。
8.评分卡模型中为什么要对数据 WOE 化?
在信用评分卡建模中,对变量进行WOE(Weight of Evidence)编码处理,主要基于以下五方面原因:
一、增强变量解释性与业务关联性 相较于传统的one-hot编码将离散变量拆分为多个虚拟变量,WOE化将每个分箱映射为一个可量化风险权重的数值。例如,将年龄分段为[18-25]、[26-35]等区间后,每个区间的WOE值直观反映该年龄段人群的违约风险水平,这种处理更符合金融业务中对风险趋势解读的需求。
二、实现变量筛选的量化评估 通过计算每个变量IV(Information Value)值,可客观评估变量的预测能力。例如:
-
IV<0.02的变量视为无预测价值
-
0.02≤IV<0.1为弱预测变量
-
IV≥0.1的变量保留建模 这种基于信息熵的筛选方法,比单纯依赖P值或系数大小更稳定可靠。
三、揭示变量非线性影响规律 对于离散型变量(如职业类别),WOE化后可通过各分箱的WOE值跳跃幅度,判断其对违约概率(Odds)的影响是否呈现线性规律。例如教育水平变量中,若"硕士"与"博士"的WOE值差异明显小于"高中"与"本科"的差异,则提示该变量存在非线性效应。
四、优化连续变量分箱合理性 针对收入等连续变量,WOE曲线可验证分箱是否符合业务认知。典型场景如:
-
呈现单调上升趋势(收入越高风险越低)
-
出现U型拐点(中等收入群体风险最低) 异常波动的WOE分布则提示需要重新调整分箱策略。
五、兼容缺失值的自动化处理 WOE编码允许将缺失值单独作为特殊分箱处理,避免传统方法中删除缺失样本或简单填充造成的偏差。例如在实际应用中,缺失学历信息的客群可能表现出独特的风险特征,其WOE值可能显著偏离其他分箱。
这种处理方式不仅提升模型稳健性,还将原始变量信息转化为符合逻辑回归建模需求的线性形态,同时保持业务解释维度不丢失,是平衡统计效能与业务可解释性的经典解决方案。
9.高度相关的特征加入逻辑回归有什么影响?为什么逻辑回归要剔除高度相关特征?
在逻辑回归模型中,将高度相关的特征带入会带来多方面影响,这也是需要剔除这些特征的原因,以下为你详细介绍:
带入高度相关特征的影响
- 参数估计不稳定
:高度相关的特征会使设计矩阵近乎奇异,导致参数估计的方差增大。这意味着在不同的样本数据下,估计得到的参数值可能会有较大波动,难以准确反映特征与因变量之间的真实关系。例如,在预测客户是否购买产品的逻辑回归模型中,如果“月收入”和“可支配收入”这两个特征高度相关,那么在不同的抽样数据中,这两个特征对应的回归系数可能会有很大变化,使得模型的解释性变差。
- 模型性能虚高
:高度相关的特征可能会使模型在训练集上表现出较好的性能,但在测试集上的泛化能力较差。因为模型可能过度依赖这些相关特征,将训练数据中的噪声也学习了进去,从而在面对新的数据时无法准确预测。比如,在一个疾病诊断的逻辑回归模型中,若“体温”和“炎症指标”高度相关,模型可能会在训练时对这两个特征的组合过度拟合,导致在实际诊断新患者时出现错误。
- 增加计算成本
:包含高度相关的特征会增加模型的复杂度,使计算量增大。在处理大规模数据时,这会显著延长模型的训练时间,降低计算效率。例如,在电商用户购买行为预测的逻辑回归模型中,如果有多个高度相关的商品浏览特征,会增加矩阵运算的复杂度,使得模型训练时间大幅增加。
-
降低模型过渡拟合
模型的变量越多,过度拟合概率越高,删除相关性高变量,保持适度维度可以避免过度拟合。
剔除高度相关特征的原因
- 提高模型稳定性
:通过剔除高度相关的特征,可以减少参数估计的方差,使模型的参数更加稳定,提高模型的可靠性和解释性。例如,在股票价格预测的逻辑回归模型中,剔除高度相关的财务指标特征后,回归系数能够更准确地反映各因素对股票价格的影响。
- 增强模型泛化能力
:去除高度相关的特征可以避免模型过度拟合训练数据,使其能够更好地适应新的数据,提高模型在测试集上的预测性能。例如,在预测房价的逻辑回归模型中,剔除高度相关的房屋面积和房间数量等特征后,模型在新的房屋数据上的预测准确性可能会提高。
- 降低计算成本
:减少不必要的特征可以降低模型的复杂度,减少计算量,缩短模型的训练时间,提高计算效率。例如,在社交媒体用户活跃度预测的逻辑回归模型中,剔除高度相关的特征后,模型可以更快地完成训练,及时为业务决策提供支持。
toby老师在多次项目实验中发现,剔除相关性高的变量,模型AUC和ks反而有可能提升,但不是每次都是。
10.逻辑回归的特征系数的绝对值可以认为是特征的重要性吗?
逻辑回归中特征系数的绝对值并不能直接用来衡量特征的重要性。虽然特征系数的绝对值越大,对分类结果的影响看起来越显著,但这并不意味着系数大的特征就一定更重要。因为特征系数的绝对值会受到变量尺度的影响,改变变量的尺度会导致系数的绝对值发生变化。此外,如果特征之间存在线性相关性,系数可能会在相关特征之间转移,特征之间的相关性越高,就越不能用系数来准确解释特征的重要性。
11.逻辑回归调参应该注意哪些重要参数?
一、正则化参数(penalty
与C
)
- 正则化类型(
penalty
)- L1正则化
(
penalty='l1'
):通过稀疏化特征权重实现特征选择,适合高维稀疏数据(如文本分类)。 - L2正则化
(
penalty='l2'
):默认选项,防止过拟合且参数更稳定,适用于大多数场景。 - 注意事项
:
solver
必须与正则化类型兼容。例如,liblinear
和saga
支持L1,而lbfgs
仅支持L2。
- L1正则化
- 正则化强度(
C
)C
是正则化系数λλ的倒数(C=1/λC=1/λ),C越小正则化越强。
- 调参策略
:通过网格搜索(
GridSearchCV
)在0.01≤C≤100.01≤C≤10范围内测试,优先使用对数均匀采样(如[0.01,0.1,1,10][0.01,0.1,1,10])。
二、优化算法(solver
)
- 算法选择依据
算法
适用场景
支持正则化类型
liblinear
小数据集(样本量<10万)
L1/L2
lbfgs
中等数据集,多分类任务
L2
sag
/
saga
大数据集(样本量>10万)
L2(sag)/L1+L2(saga)
- 注意事项
:
saga
是唯一支持弹性网络(elasticnet
)的算法。
- 注意事项
三、类别权重(class_weight
)
- 处理样本不平衡
-
设置
class_weight='balanced'
自动按类别比例调整权重,适用于欺诈检测、罕见病诊断等场景。 - 手动指定权重
:例如
{0:0.2,1:0.8}
,提高少数类样本的损失贡献。
-
四、多分类策略(multi_class
)
- 选项与适用性
ovr
(One-vs-Rest):将多分类拆分为多个二分类问题,适合类别较少的情况,兼容所有
solver。
multinomial
(MvM):直接优化多分类交叉熵,精度更高但计算量大,仅支持
lbfgs
、sag
、saga
等算法。
五、迭代控制参数(max_iter
与tol
)
- 收敛条件调整
max_iter
:默认100次迭代,使用拟牛顿法(如
lbfgs
)或随机梯度下降(如saga
)时,需根据数据规模增加至500-1000次。tol
:收敛阈值,默认10−410−4。若模型未收敛,可降低至10−510−5;若需加速训练,可放宽至10−310−3
。
六、实践调参流程建议
- 基线模型
:初始化参数为
penalty='l2'
,solver='lbfgs'
,C=1.0
,观察初始效果。 - 正则化优化
:固定
solver
后,通过交叉验证调整C
,优先测试L2正则化,若效果不佳再尝试L1。 - 算法切换
:若数据量超过10万,切换至
saga
并启用并行计算(n_jobs=-1
)。 - 最终验证
:使用独立测试集验证泛化性能,确保参数稳定性。版权声明:文章来自公众号(python风控模型),未经许可,不得抄袭。遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。