如何正确分析中国和意大利 COVID-19 疫情的致死率和每日死亡人数?

机器算法验证 r 解释 流行病学 比率
2022-03-14 06:03:02

这是中国和意大利covid-19疫情致死率差异的一个奇怪案例。

据我所知,病死率是某种疾病的死亡人数与被诊断患有该疾病的受试者总数之比。

从这个假设出发,我试图分析中国/意大利疫情之间的死亡率差异。在这里,我提出了一个可重现的 R 示例来探索这个变量:

# Import dataset from authoritative source:  
 # https://ourworldindata.org/coronavirus-source-data
 covid <- read.csv("https://covid.ourworldindata.org/data/ecdc/full_data.csv")
        
 # Subsetting only data from China and Italy
 dataset <- subset(covid, location == "China" | location == "Italy")
        
 # Fatality ratio: is the proportion of deaths from a certain disease compared to the 
 # total number of people diagnosed with the disease for a certain period of time.
 dataset$fatality <- round(dataset$total_deaths/dataset$total_cases*100, 2)
    
 # Outbreak duration in days 
    dataset$days <- difftime(dataset$date,min(dataset$date), units="days")
    
    
  # Generating plot
    library(ggplot2)
    ggplot(dataset, aes(days, fatality, color = location, group = location))+
      geom_smooth(size= .5, alpha=.25, color = "gray65")+
      geom_line()+
      geom_point()+
      labs(x="Outbreak duration (days)", y= "Fatality rate (%)", color = "Location")+
      theme_light(14)

EDT: 条形图在此处输入图像描述

# Generating bar plot
library(ggplot2)
ggplot()+
  geom_bar(data=subset(dataset, location == "China"), 
           aes(days, fatality, fill = "China"), 
           stat = "identity", position = position_dodge(), alpha = .75)+
  
  geom_bar(data=subset(dataset, location == "Italy"), 
           aes(days, fatality, fill = "Italy"), 
           stat = "identity", position = position_dodge(), alpha = .75)+
  
  labs(x="Outbreak duration (days)", y= "Fatality rate (%)", fill = "Location")+
  scale_fill_brewer(palette = "Set1")+
  theme_light(14)

在此处输入图像描述 在此基础上,我对所分析的两个国家之间的死亡率差异感到有些困惑。事实上,中国的最高死亡率为 4%,而意大利则超过 6%。出于这个原因,我有两个问题:

  1. 我的计算是否正确?

  2. 如果是,为什么在死亡率方面有如此巨大的差异?


美国东部时间二

我想改进这个问题,报告最近的一篇科学论文,它可以部分解释这些差异。事实上,Li 等人报告说,对于每个 COVID+ 患者,其他 5-10 名未记录的 COVID+ 导致了误导性的死亡率。此外,正如评论中所报告的,迄今为止,全球范围内还没有明确的诊断方法。
然而,与中国相比,意大利的每日累计死亡人数正在大幅增加:

# Generating bar plot
library(ggplot2)
ggplot()+
  geom_bar(data=subset(dataset, location == "China"), 
           aes(days, new_deaths, fill = "China"), 
           stat = "identity", position = position_dodge(), alpha = .75)+
  
  geom_bar(data=subset(dataset, location == "Italy"), 
           aes(days, new_deaths, fill = "Italy"), 
           stat = "identity", position = position_dodge(), alpha = .75)+
  
  labs(x="Outbreak duration (days)", y= "Daily deaths (n)", fill = "Location")+
  scale_fill_brewer(palette = "Set1")+
  theme_light(14)

在此处输入图像描述

那里发生了什么事!湖北省在地表和人口方面与意大利几乎相似,但在人口平均年龄方面却大不相同,因为意大利是欧盟最古老的国家之一。

3个回答

原因 1关于计算的一些技术性问题。

死亡发生时会延迟生病。因此,生病的人与死亡的人的比例不等于将要死亡的人的比例。

(不过,如果生病病例和死亡病例的数量都以相同的因素呈指数增长,那么您可能仍然希望这个数字保持不变,但请记住,增长不是指数增长,它只是一个简化模型)


原因 2对数据采集很重要

你可能会说,好吧,那么让我们将死亡病例数与几天前的患病人数进行比较(根据生病和死亡之间的平均人数)。

但是,基于这些统计数据的死亡率不是恒定的、不可比的,最重要的原因是因为这些数字只是报告的病例,可能比实际病例少很多。所以你没有计算真正的死亡率。

统计数据(报告/确认的案例)不是您认为的(案例数量)。这一点在中国的病例曲线中尤为明显,因为在改变定义后病例数迅速增加(从阳性检测人到有临床症状的人)

请注意,在您的维基百科病死率定义中,您需要知道所有感染疾病的人的最终结果。正如他们所指出的,在这 100 人中,9 人死亡,91 人康复,他们没有感染。您的数据未显示从疾病中康复的人数。如果确诊病例和死亡之间的时间间隔很长,那么你就低估了 CFR。CFR 也可能因死于疾病的未确诊病例数而产生偏差,并根据死因确认为病例数。

  1. 最近我们也在进行测试时发生了一些事情。死亡率并不能完全描述因某种疾病而导致的死亡人数。我们对患有/不患有慢性病的 Covid-19 患者进行了测试。事实证明,患有慢性疾病的患者患肺炎和急性呼吸系统疾病的机会更大。可能不是因为导致死亡的covid-19病毒。这可能是慢性疾病或其他疾病。

  2. 如果您研究医疗系统,每个患者都可能按 DRG 代码分组。DRG 代码是对特定患者的所有疾病进行分组并决定患者优先级的医院方式。换句话说,许多疾病是一起出现的,可能是先前存在的疾病降低了免疫系统导致死亡。据我所知,中国很多无法被诊断出的患者可能被归类为不同的原因,而不是 Covid(例如流感)

  3. 死亡率不能反映年龄组。众所周知,这种病毒对老年人尤其严重。因此,我们不能将老年人口较多的国家与中年人的国家进行比较

  4. 死亡率很复杂,您也可能无法与正确的阶段进行比较。在所有患者出院之前,您不会知道入院的患者会死亡或出院