为什么美国的死亡率与预期寿命不“匹配”

机器算法验证 生存 人口学 死亡
2022-02-02 21:31:07

来自 CDC(https://www.cdc.gov/nchs/fastats/deaths.htm):

Death rate: 863.8 deaths per 100,000 population
Life expectancy: 78.6 years

现在在静态情况下,我预计死亡率是预期寿命的倒数,即每 10 万人中有 1,270 人死亡,与实际情况相差约 40%。非常多。这是因为人口年龄分布不是静态的吗?美国的中位年龄约为 38 岁,在过去十年中增加了约 1 岁。这真的足以解释 40% 的差异吗?我试着寻找平均年龄,看看这个统计数据是否可以更清楚地说明这个问题,但找不到任何数据。

我想更详细地了解这一点,因此感谢您提供任何信息。

2个回答

简而言之

死亡率与预期寿命的倒数之间的差异通常发生在人口的年龄分布与生存曲线不同时,这与预期寿命所依据的假设人口有关(更具体地说,人口是比生存曲线所暗示的要年轻)。可能有几个原因导致实际人口与这个假设人口之间存在差异

  • 各年龄组死亡率突然/快速下降且人口尚未稳定(不等于基于新的各年龄组死亡率的生存曲线)
  • 人口在增长如果每年出生的婴儿都比前一年多,那么根据生存曲线所显示的,人口将比假设的人口年轻。
  • 迁移移民往往发生在相对较年轻的人身上。因此,净移民为正的国家相对年轻,而净移民为负的国家相对年长。

预期寿命

预期寿命是基于假设的人/人口的虚拟数字,其未来的死亡率与当前的死亡率相同。

使用荷兰统计局数据(2014 年)的一些示例 https://opendata.cbs.nl/statline/#/CBS/nl/dataset/7052_95/table?dl=98D9

死亡率、存活率和可能的死亡年龄

  • 的(当前)死亡率i
    fi
  • 的存活率(对于将经历年龄 i 死亡率的人口,就像当前年龄的人一样) iii
    si=j=0j=i1(1fj)
  • 图 3 显示年龄i
    pi=sifi

请注意,是一种假设情况。pi

死亡率

在上面的示例中,假设人口将遵循中间图。然而,实际人口不是这个假设的人口。

特别是,我们的老年人比根据生存率预期的要少得多。这些存活率是基于当前的死亡率但是当老年人长大后,这些死亡率要高得多。因此,人口中的老年人比目前的存活率曲线显示的要少。

人口看起来更像这样(抱歉它是荷兰语并且没有很好的记录,我从一些旧涂鸦中得到这些图像,我会看看我是否可以再次制作图表):

例子

所以2040年左右的人口分布会更接近成活率的曲线。目前,人口分布更加尖锐,这是因为目前的老年人没有经历过假设预期寿命所依据的i

死亡率如何变化

此外,出生率略低(每位女性不到 2 个),因此年轻人口正在减少。这意味着死亡率不仅会上升到 1/life_expectancy,甚至会超过它。

这是一个有趣的悖论。(正如尼尔 G 所说,这是辛普森悖论)

  • 一方面,每个不同年龄组的死亡率都在下降。
  • 另一方面,总人口的死亡率正在上升。

注意gapminder上的这个图形交互版本

死亡率变化

我们看到,在过去的几十年里,死亡率迅速下降(由于死亡率下降),现在又开始上升(由于人口稳定和出生率下降)。大多数国家都遵循这种模式(一些开始较早,一些开始较晚)。

模拟

这个问题中,答案包含一段 R 代码,该代码模拟了所有年龄段死亡风险比变化的生存率曲线。

下面我们使用相同的函数life_expect模拟人口中的死亡率,当我们让这个风险比在 50 年内从 1.5 变为 1.0 时(因此预期寿命会增加,反之,基于预期寿命的死亡率,会减少)。

我们看到的是,人口死亡率的下降幅度大于我们基于预期寿命的预期,并且只有在我们停止风险比率变化的一段时间后才会稳定在这个预期数字上。

请注意,在这个人口中,我们保持出生人数不变。预期寿命的倒数与死亡率之间的差异如何出现的另一种方式是出生人数增加(人口增长),这导致与基于生存曲线的假设人口相比,人口相对年轻。

模拟示例

### initial population
ts <- life_expect(base, 0, rr = 1.5, rrstart = 0)
pop <- ts$survival
Mpop <- pop

### death rates
dr <- sum(ts$death_rate*pop)/sum(pop)
de <- 1/(ts$Elife+1)

for (i in -100:200) {
  ### rr changing from 1.5 to 1 for i between 0 and 50
  t <- life_expect(base, 0, rr = 1.5-max(0,0.5*min(i/50,1)), rrstart = 0)
  
  ### death rate in population
  dr <- c(dr,sum(t$death_rate*pop)/sum(pop))
  
  ### death rate based on life expectancy
  de <- c(de,1/(t$Elife+1))
  
  ### update population
  pop <- c(1,((1-t$death_rate)*pop)[-101])
  Mpop <- cbind(Mpop,pop)
}

### plotting
plot(de * 100, type = "l", lty = 2, lwd = 2, ylim = c(1.10,1.4),
     xlab = "time", xaxt = "n", ylab = "rate %")
lines(dr * 100, col = 2)
legend(0,1.10, c("death rate in population", "death rate based on life expectancy"),
       lty = c(1,2), lwd = c(1,2), col = c(2,1),
       cex = 0.7, xjust = 0, yjust = 0)

有一种比另一个答案中的(详细和正确的)解释更简单的方法来理解这一点。

现在的预期寿命取决于过去的死亡率

举一个极端的例子,假设某场灾难使一个国家的每个人都感染了无法治愈的疾病,死亡率为 50%。

因此,年死亡率为每 100,000 人中有 50,000 人(为简单起见,忽略其他原因造成的死亡)。

但预期寿命不会是 2 年,因为该国几乎每个人都已经活了2 年以上

数字互为倒数的唯一情况是,所有影响出生率、死亡率和与年龄相关的死亡率的因素在当前人口的生命周期内都保持不变这一不太可能的情况。