3、线性模型与逻辑回归:系数解读、特征重要性排序、置信区间
线性模型和逻辑回归,是金融风控里最基础也最常用的模型。很多人觉得它们太简单,没什么好讲的。但我做了这么多年风控,反而觉得——越简单的模型,越考验你对业务的理解深度。
今天我们就来聊聊,怎么把这两个模型的系数读透,怎么给特征排个靠谱的重要性顺序,以及置信区间到底能告诉我们什么。
3.1 线性回归的系数:别只看正负号
线性回归的系数,说白了就是「X每变化一个单位,Y平均变化多少」。但在风控场景里,这个解读要小心。
举个例子。我做过一个信贷评分卡项目,特征「年龄」的系数是0.02。乍一看,年龄越大评分越高?但仔细一想,年轻人收入低、还款能力弱,中年人收入稳定、评分高,老年人退休后收入下降、评分又低了。所以年龄和风险其实是U型关系。
线性模型默认是直线关系,你硬塞进去,系数就会失真。我建议的做法是:
- 先做分箱,把连续变量离散化
- 观察每个箱体的坏账率,确认单调性
- 如果确实单调,再用线性模型;否则考虑加入平方项或做WOE编码
重要提醒:线性回归的系数绝对值大小,不能直接用来比较特征重要性。因为不同特征的量纲不同,比如「收入」的单位是万元,「年龄」的单位是岁,系数大小没有可比性。
3.2 逻辑回归的系数:从Logit到概率
逻辑回归输出的是概率,但它的系数解读要绕个弯。模型内部其实是在拟合Logit,也就是ln(p/(1-p))。
系数表示:X每变化一个单位,Logit值变化多少。但Logit值不好理解,我们更关心概率的变化。
我习惯的做法是:
- 先算出基准概率p0
- 然后算系数对应的优势比(Odds Ratio),即exp(β)
- 最后说「X每增加1个单位,违约概率变为原来的exp(β)倍」
举个例子。假设模型里「近3个月查询次数」的系数是0.3,那么exp(0.3)≈1.35。意思是:查询次数每多1次,违约的优势比增加35%。
我的小技巧:在给业务方汇报时,我从来不说「Logit值增加0.3」,而是说「违约风险上升35%」。业务方听不懂Logit,但听得懂百分比。
3.3 特征重要性排序:别迷信系数大小
很多人直接拿逻辑回归系数的绝对值来排特征重要性。嗯,这其实是个坑。
为什么?因为系数受量纲影响。你想想看,如果「收入」的单位是元,系数可能是0.0001;如果换成万元,系数就变成1了。绝对值能比吗?
我推荐几种更靠谱的方法:
| 方法 | 原理 | 适用场景 |
|---|---|---|
| 标准化系数 | 先把所有特征标准化,再比较系数 | 特征量纲差异大时 |
| Wald统计量 | 系数除以标准误,越大越重要 | 考虑系数稳定性 |
| 置换重要性 | 打乱某个特征,看模型效果下降多少 | 模型已经训练好之后 |
| SHAP值 | 基于博弈论,每个特征对预测的贡献 | 需要解释单笔预测时 |
我个人最常用的是标准化系数。操作很简单:
# Python示例:标准化系数
from sklearn.preprocessing import StandardScaler
import statsmodels.api as sm
# 标准化特征
scaler = StandardScaler()
X_scaled = scaler.fit_transform(X)
# 训练逻辑回归
model = sm.Logit(y, sm.add_constant(X_scaled)).fit()
# 输出标准化系数
print(model.params.sort_values(ascending=False))
这样排出来的顺序,才真正反映了特征对模型的影响力度。
3.4 置信区间:告诉你系数有多「靠谱」
系数只是一个点估计。它到底稳不稳?置信区间能回答这个问题。
置信区间越窄,说明系数估计越精确。如果区间包含0,说明这个特征可能不显著。
我曾经在一个项目中,看到「婚姻状况」的系数是-0.5,看起来已婚比未婚风险低。但一看95%置信区间,是[-1.2, 0.2],包含了0。嗯,这个特征其实不显著,不能盲目相信系数。
避坑指南:我曾经犯过一个错误——只看系数大小,没看置信区间。结果上线后,某个特征的系数方向跟业务直觉完全相反。后来一查,是因为该特征与另一个特征高度相关,导致系数估计不稳定。从那以后,我每次看系数都会先看置信区间宽度。
在Python里,用statsmodels可以很方便地输出置信区间:
# 输出系数的置信区间
print(model.conf_int())
# 也可以合并展示
result = pd.DataFrame({
'coef': model.params,
'lower': model.conf_int()[0],
'upper': model.conf_int()[1]
})
print(result)
3.5 本章知识体系
下面这张图,帮你把本章的核心逻辑串起来:
这张图把本章的三个核心内容串在了一起。你从「模型系数」出发,往左走是系数解读,往中间走是特征重要性排序,往右走是置信区间。三者结合,才能得到真正可靠的特征重要性判断。
好了,这一章就到这里。记住一句话:系数是骨架,置信区间是血肉,标准化是尺子。三者缺一不可。
公众号:蓝海资料掘金营,微信deep3321