4. 数据准备与特征工程

在保险定价模型Champion/Challenger的实战中,算法选择往往只决定模型上限的20%,而数据准备与特征工程决定了80%的落地效果。保险数据天然具有高噪声、强偏态、多源异构和业务强约束的特点,如果直接把原始字段丢进模型,不仅区分度差,还会因变量不可解释而无法通过精算与合规评审。本章围绕数据来源、清洗、缺失值、分箱、WOE/IV、特征筛选与业务可解释性,构建一条可复用的特征工程流水线。

一、核心原理:保险数据的三个特殊性

保险定价数据与互联网行为数据有本质差异,理解这三点才能选对方法。

  • 标签稀疏且滞后:车险出险、健康险理赔都是低频事件,正样本率常在1%~10%,且需要观察期才能确认,导致样本量受限、标签噪声大。
  • 变量强业务含义:从人、从车、从地、从用四类因子都对应核保规则,模型变量必须能向监管和业务方解释,黑箱特征难以过审。
  • 分布长尾与单调性:赔款金额、行驶里程等呈重尾分布,且风险与变量常呈单调关系(如年龄、车龄),这为分箱和WOE提供了天然的业务约束。

因此,保险特征工程的核心目标不是“造更多特征”,而是把原始字段转化为稳定、单调、可解释、区分度可量化的建模变量。

二、方法流程:六步特征工程流水线

下面这条流水线是Champion/Challenger对比实验的公共底座,Challenger可以在任一步引入新方法,但必须与Champion在同一数据切分和同一评估口径下比较。

  1. 数据来源整合:投保系统(保单、批单)、理赔系统(报案、立案、赔付)、外部数据(征信、车联网、地理编码)。以保单号+险种+起保日期为主键做宽表关联。
  2. 数据清洗:去重、异常值识别、逻辑一致性校验(如起保日期晚于终保日期、年龄为负)。
  3. 缺失值处理:区分完全随机缺失、随机缺失和非随机缺失,分别采用删除、填充、缺失指示变量。
  4. 变量分箱:连续变量离散化,常用等频、等距、卡方分箱、决策树分箱,并施加单调性约束。
  5. WOE/IV计算:用WOE编码提升线性模型稳定性,用IV量化单变量区分度。
  6. 特征筛选与可解释性校验:按IV、相关性、VIF、业务逻辑筛选,输出变量字典。

关键原则:所有分箱边界、WOE映射表、缺失填充值都必须只在训练集上拟合,再应用到验证集和测试集,否则会造成标签泄漏,Challenger的离线指标会虚高。

三、WOE与IV:量化区分度的核心工具

WOE(Weight of Evidence)衡量某个分箱内“坏样本占比”与“好样本占比”的差异,IV(Information Value)是各分箱WOE的加权和,用于快速判断变量是否有预测力。

WOE_i = ln( (Bad_i / Bad_total) / (Good_i / Good_total) )
IV    = Σ ( (Bad_i/Bad_total) - (Good_i/Good_total) ) * WOE_i

经验阈值:
IV < 0.02   预测力极弱,通常剔除
0.02 ~ 0.1  弱
0.1  ~ 0.3  中等,可用
0.3  ~ 0.5  强
IV > 0.5    过强,需警惕标签泄漏或变量穿越

WOE编码还有一个工程优势:它把每个分箱映射为与违约/出险对数几率线性相关的数值,使逻辑回归系数稳定,同时天然处理了缺失值——把缺失单独作为一个分箱即可。

四、案例场景:车险从人从车因子分箱

以某车险定价项目为例,原始字段包括被保险人年龄、车龄、历史赔付次数、年行驶里程、NCD系数等。经过清洗后,对“被保险人年龄”做单调分箱,对“历史赔付次数”做业务分箱,结果如下表。

变量分箱方式分箱结果IV业务解释
被保险人年龄卡方分箱+单调约束[18,25)、[25,35)、[35,50)、[50,65)、65+0.18年轻与高龄风险高,呈U型
车龄等频分箱0-1、2-3、4-6、7-10、10+0.12车龄越大,车辆价值下降但故障率上升
历史赔付次数业务分箱0、1、2、3+0.31强预测因子,次数越多风险越高
年行驶里程决策树分箱<1万、1-2万、2-3万、3万+0.09里程暴露量,弱但稳定
NCD系数保留原始连续值—0.22监管因子,必须保留且不可分箱扭曲

NCD系数这类监管或业务强制因子,即使IV不高也必须保留,且分箱方式要符合监管口径。特征筛选不能只看统计指标,还要过业务合规这一关。

五、特征筛选与业务可解释性

筛选不是简单地按IV排序取TopN,而是多准则联合决策:

  • 区分度:IV低于0.02的变量优先剔除。
  • 相关性:两两相关系数高于0.7的变量保留业务含义更清晰的一个。
  • 多重共线性:逻辑回归中VIF高于5需处理,树模型可适当放宽。
  • 稳定性:用PSI监控训练集与验证集分布漂移,PSI高于0.1需重新分箱。
  • 业务可解释性:每个变量必须能回答“为什么它影响风险”,并写入变量字典。

最终产出的变量字典应包含:变量名、分箱边界、WOE值、IV、缺失处理方式、业务解释、监控频率。这份字典是Champion与Challenger共享的“特征契约”,保证两者对比公平。

六、常见误区与复盘

误区一:全量数据拟合分箱。在训练集+测试集上一起算WOE,导致标签泄漏,离线AUC虚高,上线后严重衰减。
误区二:盲目追求高IV。IV过高往往意味着变量穿越(用了未来信息)或与标签定义重叠,必须排查。
误区三:缺失值一律填0。保险中缺失常含信息(如未提供车联网数据可能代表低风险客户),应加缺失指示变量。
误区四:忽视单调性。分箱后WOE忽高忽低,业务无法解释,评分卡也难以通过评审。
误区五:Challenger随意改特征口径。对比实验必须锁定同一份特征契约,否则无法判断是模型还是特征带来的提升。

复盘时建议做一次“特征穿越审计”:逐变量检查其取值时间是否早于标签观察期,并核对分箱边界是否在训练集上拟合。只有通过审计的特征,才允许进入Champion/Challenger的对比实验。

保险特征工程流水线:从原始保单到WOE变量 数据来源 保单/理赔/外部 数据清洗 去重/异常/一致性 缺失值处理 填充/指示变量 变量分箱 卡方/等频/单调 WOE/IV 编码与区分度 特征筛选与可解释性 IV/相关性/VIF/PSI/业务字典 WOE分箱示例:历史赔付次数 0次 WOE=-0.85 1次 WOE=0.12 2次 WOE=0.78 3次及以上 WOE=1.65 IV=0.31

把上述流水线固化为脚本和变量字典后,Champion与Challenger就能在同一份特征底座上公平竞技。下一阶段进入模型训练时,你会发现真正拉开差距的,往往不是算法本身,而是这一章里每一个分箱边界和缺失值决策。