3. 死亡率数据基础

死亡率改善与长寿风险建模的第一步,不是选模型,而是把“人—时间—事件”三件事对齐。所谓死亡率数据基础,本质上是回答:在某个观察期内,有多少人处于风险中(暴露数),其中发生了多少死亡(死亡数),以及如何把这些计数转化为可比较、可建模的率。若这一层数据口径混乱,后续的Lee-Carter、CBD、APC等模型都会建立在流沙之上。

一、核心原理:从计数到率的桥梁

死亡率建模的原始输入通常只有两类:暴露数(Exposure)和死亡数(Deaths)。暴露数刻画“风险敞口”,死亡数刻画“事件发生”。两者相除得到粗死亡率,再经过时间与年龄的居中处理,得到中心死亡率。其核心关系可表示为:

粗死亡率(Crude Death Rate, CDR) = 死亡数 ÷ 平均暴露数

中心死亡率(Central Death Rate, mx) ≈ 死亡数 ÷ 中心暴露数(即年龄区间中点处的暴露)

死亡概率(qx) 与 mx 的近似关系:qx ≈ mx / (1 + 0.5·mx)(在均匀死亡假设下)

这里的关键区别在于:粗死亡率通常用于描述总体或粗略分组,而中心死亡率是生命表与随机死亡率模型的标准输入。中心死亡率假设死亡在年龄区间内均匀发生,因此用区间中点的暴露作为分母更合理。

二、数据来源与质量检查

常见数据来源包括:国家统计部门的人口普查与年度人口抽样、社保与养老金管理机构的参保死亡记录、保险公司的承保与理赔数据库、以及Human Mortality Database(HMD)等公开整理数据。不同来源的覆盖人群、年龄申报准确性、死亡登记完整性差异很大。

数据质量检查应至少覆盖以下清单:

检查项常见问题处理建议
年龄申报高龄堆积、尾数偏好(0/5)平滑、合并高龄组、使用可信高龄数据
死亡登记完整性漏报、延迟登记与普查或社保记录交叉验证
暴露数口径年初/年末人口混用统一使用平均人口或中心暴露
时间对齐死亡数与暴露数年份错位按日历年和年龄组严格对齐
异常值死亡数为0或率突变标记、平滑或合并相邻年龄组

建议在建模前生成“数据质量日志”,记录每个年龄组、每个日历年的暴露数、死亡数、粗死亡率及异常标记。这份日志是后续复盘和模型解释的重要依据。

三、方法流程:从原始数据到中心死亡率

  1. 确定观察单元:通常为“日历年 × 年龄组 × 性别”。
  2. 计算暴露数:若有人口年初数P0和年末数P1,平均暴露为 (P0+P1)/2;若只有年中人口,可直接作为中心暴露。
  3. 汇总死亡数:按同一观察单元统计死亡人数,注意死亡发生时间应落在观察期内。
  4. 计算粗死亡率:CDR = D / E,其中D为死亡数,E为暴露数。
  5. 计算中心死亡率:mx = Dx / Excenter,Excenter为年龄区间中点暴露。
  6. 质量校验:检查mx是否随年龄单调上升、是否存在零值或极端值。
# 示例:用Python计算中心死亡率
import pandas as pd

df = pd.DataFrame({
    'age_group': ['60-64', '65-69', '70-74'],
    'exposure': [100000, 80000, 60000],
    'deaths':   [800,    1200,   1500]
})

df['cdr'] = df['deaths'] / df['exposure']
df['mx']  = df['deaths'] / df['exposure']  # 若exposure已是中心暴露
df['qx']  = df['mx'] / (1 + 0.5 * df['mx'])

print(df)

四、案例与误区复盘

假设某养老金计划有65-69岁男性参保人80,000人(年中数),当年死亡1,200人。则粗死亡率 = 1200/80000 = 0.015,即15‰。若该年龄组年初人口为78,000、年末为82,000,则平均暴露为80,000,结果一致。若误用年初人口78,000,则粗死亡率为15.38‰,高估约2.5%。

常见误区:①把粗死亡率直接当作中心死亡率用于生命表,忽略暴露数口径;②高龄组死亡数极少时直接计算率,导致mx为0或剧烈波动;③暴露数与死亡数的时间窗口不一致,例如用年中人口除以全年死亡;④忽略年龄申报堆积,导致某些年龄组死亡率异常偏高或偏低。

复盘时建议按“数据来源—口径—计算—校验”四步回溯。若发现某年龄组mx不随年龄上升,优先检查暴露数是否被低估或死亡数是否漏报,而不是急于调整模型。

数据来源 人口普查 / 社保记录 保险理赔 / HMD 死亡登记系统 暴露数 E 平均人口 / 中心暴露 死亡数 D 观察期内死亡人数 率计算 CDR = D / E mₓ = Dₓ / Eₓᶜ qₓ ≈ mₓ/(1+0.5mₓ) 数据质量检查 年龄申报 · 死亡登记完整性 · 暴露口径 · 时间对齐 · 异常值