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 三种模型融合架构
在实际生产环境中,三种模型通常以分层融合架构协同工作。下图展示了典型的保费定价模型流水线:
架构优势:规则引擎在前置过滤层拦截极端风险,GLM 提供稳定可解释的基准费率,机器学习模型在残差层面进行精细化微调。三层叠加既保证了监管合规性,又提升了定价区分度。实际落地时,建议将 GLM 与 XGBoost 的预测结果通过加权融合(如 70% GLM + 30% XGBoost)输出最终费率。
3.6 模型选择决策矩阵
在项目初期,建议根据以下决策矩阵快速确定模型选型方向:
| 业务场景 | 推荐模型 | 理由 |
|---|---|---|
| 监管报备费率 | GLM | 可解释性满足监管要求,系数透明 |
| 互联网渠道实时报价 | XGBoost + 规则引擎 | 高并发低延迟,非线性拟合能力强 |
| 特殊风险(如货运险) | 规则引擎 + GLM | 业务规则复杂,需要强逻辑控制 |
| 存量客户续保定价 | XGBoost + GLM 融合 | 利用历史行为数据做个性化微调 |
| 新产品冷启动 | GLM + 规则引擎 | 数据量少,依赖专家经验与统计推断 |
落地建议:不要追求单一模型的极致精度。在保险定价中,可解释性 > 精度是铁律。建议以 GLM 作为基线模型,机器学习模型作为增量优化,规则引擎作为兜底保障。三者结合才能构建既精准又合规的定价体系。