3. 数据准备与探索

频率严重度模型的上限,往往不由算法决定,而由数据准备的质量决定。理赔数据天生具有长尾、稀疏、延迟报告和口径不一致等特征,如果直接进入建模环节,频率模型会把重复报案当成多次事故,严重度模型会被几笔巨额赔案拉偏,最终赔付成本定价出现系统性偏差。本节围绕数据来源、清洗、缺失值与异常值处理、描述性统计与可视化四个环节,建立一套可复用的数据准备流程。

一、核心原理:理赔数据的四类来源与三条质量红线

赔付成本定价所需的数据通常来自四个系统,它们的时间粒度和责任口径并不一致,合并时必须先对齐。

  • 保单系统:提供风险暴露量,如承保天数、保额、免赔额、车型或标的属性,是计算频率分母的基础。
  • 报案与理赔系统:提供事故时间、报案时间、结案时间、责任比例、赔付金额,是频率与严重度的主数据源。
  • 财务与再保系统:提供已付、未决、追偿与再保摊回,决定最终净赔付成本。
  • 外部数据:如零配件价格、医疗通胀指数、区域维修工时,用于严重度趋势校正。

在此基础上,数据质量有三条红线:暴露量必须完整,否则频率被高估;赔案必须去重,否则频率被重复计数;金额必须区分已付与未决,否则严重度波动被掩盖。任何一条红线被突破,后续模型都难以通过业务校验。

核心原则:先定义分析单元,再清洗数据。频率模型的分析单元通常是“保单-风险期间”,严重度模型的分析单元通常是“已结案赔案”。分析单元不同,去重键和缺失值处理策略也不同。

二、方法流程:从原始表到建模宽表

建议按以下六步推进,每一步都保留可追溯的中间表。

  1. 口径对齐:统一事故日期、报案日期、结案日期的时区与格式,统一金额币种与是否含税。
  2. 赔案去重:以“保单号+事故日期+报案人+损失类型”为候选键,识别重复报案与注销重开。
  3. 缺失值诊断:区分完全随机缺失、随机缺失与非随机缺失,分别处理。
  4. 异常值识别:结合业务规则与统计方法,标记而非直接删除。
  5. 特征衍生:生成事故季度、报案延迟天数、是否涉及人伤、是否诉讼等变量。
  6. 描述性统计与可视化:输出频率、严重度、赔付率的分布与趋势,形成建模前的基线认知。

缺失值处理需要按字段类型区分策略。关键字段如赔付金额缺失,若无法从财务系统补齐,应剔除该赔案并记录剔除率;非关键字段如职业类别缺失,可归入“未知”并保留一个哑变量。异常值方面,建议先用业务规则设定硬边界,再用分位数或对数变换后的Z分数标记软异常。以下是一段可复用的清洗参数配置示例:

claim_clean:
  dedup_keys: [policy_no, accident_date, claimant_id, loss_type]
  amount_fields:
    paid_amount: {missing: drop, min: 0, max: 5000000}
    incurred_amount: {missing: impute_median_by_lob, min: 0}
  date_fields:
    report_delay_days: {min: 0, max: 3650, outlier_flag: true}
  categorical:
    occupation: {missing: "UNKNOWN"}
    region: {missing: "UNKNOWN"}
  outlier:
    method: log_iqr
    iqr_multiplier: 3.0
    action: flag_only
实操建议:异常值优先“标记+分层”,不要直接删除。巨额赔案往往正是严重度模型最需要学习的尾部信息,删除会低估尾部风险,正确做法是单独建模或使用稳健分布。

三、案例场景:一张车险理赔宽表的清洗复盘

某车险团队在建模前发现频率模型结果异常偏高。排查后发现三个问题:一是同一事故存在“报案号不同但保单号、事故日期、损失类型相同”的重复记录,占比约4.2%;二是部分赔案赔付金额为0但状态为已结案,实际是注销案件,被误计入频率分子;三是报案延迟天数出现负值,原因是事故日期录入错误。团队按上述流程处理后,频率下降约6.8%,严重度均值变化不大但尾部更稳定。

下表总结了常见字段的问题类型与推荐处理动作,可作为清洗清单使用。

字段 常见问题 推荐处理 风险提示
赔付金额 缺失、负值、未决与已付混用 区分口径,缺失按险种中位数填补或剔除 混用会高估严重度波动
事故日期 格式不一、晚于报案日期 统一格式,逻辑校验并回查 影响事故季度与趋势
报案延迟 负值、极端长尾 负值修正,长尾标记不删除 与欺诈和严重度相关
责任比例 缺失、超过100% 按保单条款校验,缺失归入未知 影响净赔付计算
标的属性 类别拼写不一致 建立映射字典标准化 影响风险分组

四、描述性统计与可视化:建立建模前的基线

清洗完成后,不要急于建模,先用描述性统计和可视化建立基线。频率侧重点看:赔案数按事故季度、险种、区域的分布,以及报案延迟的分布;严重度侧重点看:赔付金额的均值、中位数、分位数和尾部集中度。建议至少输出以下指标:赔案数、暴露量、频率、已付金额、未决金额、严重度均值与中位数、P95与P99分位数、赔付率。

可视化方面,严重度金额强烈右偏,直方图应使用对数横轴;频率适合用柱状图对比不同分组的每千张保单赔案数;报案延迟适合用箱线图观察异常。下图展示了从原始理赔表到建模宽表的数据流与关键质量控制点,帮助理解各环节的输入输出关系。

理赔数据准备:来源 → 清洗 → 探索 → 建模宽表 保单系统 暴露量 / 保额 免赔额 / 标的属性 理赔系统 事故 / 报案 / 结案 责任比例 / 赔付金额 财务与再保 已付 / 未决 / 追偿 再保摊回 清洗与质控 ① 口径对齐 ② 赔案去重 ③ 缺失值诊断 ④ 异常值标记 ⑤ 特征衍生 ⑥ 基线统计 频率基线 赔案数 / 暴露量 / 频率 按季度、险种、区域分组 报案延迟分布 严重度基线 均值 / 中位数 / P95 / P99 对数直方图 / 箱线图 尾部集中度 质量控制点:暴露量完整 · 赔案去重 · 已付未决分离 · 异常值标记不删除
常见误区:把“已结案”等同于“有效赔案”。注销、拒赔、零赔付案件若未剔除,频率会被高估;把“未决金额”直接当作已付金额,严重度会被低估。建议在宽表中同时保留案件状态与金额口径字段,便于回溯。

完成上述步骤后,应形成一份数据准备报告,至少包含:原始记录数、去重后记录数、各字段缺失率、异常值标记数量、频率与严重度的基线指标。这份报告既是建模输入,也是后续模型监控的参照。只有数据准备可追溯、可复现,频率严重度模型与赔付成本定价才具备可信的业务解释力。