4. 探索性分析

在长期险种(如重疾、寿险、长期意外)的赔付发展建模中,尾部赔付往往是最难刻画的部分。所谓“尾部”,通常指事故期后经过较长发展期(例如36个月、60个月甚至更久)仍未完全结案的赔案所对应的赔付额。与早期赔付相比,尾部赔付具有金额占比小、波动大、个案影响显著、数据稀疏等特点。因此,在正式建立随机模型或确定性发展因子之前,必须进行系统的探索性分析(EDA),用可视化、趋势识别、季节性检验和初步统计描述来理解数据的基本形态。本节将围绕这一目标,给出可落地的分析流程与实战要点。

一、核心原理:为什么尾部赔付需要专门的探索性分析

尾部赔付的发展模式与早期赔付存在本质差异。早期赔付通常受报案延迟、立案速度、小额快速结案等因素主导,呈现出较为稳定的发展因子;而尾部赔付更多受大案调查、法律诉讼、伤残鉴定、医疗复核等长尾事件驱动,其发展路径往往不是单调递减,而是可能出现“二次抬头”或“长尾拖拽”。如果直接套用整体发展因子,会系统性低估或高估尾部责任。

探索性分析的核心任务可以归纳为四点:

  • 可视化:用图形直观呈现尾部赔付随发展期的变化,识别异常点和聚集模式。
  • 趋势识别:判断尾部赔付是否存在随事故期或日历期的系统性上升/下降趋势。
  • 季节性分析:检验赔付是否在特定月份或季度出现规律性波动,避免将季节性误判为趋势。
  • 初步统计描述:计算均值、中位数、分位数、变异系数、偏度等指标,为后续建模选择分布假设提供依据。

关键认知:尾部赔付的探索性分析不是“画几张图”的例行公事,而是决定后续模型结构(是否分事故期、是否引入日历效应、是否使用混合分布)的关键证据链。

二、方法流程:从数据准备到图形诊断

建议按照以下六步流程推进,每一步都产出可复核的中间结果。

  1. 数据准备与口径统一:明确事故期、发展期、日历期三个维度,统一赔付口径(已决+未决、是否含间接理赔费用)。
  2. 构建尾部赔付三角形:按事故期×发展期汇总累计赔付,并截取发展期大于阈值(如24个月)的部分作为尾部子集。
  3. 可视化诊断:绘制尾部赔付发展曲线、热力图、箱线图和小提琴图。
  4. 趋势识别:对每个发展期,检验不同事故期的尾部赔付是否存在单调趋势或结构突变。
  5. 季节性分析:按日历月或季度聚合,使用季节分解或月度箱线图判断季节性强度。
  6. 初步统计描述:输出分位数表、变异系数、偏度、峰度,并记录异常值清单。

下面是一段用于构建尾部赔付三角形并输出初步统计描述的示例代码,可直接在Python环境中运行:

import pandas as pd
import numpy as np

# 假设 df 包含: accident_period, dev_period, paid_amount
df = pd.read_csv("tail_claims.csv")

# 截取尾部发展期(例如 dev_period >= 24)
tail = df[df["dev_period"] >= 24].copy()

# 构建累计赔付三角形
triangle = tail.pivot_table(
    index="accident_period",
    columns="dev_period",
    values="paid_amount",
    aggfunc="sum"
).fillna(0)

# 初步统计描述
desc = tail["paid_amount"].describe(
    percentiles=[0.25, 0.5, 0.75, 0.9, 0.95, 0.99]
)
print(desc)
print("变异系数:", tail["paid_amount"].std() / tail["paid_amount"].mean())
print("偏度:", tail["paid_amount"].skew())
print("峰度:", tail["paid_amount"].kurt())

运行后应重点关注:均值是否被少数大额赔案拉高、中位数与均值差距、95%分位数与最大值的比值。这些指标直接决定后续是否需要对数变换或采用稳健发展因子。

三、可视化与趋势识别:一张图看清尾部发展模式

下图展示了尾部赔付发展模式探索性分析的核心结构:左侧为数据维度与诊断工具,右侧为对应的分析产出与判断结论。图中同时标注了趋势识别和季节性分析的分支,便于在实际项目中按图索骥。

尾部赔付探索性分析结构图 数据维度 事故期 发展期 日历期 赔付口径 尾部子集截取 诊断工具 发展曲线图 热力图 箱线图 / 小提琴图 季节分解图 分位数表 分析产出 异常点清单 趋势方向判断 季节性强度 分布假设建议 建模结构决策

在实际操作中,建议优先绘制“事故期×发展期”的尾部赔付热力图。热力图的颜色深浅可以快速暴露两类问题:一是某些事故期在特定发展期出现异常高值,可能对应大案集中爆发;二是某些发展期整体偏暗,说明该阶段赔付已趋于稳定,可考虑作为尾部起点。趋势识别则可通过按事故期排列的箱线图完成,若中位数随事故期单调上升,则提示存在系统性趋势,需要在模型中引入事故期效应。

四、季节性分析与初步统计描述:容易被忽视的细节

季节性在长期险种尾部赔付中并不罕见。例如,某些伤残鉴定机构在年末集中出具报告,可能导致第四季度尾部赔付抬升;或者春节前后报案和结案节奏变化,造成月度波动。如果忽略季节性,可能将季节性波动误判为趋势,进而错误调整发展因子。

季节性分析的推荐做法是:先按日历月聚合尾部赔付,计算月度均值与标准差,再绘制月度箱线图。若某几个月份的箱体明显偏离整体中位数,且该模式在多个事故期重复出现,则可判定存在季节性。此时可进一步使用STL分解或月度虚拟变量回归来量化季节性强度。

初步统计描述方面,建议至少输出以下清单:

统计量 含义 尾部赔付中的典型表现 建模启示
均值 vs 中位数 集中趋势对比 均值远大于中位数 存在大额赔案,考虑稳健估计
变异系数 离散程度 通常大于1 波动大,不宜用简单平均因子
偏度 分布不对称性 右偏显著 可尝试对数正态或伽马分布
峰度 尾部厚度 高峰度 极值风险高,需单独处理
95%分位数 高分位水平 远高于中位数 用于设定尾部上限或情景假设

实战提示:在输出统计描述时,务必同时给出样本量和缺失值比例。尾部数据稀疏,若某个事故期在发展期60个月后仅有3条记录,其统计量几乎不可信,应在后续建模中降权或合并。

五、常见误区与复盘要点

根据多个长期险种建模项目的复盘,尾部探索性分析中最容易踩的坑包括:

  • 误区一:把季节性当趋势。看到某年第四季度赔付上升就认为趋势恶化,实际可能只是鉴定机构年末集中出报告。应至少观察3个以上事故期的同月表现。
  • 误区二:忽略赔付口径变化。若某事故期开始将间接理赔费用纳入赔付,尾部曲线会出现结构性跳升,这不是真实发展模式变化。
  • 误区三:用整体发展因子直接外推尾部。尾部赔付的发展因子通常大于早期,直接套用会低估最终赔付。
  • 误区四:不做异常值标记。尾部数据中个别千万级赔案可能主导整个事故期的均值,必须单独标记并评估是否纳入建模样本。

复盘结论:探索性分析的价值在于“先看见,再建模”。建议将本节产出的图形、统计表和异常值清单作为建模文档的必备附件,确保后续每一次模型调整都能追溯到具体的探索性证据。

完成本节分析后,你应当能够回答三个问题:尾部赔付的发展曲线是单调递减还是存在二次抬头?不同事故期之间是否存在系统性趋势?月度或季度波动是否具有可重复的季节性模式?这些答案将直接决定下一阶段发展因子选择与随机模型结构的设计方向。