1. 课程导入
欢迎进入《R精算建模与保险数据分析实战》。在正式进入模型与数据之前,本章先解决三个问题:这门课要学什么、精算建模在R中如何落地、以及如何搭建一套可复用的实战环境。只有把目标、概念、框架和环境四件事对齐,后续的损失分布拟合、信度模型、准备金评估与定价分析才能形成连贯的能力链,而不是零散代码的堆叠。
一、学习目标:从“会跑代码”到“能交付精算结论”
本课程的学习目标不是单纯掌握R语法,而是建立“数据—模型—假设—结论—沟通”的完整闭环。具体可拆解为四个层次:
- 数据层:能够读取并清洗保单、理赔、赔付、准备金等典型保险数据,识别缺失、异常、重复与口径不一致问题。
- 模型层:理解损失分布、频率—强度模型、信度理论、广义线性模型、链梯法与随机准备金等核心方法,并能在R中实现。
- 验证层:会做拟合优度检验、残差分析、交叉验证与敏感性分析,避免“模型能跑但结论不可靠”。
- 交付层:能用R Markdown或Quarto输出可复现的分析报告,把技术结果转化为核保、定价、准备金与风险管理可用的建议。
二、核心概念:精算建模的四个基本对象
保险数据分析与一般商业分析最大的区别,在于它围绕“不确定性”和“风险聚合”展开。本课程反复出现四个核心对象:
| 核心对象 | 含义 | 典型R工具/包 | 精算场景 |
|---|---|---|---|
| 损失频率 | 单位风险暴露下的索赔次数 | MASS、fitdistrplus | 车险索赔次数、健康险就诊次数 |
| 损失强度 | 单次索赔的赔付金额 | fitdistrplus、actuar | 车损金额、责任险赔付额 |
| 风险暴露 | 承保标的的数量或时间口径 | dplyr、data.table | 车年、人年、保额单位 |
| 聚合损失 | 频率与强度的复合结果 | actuar、statmod | 年度总赔付、巨灾损失 |
理解这四个对象之间的关系,是后续所有模型的共同基础。频率与强度通常分别建模,再通过卷积、模拟或近似方法得到聚合损失分布。若把频率和强度混在一起直接建模,往往会导致解释困难和预测偏差。
三、整体框架:一条从数据到决策的主线
本课程的整体框架可以概括为“一条主线、三个循环”。主线是:业务问题 → 数据准备 → 模型构建 → 验证诊断 → 精算解释 → 决策建议。三个循环分别是数据循环、模型循环和沟通循环。数据循环强调口径与质量;模型循环强调假设与验证;沟通循环强调把技术语言翻译成业务语言。
图中展示了本课程的主线结构:业务问题驱动数据准备,数据准备支撑模型构建,模型构建后必须经过验证诊断,最终回到精算解释与决策建议。三个循环贯穿始终,意味着任何一步发现问题,都可能需要回到上一步重新调整。
四、实战环境搭建:一次配置,长期复用
精算建模对环境的可复现性要求很高。建议使用R 4.3以上版本,配合RStudio或VS Code,并统一使用renv管理包版本。以下是一套最小可用的环境配置流程:
# 1. 安装核心包
install.packages(c(
"tidyverse", "data.table", "fitdistrplus",
"actuar", "MASS", "statmod", "glmnet",
"rmarkdown", "knitr", "renv"
))
# 2. 初始化项目环境
renv::init()
# 3. 记录依赖快照
renv::snapshot()
# 4. 验证关键包是否可用
library(tidyverse)
library(fitdistrplus)
library(actuar)
sessionInfo()
建议项目目录采用如下结构,便于后续章节复用:
data/:存放原始数据与清洗后数据,原始数据只读。R/:存放可复用的函数脚本,如数据清洗、分布拟合、模型评估。reports/:存放R Markdown或Quarto报告。output/:存放图表、模型对象与中间结果。renv.lock:锁定包版本,保证结果可复现。
五、案例场景与复盘:从一张保单数据开始
假设我们拿到一份车险保单抽样数据,包含保单号、起保日期、终止日期、车型、地区、索赔次数、赔付金额等字段。初学者常犯的错误是直接对赔付金额建模,忽略了“零赔付”保单的存在。正确的做法是先区分频率与强度:用索赔次数除以风险暴露得到频率,再对正赔付记录建模强度。若忽略零赔付,强度模型会被高估,进而导致纯保费测算偏差。
复盘要点如下:
- 先明确分析单位:是保单、车年还是索赔记录?单位不同,模型口径完全不同。
- 再检查风险暴露:是否有重复保单、期限不足一年、批单调整等情况。
- 然后分别建模频率与强度,最后再聚合。
- 最后做敏感性分析:更换分布假设或剔除异常值后,结论是否稳定。
完成本章后,你应当能够独立配置一套可复现的R精算分析环境,理解频率、强度、风险暴露与聚合损失四个核心对象的关系,并能够用一条主线描述从数据到决策的完整流程。接下来,我们将进入数据准备与探索性分析,把这条主线落到真实保险数据上。