3. 回放验证的基准构建:选择基准模型与确定评估指标

回放验证的核心在于构建一个可靠的“基准”,用以衡量新模型或策略是否带来显著改进。基准构建包含两个关键步骤:选择基准模型与确定评估指标。本章将系统阐述这两个步骤的方法论与精算实践。

3.1 基准模型的选择策略

基准模型并非随意选取,而应反映当前业务环境下的“最佳可用”或“行业标准”模型。常见选择路径包括:

  • 当前生产模型:直接使用已在线上运行的精算模型,最能体现实际业务基线。
  • 经典统计模型:如广义线性模型(GLM),在精算领域具有高度可解释性和监管认可度。
  • 简化基准模型:如仅包含核心风险因子的线性回归或朴素均值模型,用于快速验证复杂模型是否带来增量价值。
  • 行业标准模型:参考监管机构或行业协会推荐的模型结构(如欧盟 Solvency II 标准公式)。
精算实践提示: 在费率厘定场景中,建议将当前 GLM 模型作为基准,因其结构透明、监管友好,且便于后续进行 A/B 测试的假设检验。

3.2 评估指标的分类与选择

评估指标需覆盖模型拟合优度、复杂度与预测精度三个维度。下表汇总了精算回放验证中最常用的指标及其适用场景:

指标类别 指标名称 计算公式/定义 适用场景
拟合优度 AIC -2ln(L) + 2k 模型选择与复杂度惩罚
拟合优度 BIC -2ln(L) + k·ln(n) 大样本下更严格的模型选择
预测精度 MSE Σ(yᵢ - ŷᵢ)² / n 连续型响应变量(如赔付金额)
预测精度 MAE Σ|yᵢ - ŷᵢ| / n 对异常值鲁棒的精度度量
分类性能 Gini 系数 2·AUC - 1 二元分类(如理赔风险预测)

3.3 指标选择的精算逻辑

在精算回放验证中,指标选择需遵循以下逻辑:

  1. 优先使用 AIC/BIC 进行模型结构选择:AIC 适用于预测导向,BIC 适用于解释导向。当样本量较大时,BIC 的惩罚更严格,能有效防止过拟合。
  2. MSE 作为预测精度的核心指标:在费率厘定、准备金评估等连续值预测场景中,MSE 能直接反映预测值与实际值的偏差平方和,便于业务解释。
  3. 结合业务成本定义损失函数:例如,在车险定价中,可定义加权 MSE,对高赔付风险样本赋予更高权重。
关键原则: 基准模型与评估指标必须在回放验证开始前预先定义,且不得在验证过程中根据结果调整。这是保证验证结果统计有效性的前提。

3.4 基准构建流程与 SVG 图示

下图展示了从数据准备到基准模型确立的完整流程,包含模型选择、指标定义与基线记录三个核心阶段。

回放验证基准构建流程 历史数据清洗 候选模型训练 AIC/BIC/MSE 计算 指标最优? 记录基准模型 基准指标基线 说明: • 数据清洗需包含异常值处理 • 候选模型至少包含当前生产模型 • 指标计算使用相同验证集

3.5 多指标联合评估与 SVG 图示

单一指标往往无法全面反映模型质量。精算实践中常采用多指标联合评估矩阵,综合判断模型优劣。下图展示了 AIC、BIC 与 MSE 的联合评估框架:

多指标联合评估矩阵 AIC 拟合优度 + 复杂度惩罚 BIC 大样本下更严格选择 MSE 预测精度核心指标 联合评估决策 AIC/BIC 选结构 → MSE 验证精度 最终基准模型与基线 联合评估原则: 1. AIC/BIC 优先选择 2. MSE 验证预测能力 3. 三者一致时确认基准

3.6 代码示例:基准模型与指标计算

以下 Python 代码展示了在精算数据集上构建基准 GLM 模型并计算 AIC、BIC 与 MSE 的完整流程:

import pandas as pd
import numpy as np
import statsmodels.api as sm
from sklearn.metrics import mean_squared_error

# 加载精算数据集(示例:车险索赔频率数据)
data = pd.read_csv('claim_frequency.csv')
X = data[['driver_age', 'vehicle_value', 'prior_claims']]
y = data['claim_count']

# 添加截距项
X = sm.add_constant(X)

# 拟合泊松 GLM(精算标准模型)
poisson_model = sm.GLM(y, X, family=sm.families.Poisson()).fit()

# 计算评估指标
aic = poisson_model.aic
bic = poisson_model.bic
y_pred = poisson_model.predict(X)
mse = mean_squared_error(y, y_pred)

# 输出基准模型摘要
print("=== 基准模型评估结果 ===")
print(f"AIC: {aic:.2f}")
print(f"BIC: {bic:.2f}")
print(f"MSE: {mse:.4f}")
print("\n模型系数:")
print(poisson_model.params)
注意: 在回放验证中,基准模型的评估指标计算必须使用与后续 A/B 测试完全相同的验证数据集,否则比较结果将失去统计意义。建议在数据划分时固定随机种子,确保可复现性。

3.7 基准构建的常见陷阱与规避

  • 陷阱一:数据泄露——在计算指标前,确保验证数据未参与模型训练。精算中常采用时间序列回放,需严格按时间顺序划分训练/验证集。
  • 陷阱二:指标单一化——仅依赖 MSE 可能忽略模型复杂度。建议始终同时报告 AIC/BIC 与 MSE,形成完整评估视图。
  • 陷阱三:基准模型过时——随着业务环境变化,基准模型需定期更新。建议每季度或每半年重新校准一次基准基线。

通过本章的系统构建,你将获得一个统计严谨、业务可解释的基准模型与评估指标体系,为后续的回放验证与 A/B 测试奠定坚实基础。