3. 定价模型类型:广义线性模型(GLM)、机器学习模型(GBDT/XGBoost)、传统规则引擎

在保费定价实践中,模型的选择直接决定了定价的精准度、可解释性与运维成本。当前主流定价体系主要包含三大技术路线:广义线性模型(GLM)、机器学习模型(GBDT/XGBoost)以及传统规则引擎。三者并非互斥,而是在不同业务场景下形成互补的混合架构。

3.1 三大模型类型核心对比

维度 广义线性模型 (GLM) 机器学习模型 (GBDT/XGBoost) 传统规则引擎
核心原理 通过链接函数建立线性预测值与响应变量的关系 基于梯度提升的集成树模型,逐步拟合残差 基于业务专家经验的 if-then 决策逻辑
可解释性 高(系数直接反映风险因子影响) 中低(需借助 SHAP/PDP 等工具解释) 极高(规则逻辑透明)
非线性拟合 弱(需手动构造交互项与多项式) 强(自动捕捉高阶交互与非线性模式) 中(依赖规则数量与粒度)
监管合规 成熟(保险行业长期验证) 需额外解释性报告 完全合规
计算效率 高(线性复杂度) 中(树模型推理较快,训练较慢) 极高(简单条件判断)
适用场景 车险、健康险等传统精算定价 高维特征、复杂风险画像场景 核保规则、费率底线、特殊风险拒保
关键认知:GLM 是精算定价的"地基",提供可解释的基准费率;机器学习模型是"加速器",挖掘深层风险模式;规则引擎是"安全网",确保业务底线与合规边界。

3.2 广义线性模型 (GLM) 精讲

GLM 是保险定价领域最经典的统计模型,由三个核心组件构成:随机分布、线性预测器、链接函数。在车险定价中,通常使用 Tweedie 分布(零膨胀连续分布)或 Gamma 分布拟合纯保费。

# GLM 核心公式示意(R 语言 glm 函数)
# 假设纯保费服从 Tweedie 分布,使用 log 链接
model_glm <- glm(PurePremium ~ Age + Gender + VehicleType + Region,
                 family = tweedie(var.power = 1.5, link.power = 0),
                 data = train_data)

# 输出系数解释
summary(model_glm)
# 系数 exp(0.15) = 1.162 表示该因子水平使保费上升 16.2%
精算实践提示:GLM 的变量选择应遵循"业务驱动+统计检验"双原则。优先纳入监管要求的基础因子(如年龄、车型),再通过 AIC/BIC 筛选交互项。避免过度拟合导致费率结构失去业务解释性。

3.3 机器学习模型 (GBDT/XGBoost) 精讲

GBDT(梯度提升决策树)与 XGBoost(极端梯度提升)是当前保险定价中应用最广泛的机器学习模型。XGBoost 在 GBDT 基础上引入了正则化项、列采样与加权分位数,显著提升了泛化能力与训练效率。

# XGBoost 定价模型核心参数配置(Python)
import xgboost as xgb

params = {
    'objective': 'reg:tweedie',      # Tweedie 回归,适合零膨胀纯保费
    'tweedie_variance_power': 1.5,   # 方差幂参数
    'eval_metric': 'tweedie_nloglik',# 评估指标
    'max_depth': 5,                  # 树深度,控制非线性复杂度
    'learning_rate': 0.05,           # 学习率
    'subsample': 0.8,                # 行采样
    'colsample_bytree': 0.7,         # 列采样
    'lambda': 1.0,                   # L2 正则化
    'alpha': 0.5                     # L1 正则化
}

dtrain = xgb.DMatrix(X_train, label=y_train)
model_xgb = xgb.train(params, dtrain, num_boost_round=500)
避坑指南:机器学习模型在定价中容易出现过拟合,导致费率在尾部风险上剧烈波动。建议使用早停法(early stopping)控制迭代轮数,并在验证集上监控 lift 曲线稳定性。同时,必须配合 SHAP 值进行因子贡献度分析,确保定价逻辑符合业务直觉。

3.4 传统规则引擎精讲

规则引擎是保险定价中最古老但最可靠的技术。它基于业务专家经验,将定价决策转化为可执行的规则集。在微服务架构中,通常使用 Drools、EasyRules 或自研规则引擎实现。

// 规则引擎示例(Drools DRL 语法)
rule "高风险车型拒保规则"
    when
        $quote: Quote(vehicleType == "跑车" && driverAge < 25)
    then
        $quote.setUnderwritingDecision("REJECT");
        $quote.setRejectReason("高风险车型+低龄驾驶");
        update($quote);
end

rule "费率折扣规则"
    when
        $quote: Quote(claimFreeYears >= 5 && annualMileage < 10000)
    then
        $quote.setDiscountRate(0.85); // 85折
        update($quote);
end

3.5 三种模型融合架构

在实际生产环境中,三种模型通常以分层融合架构协同工作。下图展示了典型的保费定价模型流水线:

保费定价模型分层融合架构 第一层:规则引擎(硬性边界) 拒保规则 | 费率底线 | 监管合规检查 | 特殊风险标记 第二层:广义线性模型(基准费率) 基础风险因子定价 | 费率表生成 | 可解释性报告 第三层:机器学习模型(风险微调) GBDT/XGBoost 残差拟合 | 非线性风险捕捉 | 个性化定价 最终保费输出
架构优势:规则引擎在前置过滤层拦截极端风险,GLM 提供稳定可解释的基准费率,机器学习模型在残差层面进行精细化微调。三层叠加既保证了监管合规性,又提升了定价区分度。实际落地时,建议将 GLM 与 XGBoost 的预测结果通过加权融合(如 70% GLM + 30% XGBoost)输出最终费率。

3.6 模型选择决策矩阵

在项目初期,建议根据以下决策矩阵快速确定模型选型方向:

业务场景 推荐模型 理由
监管报备费率 GLM 可解释性满足监管要求,系数透明
互联网渠道实时报价 XGBoost + 规则引擎 高并发低延迟,非线性拟合能力强
特殊风险(如货运险) 规则引擎 + GLM 业务规则复杂,需要强逻辑控制
存量客户续保定价 XGBoost + GLM 融合 利用历史行为数据做个性化微调
新产品冷启动 GLM + 规则引擎 数据量少,依赖专家经验与统计推断
落地建议:不要追求单一模型的极致精度。在保险定价中,可解释性 > 精度是铁律。建议以 GLM 作为基线模型,机器学习模型作为增量优化,规则引擎作为兜底保障。三者结合才能构建既精准又合规的定价体系。