freMTPL2 车险数据上的定价模型比较
在真实的公开车险数据(法国第三者责任,67.8 万张保单)上,机器学习模型比 GLM 好多少?和文献里的数字一致吗?
- 对过的标准答案
- 3 条
- 覆盖的考试公式
- 0 个
- 参数
- 5 个
- 开源库
- 2 个
01当场运行
改一个参数,当场重算
正在用默认参数运行,计算量大的方法最多要 20 秒。
04出处和说明
公式从哪里来,有什么限制
列出参考的教材、论文和考试公式条目。方法的限制和实现上的说明也写在这里。
参考
- Noll、Salzmann、Wüthrich (2018) Case Study: French Motor Third-Party Liability Claims(SSRN 3164764)GLM1 的特征,第 5 节 神经网络
- Schelldorfer、Wüthrich (2019) Nesting classical actuarial models into neural networks(SSRN 3320525)CANN,二维嵌入
- Wüthrich (2019) "Yes, we CANN!",ZHAW AI in Industry and Finance 报告(2019-09-05)第 12 页的表(同 ASTIN Bulletin 49(1) 社论)
- 现代精算模型(Modern Actuarial Models)第 2 章 法国车险的频率模型
- Dutang、Charpentier:CASdatasets(R 包,1.2-1),freMTPL2freq、freMTPL2sev;OpenML 41214、41215
这个方法算什么
离线在 freMTPL2freq 的 90% 保单上训练 GLM(Noll 等的 GLM1)、GAM、LightGBM 和平台的梯度提升树、神经网络和 CANN(PyTorch,5 个种子),在其余 10%(67,836 张保单)上算样本外的平均泊松偏差和基尼系数,和文献里的数字放在一起。现场计算:在内置的 10,000 张测试保单样本上重算指标,用样本的一半现场拟合 GLM 和小的梯度提升树、在另一半上比较;并用 numpy 重算导出的神经网络,和 PyTorch 的输出核对。
说明和限制
- 数据处理和文献相同:ClaimNb 截到 4(9 张保单),Exposure 截到 1 年(1,224 张)。学习集和测试集按 numpy 的固定种子随机分 90% / 10%,和文献用 R 的 set.seed() 和 sample() 的分法不同,所以数字不能逐个对上,但量级和排序可以比较。
- 偏差的单位是 10⁻²(文献的写法)。全部测试集上统一费率 32.87、GLM 31.37、LightGBM 30.30:机器学习模型主要多学到了 BonusMalus、VehAge、DrivAge 的非线性和交互作用。
- 神经网络单个种子的结果波动较大,5 个种子的预测平均(nagging)更稳定(Richman、Wüthrich 2020)。
- 数据许可:OpenML 标注 CC0,上游 CASdatasets 写 GPL (>= 2),二者不一致。平台只内置 10,000 张测试保单的样本和预测结果,按 GPL 注明出处。
- 现场拟合的 GLM 只用 5,000 张保单,保单少于 200 张或没有出险的类别并入基准水平,所以参数比离线的 GLM 少。
- 离线训练的代码在 backend/python/ml/fremtpl2/(train_cpu.py、train_nn.py、export.py)。
数据
看参数里选的数据:选平台的数据集时是真实数据或公开样例,填自己的数时只用输入的数。上面运行的输出里写明这一次用的是哪种。
05同族的方法
模型评估与校准,还有 3 个方法
同一个方法族里的其他方法。在智能体里,用一句话就能调用这些方法。
在智能体里这样问“在真实的公开车险数据(法国第三者责任,67.8 万张保单)上,机器学习模型比 GLM 好多少?和文献里的数字一致吗?”