霍普金斯新冠数据 — 全球疫情时间序列 AI-Ready Wikipedia

1,143 天全球疫情时序,6.76 亿例确诊聚合观测

来源 Johns Hopkins University Center for Systems Science and Engineering (CSSE) url: https://github.com/CSSEGISandData/COVID-19发布时间: 2026-09-14最后更新: 2026-09-25 阅读 34
霍普金斯新冠数据 — 全球疫情时间序列 AI-Ready Wikipedia

信息速览

数据集名称霍普金斯新冠数据 — 全球疫情时间序列 AI-Ready Wikipedia
数据类型5 份时间序列 CSV,1,140+ 份每日快照,完整镜像约 233-591 MB,CC BY 4.0 开放
规模区域聚合数据,无个体患者记录
接入方式Johns Hopkins University Center for Systems Science and Engineering (CSSE) url: https://github.com/CSSEGISandData/COVID-19
AI 就绪度

数据集封面

霍普金斯新冠数据 — 全球疫情时间序列 AI-Ready Wikipedia


INFOBOX

字段 内容
数据集名称 霍普金斯新冠数据(JHU CSSE COVID-19 Data)
英文全称 COVID-19 Data Repository by the Center for Systems Science and Engineering (CSSE) at Johns Hopkins University
别名/简称 JHU COVID-19 Dashboard 数据、Hopkins COVID-19 数据、csse_covid_19_data
疾病分类(ICD-11) RA01 新型冠状病毒感染(COVID-19;RA01.0 病毒已鉴定)
SNOMED CT 840539006(Disease caused by SARS-CoV-2,SARS-CoV-2 疾病)
数据模态 疫情流行病学时间序列(累计确诊/死亡/康复,全球地区级 + 美国县级)
AI 任务类型 时间序列预测、流行病建模、异常检测、地理空间分析
样本总数 5 份主时间序列 CSV(每份 1,143 个日期列)+ 1,140+ 份每日快照 CSV
数据大小 完整镜像约 233-591 MB(Kaggle 快照,截至 2026-09 存档口径)
数据格式 CSV(宽格式时间序列 + 逐日快照)、PDF(WHO 情况报告存档)
许可证 CC BY 4.0(Creative Commons Attribution 4.0 International)
访问级别 开放(GitHub 公开仓库直接下载,无需注册申请)
DUO 标签 NRES(无限制使用,区域聚合公开数据)
语言 英语(字段名与地名)
首发日期 2020-01-22(仪表板与仓库同日公开)
最后更新 2023-03-10(此后停止每日采集,数据永久归档)
发布机构 Johns Hopkins University CSSE(协同 JHU 应用物理实验室 APL)
官方主页 https://github.com/CSSEGISandData/COVID-19
下载地址 https://github.com/CSSEGISandData/COVID-19/tree/master/csse_covid_19_data
DOI 10.1016/S1473-3099(20)30120-1(关联数据论文)
引用次数 12,700+(Google Scholar,截至 2026-09)
AI 就绪度评分 ⭐⭐⭐⭐(4/5)— CSV 结构稳定、字段字典详尽、git 全历史版本可回溯,但无官方 ML 划分与预处理脚本,需自行处理回填与负值
页面状态 published

§0 E-E-A-T 审核声明

  • 医学审核:千方病案医学编辑部交叉审核:§2 医学背景(ICD-11/SNOMED CT 双映射、疾病流行病学)、§7 偏倚分析(报告口径、测量偏倚与公平性)。
  • 数据工程审核:[千方病案医学编辑部交叉审核] 医疗 AI 数据工程师,审核范围:§4 DAIMS 数据字典、§5 数据划分策略、§6 预处理 Pipeline 和坑点。
  • 审核日期:2026-09-05

医疗免责声明:本页面内容由千方病案医学编辑部基于公开资料整理,仅供数据科学与医学信息学研究参考,不构成任何医疗建议、诊断依据或治疗方案。任何涉及临床决策的应用,请以国家卫生健康主管部门及世界卫生组织发布的官方指南为准。

技术免责声明:本页面提供的代码示例、数据处理流程与模型配置均按"现状"提供,仅用于演示目的。在生产环境中使用前,请自行验证代码正确性、数据完整性与模型安全性,因使用本页面内容而产生的任何直接或间接损失,千方病案医学编辑部不承担责任。

数据使用合规声明:使用本数据集时,请严格遵守其原始许可证(CC BY 4.0)条款及发布机构的使用政策,包括但不限于署名要求、引用规范与使用范围限制。商业用途、二次分发及模型训练前,请确认您的使用场景符合许可证要求与所在地区法律法规。

§1 数据集概览

§1.0 📌 30 秒速览

这是什么? 2020 年 1 月 22 日,约翰斯·霍普金斯大学系统科学与工程中心(JHU CSSE)的 Lauren Gardner 团队把全球各地卫生部门零散公布的疫情数字汇成一张实时地图和一份 GitHub 数据仓库。此后 1,143 天里,它每天记录全球各国与各地区的累计确诊、死亡和康复数,以及美国每个县的明细,直到 2023-03-10 正式停止采集并永久归档(JHU 官方公告)。

为什么重要? 它是疫情期间事实上的全球疫情数据标准:官网浏览超 25 亿次、数据请求超 2,000 亿次;世界卫生组织与美国疾控中心早期都没有对等的数据产品,各国政府、媒体与模型团队几乎都以它为统一参照。关联论文被引超过 12,700 次(Google Scholar,截至 2026-09),是医学信息学史上被引最高的数据论文之一。

我能用它做什么? 训练与评测流行病时间序列预测模型(日增/累计确诊、死亡)、研究不同地区报告口径与回填行为对建模的影响、做异常检测与政策评估的回顾分析,或把它当作"脏实时数据"的经典教学案例——本 Wiki 总结的 8 大坑点几乎每一条都来自真实 GitHub Issue 与方法学论文。

§1.1 摘要

JHU CSSE 团队以人工多源聚合方式采集数据:每日从各国中央与地方卫生部门官网及 API 抓取病例数,与本地媒体和可信聚合源交叉核实,统一时区为 UTC 后推送至 GitHub。数据以三种形态组织:csse_covid_19_time_series 下 5 份宽格式主时间序列 CSV(全球确诊/死亡/康复 + 美国县级确诊/死亡),每行一个地理单元、每列一个日期(2020-01-22 至 2023-03-09,共 1,143 个日期列);csse_covid_19_daily_reports 下 1,140+ 份逐日快照(MM-DD-YYYY.csv 命名);配套 UID_ISO_FIPS_LookUp_Table.csv 地理映射表、Errata.csv 勘误表与 WHO 情况报告 PDF 存档。采集频率随全球时区优化过三次(23:59 UTC 前后逐步前移至 04:45-05:15 UTC)。康复数据因各地口径无法统一,于 2021-08-02 起停止维护(Dong et al. 2022 方法论文);2023-03-10 因各州报告持续萎缩而整体停更归档。数据以 CC BY 4.0 开放,署名引用 Dong et al. 2020 即可。

使用本 Wiki 的路径建议:数据工程背景读者从 §4.0 目录树与 §6.1 快速上手直接切入;建模研究者优先阅读 §5.3 泄漏风险与 §6.5 全部 8 个坑点——它们决定了结论的可信度上限;教学场景可按 §1.0 → §2.2 → §6.5 的顺序组织一次"真实世界脏数据"专题课。

§1.2 战略价值

维度一:实时监测数据的"历史金标准快照"。 该数据集是唯一一份覆盖全球、逐日连续、以单一一致 Schema 维护近三年的疫情期间聚合观测。对于需要"当时当地看到什么"的回溯研究——例如评估 2020-2022 年预测模型的实时决策质量——它的 git 提交历史与 archived_data 存档提供了不可替代的"时间机器":你可以精确还原任何一天模型作者当时看到的数据版本,这是 WHO 周报或各国回溯修订后的终版数据无法提供的(官方存档说明)。

维度二:AI 时序教学的"完美缺陷样本"。 对医疗 AI 工程师而言,这份价值 12,700+ 次引用的数据集同时是最好的"脏数据"教材:宽格式转长格式、FIPS 前导零截断、历史回填导致训练-推理分布漂移、周末不报告造成的强周期噪声、康复列中途停更……每一个真实生产系统会遇到的问题都在这里被官方 Issue 记录在案。在它之上练出的清洗与验证习惯,可以直接迁移到任何监测类时序数据(如流感样病例、院内感染监测)的建模中。

维度三:开放数据治理的"政策标本"。 团队 2021 年在《柳叶刀·感染病学》发表的公开信明确指出:疫情期间各国公共卫生体系在机读数据标准上的集体缺位,迫使一个学术团队用人力充当全球数据总线(Gardner et al. 2021)。研究这份仓库的来源清单、修正记录与停更决策,等于研究"在没有统一数据标准的危机中,民间数据聚合能走多远、败在哪里"——对公共卫生信息化建设具有直接的政策参考价值。

§1.3 同类数据集横向对比

数据集 维护机构 覆盖 时间粒度 核心指标 差异化定位
JHU CSSE COVID-19 Data Johns Hopkins CSSE 全球地区级 + 美国县级 每日(2020-01-22 至 2023-03-10) 累计确诊/死亡/康复 疫情期事实标准;git 全历史;已归档
WHO COVID-19 Dashboard Data 世界卫生组织 全球国家级 每日/每周 确诊/死亡/疫苗接种 官方权威口径;2023 后持续更新的接续源
Our World in Data (OWID) COVID 牛津大学 OWID 全球国家级 每日 确诊/死亡(源自 JHU)+ 检测/住院/疫苗 在 JHU 基础上补齐检测与住院指标,清洗更统一
COVID-19 Data Hub covid19datahub.io 全球国家级/次国家级 每日 确诊/死亡 + 政策指数、检测、ICU 融合多源与政策变量,R 生态友好
New York Times COVID Data 《纽约时报》 美国县级 每日 确诊/死亡 美国县级口径独立核实的对照组
ECDC COVID-19 Data 欧洲疾控中心 欧洲/全球国家级 每日/每周 确诊/死亡 欧洲官方口径,2020-2021 年常用替代源

横向对比的结论指向三点:JHU 的独特性在于"全球 + 县级 + git 全历史"三者兼备;若需要 2023-03 之后仍在更新的序列应选 WHO;若需要检测/住院等扩展指标,OWID 的单表集成最省力。

§1.4 版本时间轴

时间 里程碑 说明
2020-01-22 仓库与仪表板首发 Lauren Gardner 团队公开 “Hopkins map”,数据自当日起累计
2020-02-01 时间戳统一 UTC 每日一个快照文件,历史移入 archived_data
2020-03-03 CRC 门户网站上线 JHU 将仪表板扩展为 Coronavirus Resource Center
2020-04-23 更新时点前移 每日 03:30-04:00 UTC 推送(2020-06-15 起再移至 04:45-05:15 UTC)
2020-05-11 起 字段多次增删 疫苗数据 2021-05-11 上线;Recovered 2021-08-02 停止维护
2022-09 降低报告频率 停止每小时检测/疫苗数据更新,各州报告持续萎缩
2023-03-10 停止采集并归档 2020-01-22 至 2023-03-10 数据永久免费保留
2023-04 国会图书馆收录 数据集以 LCCN 2023590205 入藏美国国会图书馆数字馆藏

时间轴的含义可以概括为一句话:前两年是"边跑边修"的实时工程史(时点、字段、口径高频调整),最后半年是"善始善终"的归档工程史(降频、公告、永久存档)——两个阶段的数据行为差异本身就是重要的分析变量。

§1.5 典型应用场景

  1. 流行病预测模型训练与基准评测:以累计/日增确诊与死亡为目标训练 LSTM、Transformer 或经典统计模型;Kaggle 曾以其为题举办 covid19-global-forecasting 系列竞赛(综述)。
  2. 实时决策回溯与模型审计:利用 git 历史还原任意日期的"当时可见数据",审计疫情期间预测系统的信息集与偏差。
  3. 监测数据质量方法论研究:回填、口径切换、星期效应等真实缺陷有官方记录,适合作为数据质量与现在偏差(nowcasting bias)研究的实验床。
  4. 地理空间分析与资源规划教学:美国县级明细 + FIPS 编码 + 人口列,支持发病率空间自相关与卫生资源可达性分析。
  5. 政策评估的对照数据:以日增序列对齐政策时点(旅行限制、封控),做多地区间断时间序列分析。
  6. 数据工程课程素材:以"5 份 CSV 讲完 3 年全球疫情"的完整故事线,训练宽长转换、增量更新、回填对齐、编码修复等全套表数据处理能力,配套官方 Issue 可作为"需求文档"与"验收标准"。

§2 医学背景

§2.1 ICD-11 编码映射

标签 ICD-11 编码 ICD-11 中文名 说明
COVID-19(确诊,病毒已鉴定) RA01.0 新型冠状病毒感染,病毒已鉴定 数据集中 Confirmed 列的主对应实体
COVID-19(病毒未鉴定) RA01.1 新型冠状病毒感染,病毒未鉴定 部分地区 probable/临床诊断病例对应此码
儿童多系统炎症综合征(MIS-C) RA01.2 新型冠状病毒感染相关儿童多系统炎症综合征 数据集未单列,聚合于确诊中
SARS-CoV-2 引起的病毒性肺炎 CA40.01 SARS-CoV-2 引起的冠状病毒病肺炎 重症谱系对应编码

§2.1b SNOMED CT 映射

标签 ICD-11 SNOMED CT 码 术语名称
COVID-19 疾病总称 RA01 840539006 Disease caused by SARS-CoV-2
COVID-19 确诊病例 RA01.0 840544004 Disease caused by Severe acute respiratory syndrome coronavirus 2 (disorder)
SARS-CoV-2 感染(病原) RA01 840533007 Severe acute respiratory syndrome coronavirus 2 (organism)
疑似/可能病例判定 RA01.1 1240581030104 Probable severe acute respiratory syndrome coronavirus 2 (clinical diagnosis not laboratory confirmed)

§2.2 疾病简介与流行病学

COVID-19 由 SARS-CoV-2 病毒引起,2019 年 12 月在武汉发现不明原因肺炎聚集疫情,2020 年 3 月 11 日 WHO 宣布为全球大流行。以本数据集归档口径计,截至 2023-03-09 全球累计报告 676,490,732 例确诊与 6,881,625 例死亡,其中美国 103,802,702 例确诊、1,123,836 例死亡居各国之首(JHU CRC 数据存档)。需要强调:这些计数是"报告病例"而非"真实感染",受检测能力、主动筛查与报告意愿影响,WHO 与多项血清流行病学研究估计真实感染数远高于报告数——这正是使用本数据集建模时必须在论文中声明的核心偏倚。

从建模视角理解疾病本身还有两个必要背景:其一,SARS-CoV-2 在三年间经历了从 ancestral 到 Alpha、Delta、Omicron 及其亚型的持续演化,潜伏期与代际间隔分布随之变化,任何"恒定延迟"假设都只是近似;其二,疫苗接种在 2021 年铺开后显著改变了感染-重症-死亡的级联比例,使"确诊死亡率"的时间趋势混杂了毒力、医疗压力、免疫背景与口径四类因素,不能直接当毒力指标解读。

死亡计数相对确诊更接近硬终点,但同样受口径影响:数据集收录 confirmed 与 probable 死亡(美国 CDC 口径),死亡日期可能取"发生日"“证明签发日"或"公开报告日”,各地不一(Dong et al. 2022)。

疫情波次时间轴(基于本数据集可复现的全球日增曲线):

波次 大致时段 特征 对建模的影响
首波 2020-03 至 2020-05 检测能力受限,低估最重;湖北 2020-02-13 口径切换造成全球单日尖峰 前期数据慎用于评估
夏季波 2020-06 至 2020-08 北半球部分地区反弹;美国南部州县级数据完善 县级建模起点较稳
秋冬波 2020-10 至 2021-01 全球日增高位;周末停报效应显著 星期处理必须到位
Alpha 波 2021-03 至 2021-06 疫苗铺开与疫情并行;康复列 2021-08-02 停更 康复相关任务窗口收窄
Delta 波 2021-07 至 2021-11 重症率结构变化;报告逐渐周化 与疫苗数据对齐分析
Omicron 波 2021-12 至 2022-02 日增创纪录、死亡增幅脱钩;居家检测导致系统性低估 低估偏倚最显著区间
退潮期 2022-03 至 2023-03 各州陆续停报,2023-01 起仅 3 个辖区每日报告 时段末端分布不可比

§2.3 临床任务定义

任务 定义 数据集支持方式
疫情趋势预测 预测未来 7/14/28 天日增或累计确诊、死亡 5 份时间序列直接构成监督目标
现在值估计(Nowcasting) 修正"报告延迟"导致的右截断 git 历史快照可构造报告延迟监督信号
异常检测 识别暴发起点、口径切换、数据事故 Errata.csv 与回填记录提供真值注记
地理空间风险分层 县级发病率、死亡率热图与资源分配 美国县级序列 + Population/FIPS
传播动力学建模 SIR/SEIR 拟合与再生数估计 日增序列 + 人口列(县级)
疫苗效果生态学分析 疫苗覆盖与疫情曲线的生态学关联 需联合 GovEx 附属疫苗数据

§2.4 患者人群(数据覆盖对象)

维度 描述
数据对象 报告病例的计数聚合,非个体记录;对象为全球各级行政区划内的报告病例人群
地理来源 各国/地区卫生部门(中央、省州、县级),美国数据细化到县(Admin2/FIPS)
时间范围 2020-01-22 至 2023-03-09(1,143 天)
年龄/性别/种族 未提供(聚合计数不含人口学分层;人口学数据在 JHU GovEx 附属仓库)
就医类型 不区分门诊/住院;住院数据由各国卫生系统另行发布(OWID/HHS 等源)

人口学分层的缺失是使用前必须接受的限制:若研究问题涉及年龄/性别/种族维度的疫情差异,需要转向各国按人口学分层的官方统计(如美国 CDC 案例监测、英国 ONS),或使用 GovEx 附属仓库的人口学聚合数据,而不能指望从本数据集拆解得出。

§2.5 临床与公共卫生价值

在临床侧,本数据集不提供个体诊疗信息;其价值集中于公共卫生与建模侧:疫情期间它为各国政府提供统一的外部参照,支持旅行政策与封控决策;为医院系统提供负荷预测的输入信号;为疫苗与药物研究的对照组设计提供流行病学背景。疫情后,它的归档价值在于让研究者能够以完全相同的数据复现 2020-2023 年间数千项建模研究的结论,并系统性研究"实时监测数据"区别于终版登记数据的特殊偏差结构。

对医疗 AI 团队还有一条常被忽视的价值:它是极少数"预测目标本身被官方记录修正"的数据集。这意味着你可以量化"信息集质量"对预测系统的影响——把同一模型分别跑在 as-of 快照与终版数据上,差值就是实时数据缺陷给决策造成的代价,这一方法可直接迁移到院内感染监测、药物警戒信号检测等实时性敏感场景。

§2.6 金标准参考表

属性 内容
划分方式 无官方 ML 划分;按地理单元(行)× 日期(列)组织
标注方式 人工多源聚合 + 官方核实,非抽屉式标注;每日由 CSSE 团队审核推送
标注者 JHU CSSE 研究团队(Lauren Gardner 领导),APL 与 Esri Living Atlas 提供技术支持
标注性质 事实性观测(reported counts),含 confirmed + probable(各地区定义不一)
真值来源 各级卫生部门官方发布;Errata.csv 与 README 数据修正记录构成元层注记
可信度锚点 与 WHO 情况报告、各国终版登记数据的差异均有公开讨论记录

关于"金标准"的定位说明:本数据集不是临床标注金标准(如影像诊断一致率意义上的),而是监测数据的参考底座——它的"金"来自完整溯源链与全历史可审计,而非标注者一致性系数。使用时应在论文中把 JHU 计数表述为"reported counts as compiled by JHU CSSE",而非"ground truth",这一定语差异决定了审稿人对你的偏倚讨论是否认可。

§3 数据集规格

§3.0 版本抉择矩阵

你的需求 推荐版本 大小 理由
全球国家级趋势建模 time_series_covid19_confirmed_global.csv / deaths_global.csv(最终 master 版) 各约数 MB 一张表含全部 1,143 天,加载即用
美国县级精细分析 time_series_covid19_confirmed_US.csv / deaths_US.csv 各约 10 MB 量级 含 Admin2/FIPS/Population,行数最多
还原"当时看到的数据" git checkout 历史提交 或 Kaggle 历史版本快照 视快照而定 回填会重写历史,只有旧提交才是真"实时快照"
复现 2020 年早期研究 git 历史中 time_series_19-covid-* 旧命名文件 数 MB 早期文件名与列结构不同,勿用终版混搭
疫苗/检测/人口学指标 JHU GovEx 附属仓库(coronavirus.jhu.edu 链出) 数十 MB CSSE 主仓库不含疫苗数据
长期数字保存引用 国会图书馆存档副本(LCCN 2023590205) — 需要引用稳定长期存档时使用

§3.1 模态详情

主模态为聚合疫情时间序列:以"地理单元 × 日期"为索引的累计计数矩阵。地理层级分三档——全球文件中多数国家为一行,中国、澳大利亚、加拿大等按省/州拆分多行;美国文件则细化到县(Admin2 + FIPS)。每份时间序列 CSV 前部为地理标识列(Province/State、Country/Region、Lat、Long;US 版为 UID、iso2、iso3、code3、FIPS、Admin2、Province_State、Country_Region、Lat、Long、Population),后接 1,143 个 MM/DD/YY 格式日期列,值为该日该地的累计计数。辅模态包括每日快照(含 Active、Incident_Rate、Case_Fatality_Ratio 等派生列)、WHO 情况报告 PDF 存档与勘误表。

对 AI 任务而言,该模态属于"多序列、单变量、强层次"类型:每个地理单元是一条单变量序列,但序列间通过地理层级(国-省-县)与共同驱动过程(同一流行病)强相关。这决定了建模上"层次化共享参数"(分层贝叶斯、全局+地区嵌入)通常优于"每序列独立模型",也是多序列联合训练比单序列拟合更有优势的结构性原因。

§3.2 子集构成

子集(目录) 内容 规模 备注
csse_covid_19_time_series/ 5 份主时间序列(global×3 + US×2) 每份 1,143 个日期列 recovered_global 于 2021-08-04 后冻结
csse_covid_19_daily_reports/ 逐日全球快照 1,140+ 份 CSV(MM-DD-YYYY.csv) 早期与后期列结构不同
csse_covid_19_daily_reports_us/ 逐日美国州级快照 1,000+ 份 CSV 含检测/住院列(后随来源停报而停更)
who_covid_19_situation_reports/ WHO 情况报告存档 PDF 集合 与计数数据互为对照
archived_data/ 早期归档 历史版本 2020-02 前的原始文件
根目录 README、UID 查找表等 — Errata.csv 在 time_series 目录下

§3.3 数据格式

组件 格式 结构 编码要点
主时间序列 CSV(宽格式) 首行日期列名 MM/DD/YY 空值/空串表示缺失;数字无千分位
每日快照 CSV(长格式快照) 每行一个地理单元 Last_Update 为 UTC 时间戳字符串
美国每日快照 CSV 州级聚合 列名版本间有改动(如 People_Tested→Total_Test_Results)
WHO 报告 PDF 文档 需 OCR 才能结构化
地理映射表 CSV 一行一个 UID FIPS 需按字符串处理防前导零丢失

每日快照列结构演进(跨快照编程读取时必须处理的差异):

时期 核心列 变化要点
2020-01-22 至 02-01 Province/State、Country/Region、Last Update、Confirmed、Deaths、Recovered 无 FIPS/Admin2,时区混杂
2020-02-02 起 上述 + FIPS、Admin2、Lat、Long_ 时间戳统一 UTC;美加澳县级拆分
2020-03 下旬起 + Active、Incidence_Rate、Case-Fatality Ratio 派生列加入;澳大利亚坐标规则特殊
2020-05 起 US 版 + People_Tested、Testing_Rate 等 检测类列来自 COVID Tracking Project
2020-08/2021 后 列名与列集多次增删(如 People_Hospitalized 于 2020-08-31 停用) 程序化读取需按日期段映射列名字典

主时间序列 5 文件元数据列对照:

文件 元数据列(日期列之前) 行粒度
confirmed_global / deaths_global / recovered_global Province/State、Country/Region、Lat、Long 国家或省(部分国家拆分)
confirmed_US / deaths_US UID、iso2、iso3、code3、FIPS、Admin2、Province_State、Country_Region、Lat、Long(deaths_US 另加 Population) 美国县级行

§3.4 存储大小

完整仓库镜像随时间累积:Kaggle 官方镜像(benhamner/jhucovid19,v188)为 233.37 MB / 534 个文件;含 WHO 报告 PDF 的社区镜像(newzoel,v92)达 591.03 MB / 1,714 个文件(Kaggle、Kaggle,截至 2026-09 存档口径)。单文件层面,5 份主时间序列各为数 MB,逐日快照早期每份数十 KB、后期每份数百 KB。实际分析中通常只需 time_series 目录,全部加载进 pandas 内存占用 < 500 MB。

存储与加载建议:宽格式时间序列列数极多(1,143 列),若做多次交互分析,建议一次性转 parquet 长表并按地区分区存储,后续读取速度提升一个数量级;仅分析单一国家时,在 melt 之前先按行过滤可显著降低内存峰值。

§3.5 标注方式

本数据集的"标注"即观测值本身,属事实性人工聚合:CSSE 团队每日按固定清单遍历约 200 个国家/地区与 50 个美国州级来源,人工核对官方数字与媒体报道后录入统一表单(早期为 Google Sheets,后保留该数据结构推送 GitHub),而非自动爬虫直采。派生列(Active、Incidence_Rate、Case-Fatality Ratio)为公式计算。数据修正走两层机制:临时错误在次日推送中修正并在 README"Data modification records"中登记;系统性回填(如 probable 病例重分类)在专门小节公告(csse_covid_19_data README)。

这一流程的两点推论值得记录:其一,“人工聚合"意味着数据反映的是"JHU 团队当日看到并核实的世界”,天然带有人工审核的时滞与筛选,这既是缺陷(延迟)也是优势(比裸爬虫更可靠);其二,两层修正机制使数据集自带"元数据层",工程上应把 README 修正记录当作与数据同等重要的资产一起入库。

§3.6 标注者资质与一致性

采集者为 CSSE 的研究助理与研究生团队(首发作者 Ensheng Dong 为 Gardner 指导的研究生),在流行病学与系统工程背景下按书面协议操作;JHU 应用物理实验室负责平台扩容。质量一致性通过"双源交叉"保障:任何数字须有官方来源支撑,媒体报道仅作补充与提示。方法论文专门总结了采集过程中的系统性挑战(口径差异、不可机读来源、报告节奏不一),并坦承早期存在无法完全消除的录入延迟与口径漂移(Dong et al. 2022)。

§3.7 采集周期

每日一次。推送时点经历四次调整:2020-02-01 前为当日 23:59 UTC 前的最后更新;2020-02-02 至 04-22 为约 23:59 UTC;04-23 起前移至 03:30-04:00 UTC;2020-06-15 起为 04:45-05:15 UTC 以配合印度卫生部数据节奏(README)。周末与节假日来源方经常停报,形成强星期效应。最终快照为 2023-03-10。

时点迁移对建模的影响常被低估:同一"日期"在不同时期对应不同采集窗口,跨期比较"发布后第 N 小时"的特征时必须按时期校正偏移;做 nowcasting 时,各期的"数据冻结时刻"应以当时的推送时点为准,而非统一的午夜。

§3.8 地域覆盖

全球范围:按 Country_Region 覆盖约 200 个国家/地区,中国、澳大利亚、加拿大等按省/州拆分;邮轮(如"钻石公主"号)单列。美国范围:50 州 + 特区 + 领地,县级明细(含县等效区),FIPS 编码齐全;郡级数据自 2020-03 下旬起稳定。空间坐标以省级/国家级质心表示,不代表具体地址。注意:全球文件中不同国家空间层级不一致(有的国家单行、有的多行省拆分),跨国聚合前必须按 Country_Region 分组求和。

层级不对称的另一面是"空间分辨率随时间变化":部分国家早期只有国家级行、后期才拆分省级;个别地区因行政变更调整归属。做空间面板(地区 × 时间)分析前,建议先输出"每个 Country_Region 的行数随日期变化"诊断表,确认研究时段内空间结构稳定,否则按省聚合的分析会引入结构断点。

§3.9 "设备"规格(数据通道)

本数据集无物理采集设备;其"仪器"为数据通道:各卫生部门官网与官方 API(主通道)、权威媒体(核实通道)、JHU 人工录入表单(出口)。技术支持方为 JHU 应用物理实验室(APL)与 Esri Living Atlas 团队,资源支持方含 AWS、Slack、GitHub(仓库致谢)。理解通道结构对建模很重要:报告延迟 = 来源官网更新延迟 + JHU 采集延迟(通常 < 24 小时)。

通道结构还决定了数据的三类典型故障模式:来源官网改版导致某地区数日缺数(表现为序列中段空值或 0)、来源发布口径突变(表现为阶跃)、以及多源并列时数值不一致(表现为隔日回撤)。把故障模式与 §6.5 坑点一一对应后,几乎每条原始序列的异常都能归因。

§3.10 深度溯源链

原始报告(地方卫生部门)→ 省州/国家卫生部门汇总页 → JHU CSSE 人工核对与录入(Google Sheets)→ GitHub 主分支推送(git commit 留痕)→ 仪表板渲染(CRC)→ 下游聚合(OWID、Kaggle 镜像、coronavirus R 包等)。每一环都有可查痕迹:来源清单在主 README 维护,录入痕迹在 git 历史,修正记录在 README 与 Errata.csv。这一完整溯源链是本数据集区别于一般"爬虫数据集"的核心优势。

溯源链的工程含义:任何下游分析都可以声明自己处于链上的哪一环(“基于 JHU 终版 master"vs"基于 2021-06-01 快照"vs"基于 OWID 转载版”),并在引用中注明。反过来,若你的分析结果无法被他人复现,第一件事就是核对本环节是否与原作者处于同一环——跨环比较是疫情文献结论互相矛盾的最常见原因之一。

§4 数据结构

§4.0 目录树

COVID-19/
├── README.md                          # 主文档:数据源清单 + 修正记录
├── csse_covid_19_data/
│   ├── README.md                      # 字段字典 + 回填公告 + 更新时点说明
│   ├── UID_ISO_FIPS_LookUp_Table.csv  # 地理映射:UID/ISO2/ISO3/FIPS/人口/经纬度
│   ├── csse_covid_19_time_series/
│   │   ├── Errata.csv                             # 勘误记录
│   │   ├── time_series_covid19_confirmed_global.csv  # 全球累计确诊
│   │   ├── time_series_covid19_deaths_global.csv     # 全球累计死亡
│   │   ├── time_series_covid19_recovered_global.csv  # 全球累计康复(2021-08 后冻结)
│   │   ├── time_series_covid19_confirmed_US.csv      # 美国县级累计确诊
│   │   └── time_series_covid19_deaths_US.csv         # 美国县级累计死亡(含人口列)
│   ├── csse_covid_19_daily_reports/
│   │   ├── 01-22-2020.csv            # 首日快照
│   │   ├── 02-01-2020.csv
│   │   ├── ...
│   │   └── 03-09-2023.csv            # 末日快照(约 1,140+ 份)
│   ├── csse_covid_19_daily_reports_us/
│   │   └── MM-DD-YYYY.csv            # 美国州级逐日快照
│   └── who_covid_19_situation_reports/
│       └── *.pdf                     # WHO 情况报告存档
└── archived_data/                    # 2020-02 前历史归档

§4.1 DAIMS 字段字典(8 列)

以主时间序列 global 文件 + 每日快照的核心字段为准:

字段名 类型 说明 示例值 AI 用途 观测误差 信息性缺失编码 取值范围
Province/State(Province_State) 文本 省/州/特殊单元名 Hubei / 空串 分层聚合键 名称随时间变更 空串=国家级行 枚举约 100+
Country/Region(Country_Region) 文本 国家/地区名 China / Italy 跨国聚合键 命名非 ISO 标准 无缺失 枚举约 200
Lat / Long 浮点 地理质心坐标 30.5928 / 114.3055 空间分析 质心非具体地址 空值=邮轮等 [-90,90]/[-180,180]
Admin2 文本 美国县名(仅 US 文件) Middlesex 县级建模键 同名县歧义 空值=州级未分配行 枚举 3,000+
FIPS 数值(应作字符串) 美国县编码(仅 US 文件) 25017.0 空间连接键 前导零被截断 空值=未分配(如游轮/ correction) 0-80000(含 0 填充语义)
Population 整数 县人口(仅 deaths_US) 1611699 发病率分母 人口普查口径 空值=非地理行 >0
日期列(1/22/20 … 3/9/23) 整数 当日累计计数 67800 监督目标 回填重写历史 空值罕见 非负整数(差分可负)
Last_Update 时间戳 快照采集时间(UTC) 2021-03-07 05:21:40 报告延迟建模 时点随采集窗口漂移 无缺失 2020-01-21 起
Confirmed / Deaths 整数 累计确诊/死亡(快照) 2875255 监督目标 含 probable 口径 偶发空值 非负整数
Recovered / Active 整数 累计康复/现存(快照) 27690 / 1565590 建模注意项 2021-08-02 起停更 停更后无意义 非负整数(Active 可为负)
Incident_Rate(Incidence_Rate) 浮点 每 10 万人发病数(快照) 2,187.65 空间分层特征 分母为查找表人口 无缺失 ≥0
Case_Fatality_Ratio 浮点 粗病死率 %(快照) 1.49 描述统计 受低估偏倚强烈影响 — [0, 100]
Testing_Rate / People_Tested 浮点/整数 检测率与检测量(US 快照) 245,678 检测能力代理 源自 COVID Tracking Project,2021-03 后停源 后期空值 ≥0
Combined_Key 文本 地区全名拼接键 Hubei, China 唯一显示键 历史拼写漂移 无缺失 枚举

§4.2 标签分布

监督学习的"标签"即各日期列的累计计数或其差分(日增)。分布形态呈典型流行病学特征:2020 年 3-4 月与 2021 年初的全球波峰、2021-2022 年 Delta 与 Omicron 期高位震荡、2023 年退潮。日增序列近似右偏,周内周期显著(周末低、周一高);对数变换后近似可分段的指数增长+平台。康复列在 2021-08-02 前由各地异质算法生成,分布不可跨地区比较;此后的日期值为冻结值,任何"日增康复"建模都应止步于该日期。

对建模有直接意义的三条分布规律:其一,累计列严格单调非减(除回填重写外),直接用累计值训练会学到"只涨不跌"的平凡解,必须差分;其二,日增的方差与水平正相关(近似泊松过散布),log1p 变换或负二项损失比高斯损失更贴合;其三,跨地区水平差异跨越多个数量级(大都市数百万 vs 小县数十例),按地区标准化(除以人口或序列均值)后再联合训练,可避免模型被大国/大县主导。

§4.3 关键统计

  • 时间跨度:2020-01-22 至 2023-03-09,共 1,143 个日期列(DeepWiki 仓库综述)。
  • 终值规模:全球累计 676,490,732 例确诊、6,881,625 例死亡(截至 2023-03-09,JHU CRC 存档)。
  • 镜像体量:Kaggle 官方镜像 233.37 MB / 534 文件;全量镜像(含 WHO PDF)591.03 MB / 1,714 文件(截至 2026-09)。
  • 修正密度:README 数据修正记录与 Errata.csv 覆盖数百次区域性修正;大规模回填至少发生过数轮(如 probable 病例重分类)。
  • 更新窗口:每日推送时点累计调整 3 次(23:59 UTC → 03:30-04:00 → 04:45-05:15 UTC)。

累计终值 Top 10 国家/地区(截至 2023-03-09,JHU CRC 口径,存档):

国家/地区 累计确诊 累计死亡 死亡/百万人口
美国 103,802,702 1,123,836 3,415
印度 44,690,738 530,779 388
法国 39,866,718 166,176 2,480
德国 38,249,060 168,935 2,035
巴西 37,076,053 699,276 3,313
日本 33,320,438 72,997 575
韩国 30,615,522 34,093 666
意大利 25,603,510 188,322 3,120
英国 24,658,705 220,721 3,312
俄罗斯 22,075,858 388,478 2,663

以上计数为"报告病例",跨国比较受检测能力与口径影响(见 §7.1),仅作规模参照。

§4.4 数据层级

全球(Country_Region,约 200 个)
└── 省/州(Province_State,部分国家拆分;全球文件)
    └── 县(Admin2 + FIPS,仅美国文件;约 3,000+ 县级行)
观测值 = 累计计数 × 日期(1,143 天)
派生层 = 日增(差分)→ 7 日均值 → 发病率(÷ 人口)

层级映射的工程要点:全球文件与 US 文件是两套独立 Schema,不能假设共享键。跨文件对齐走 UID(查找表主键);全球文件内省级行与国家级行并存,聚合国家总数时按 Country_Region 求和即可(省级行会被自然并入);县级分析则应始终从 US 文件出发、用查找表补齐人口与地理属性,不要反向从州级拆分。

§4.5 缺失值与信息性缺失

本数据集的缺失语义分三层:结构缺失(该地理单元当时不存在于表中)、事件缺失(来源停报/停维护)、以及编码缺失(空值)。三者对模型的含义完全不同,处理前必须先判层——把"停报"当"零病例"填充是此类数据最常见的致命错误。

缺失情形 表现 语义 处理建议
早期地理单元未纳入 前 N 列为空 尚未开始报告(如伊朗前约 32 天、英国前约 21 天无数据) 起报日对齐后再进模型,勿填 0
Recovered 冻结 2021-08-04 后值恒定 官方停止维护,非"无人康复" 建模止步于冻结日;冻结后 Active 无效
FIPS 空值 US 文件部分行 FIPS 为空 未分配县(含修正行、州外单元) 连接地理数据前过滤或单列处理
周末低报 日增周末骤降后周一反弹 报告节奏,非真实疫情 7 日移动平均或星期虚拟变量
快照列名变更 US 快照列随时间增删 口径演进 按日期段映射列名字典
死亡日期口径 同日计数混合"发生/签发/报告"三种日期 各地死亡登记制度不同 建模声明采用"报告日"口径
快速检测并入 probable 病例部分时点纳入 美国 CDC 口径演进 与 §6.5 坑点 6 事件表联动

§5 划分与使用建议

§5.1 官方与社区惯例划分

官方不提供 ML 划分。社区通行做法有两种:其一,按时间切分——训练集止于某历史日 t,测试集为 t+1 至 t+h(h 通常取 7/14/28 天滚动预测窗);其二,按地区外推——以部分国家/州训练、在留出地区验证迁移性。Kaggle covid19-global-forecasting 竞赛采用"给定历史区间、预测未来区间"的单切分(综述)。

划分方案 训练/测试 适用问题 主要风险
单时点切分 前 80% 日期 / 后 20% 日期 快速原型 单一窗口结论不稳
Rolling-origin 起点每季滑动 × 8 折 发表级评估 计算量大
地区外推 部分国家训练 / 留出国家测试 迁移性研究 报告质量差异混淆
Kaggle 协议 固定截止日 / 未来 h 天 竞赛复现 快照口径需锁定
终版回看 全量终版拟合 描述性分析 禁止包装为实时预测

§5.2 划分策略建议

推荐 rolling-origin(滚动起点)评估:起点沿日期轴滑动多次,每次以起点前全部数据训练、预测起点后 h 天,聚合多折误差。该方案天然模拟实时决策,并能暴露回填带来的"标签漂移"。地区外推实验建议按"报告质量分层"抽样留出地区(高报/低报能力),而非随机抽样,否则会高估泛化。

两个实操细节:折的起点避开已知口径切换日(如 2020-02-13 湖北、2021-08-02 康复停更)前后一周,否则该折误差被事件主导,无法反映模型能力;每折内部按"国家固定",避免同国样本跨折泄漏,尤其在使用地区嵌入或全球共享层参数的模型中。

§5.3 泄漏风险(重点)

  1. 终版数据回看泄漏:用最终归档版做"实时模拟",等于让模型看到未来的回填修正;正确做法是按 git 提交日期 checkout 当日快照。
  2. 归一化统计泄漏:全局 min-max/标准化把测试期统计量泄入训练;应在训练窗内拟合并冻结。
  3. 特征构造穿越:使用"截至 t 的已知信息"之外的特征(如 t+1 才公布的政策指标)会人为抬升性能。
  4. 星期效应下的切分:按周切分而忽略周内结构,会让验证集集中在特定星期几,虚高或虚低误差。
  5. 镜像版本漂移:用 Kaggle 第三方镜像复现 GitHub 实验,清洗与版本差异会伪装成"模型性能差异"。

§5.4 交叉验证建议

时序数据禁用随机 K 折。建议 h 步阻塞交叉验证(blocked CV):验证块互不重叠、按时间顺序排列,报告每折误差及均值±标准差;对死亡等低噪声序列可加"地区内标准化"再聚合,避免大国主导整体指标。

若计算预算允许,推荐"双重验证矩阵":时间轴 rolling-origin × 地轴分层留出同时做,得到"何时泛化、何地泛化"的二维误差图谱——疫情期间传播动力学随时段与地区剧烈变化,单轴验证得到的结论常常在另一轴上不成立。

§5.5 外部验证建议

用同源但独立组织的 New York Times 美国县级数据交叉验证县级预测;用 WHO/OWID 国家级序列验证全球聚合口径;对 2021-08 后的康复相关任务,使用各国住院/检测替代源(OWID)重定义目标。所有跨源对比先对齐"报告日 vs 发生日"口径再比较数值。

跨源验证的实施顺序建议:先做"逐格一致性审计"(同一地区同一日期在两源中的差值分布),把系统性偏移识别出来并归因(口径、时点或补报),再做"预测精度对比"(同一模型在两源上的误差相关性)。若两源误差高度相关,说明模型学到的是真实动力学;若不相关,多半是学到了某一源特有的报告噪声。

§6 AI 就绪指南

§6.0 云端快速启动

数据托管在 GitHub 公共仓库,无需任何云凭证。Colab/Kaggle Notebook 可直接 git clone 或读取 raw URL;Kaggle 上有官方镜像数据集 benhamner/jhucovid19(233.37 MB,截至 2026-09 快照),挂载路径 /kaggle/input/jhucovid19 即用。

# Colab 快速启动:免 clone,直读 raw CSV(约 10 秒内完成)
import pandas as pd

url = ("https://raw.githubusercontent.com/CSSEGISandData/COVID-19/master/"
       "csse_covid_19_data/csse_covid_19_time_series/"
       "time_series_covid19_confirmed_global.csv")
df = pd.read_csv(url)
print(df.shape)          # (行数, 4 + 1143) 地理列 + 日期列
df.head(3)               # 前三行:Province/State, Country/Region, Lat, Long + 日期列

若需要"当时快照"(规避坑点 2 的回填),在本地环境用 git 检出历史提交:

git clone https://github.com/CSSEGISandData/COVID-19.git
cd COVID-19 && git log --oneline --until="2021-06-01" -1   # 找到当日提交
git checkout $(git rev-parse HEAD)                          # 冻结为该日快照

§6.1 快速上手

目录结构预期:仓库 clone 到本地后,数据根目录为 <repo>/csse_covid_19_data/;data_root 即该目录路径。最小可用子集为 csse_covid_19_time_series/time_series_covid19_confirmed_global.csv 单文件——一个国家级的 1,143 天累计序列,够完成端到端预测 Demo。

先建立对数据形态的直觉:主时间序列是"宽到离谱"的矩阵(约 4 个地理列 + 1,143 个日期列),而每日快照是传统长表。两条读取路径对应两种分析范式——纵向分析(某地的时间演化)走时间序列文件,横向分析(某日全球切面)走每日快照。

import pandas as pd

data_root = "COVID-19/csse_covid_19_data"          # git clone 仓库后的数据根目录
ts_dir = f"{data_root}/csse_covid_19_time_series"  # 5 份主时间序列所在目录

# 读取全球累计确诊:前 4 列为地理信息,其后 1,143 列为日期(MM/DD/YY,宽格式)
df = pd.read_csv(f"{ts_dir}/time_series_covid19_confirmed_global.csv")

# 关键一步:按国家聚合(中国/澳大利亚/加拿大等按省拆分行,跨国比较前必须合并)
by_country = df.groupby("Country/Region").sum(numeric_only=True)

# 宽转长:把日期列翻转为行,得到 tidy 长表(date, cum_confirmed)
long_df = (
    by_country
    .rename_axis("country")
    .reset_index()
    .melt(id_vars="country", var_name="date", value_name="cum_confirmed")
)
long_df["date"] = pd.to_datetime(long_df["date"], format="%m/%d/%y")  # 注意 2 位年份
print(long_df.head())   # 全球 200 国家/地区 × 1,143 天 ≈ 23 万行长表

§6.2 数据获取

方式 地址 大小 适用场景
git clone(推荐) https://github.com/CSSEGISandData/COVID-19 完整历史数 GB 需要历史快照回溯
raw URL 直下 见下方代码 单文件数 MB 只要主时间序列
Kaggle 镜像 https://www.kaggle.com/benhamner/jhucovid19 233.37 MB Notebook 免克隆
CRC 归档入口 https://coronavirus.jhu.edu(链出两个存档仓库) — 找疫苗/检测/人口学附属数据
国会图书馆存档 https://www.loc.gov/item/2023590205/ — 长期数字保存副本
import urllib.request

base = ("https://raw.githubusercontent.com/CSSEGISandData/COVID-19/master/"
        "csse_covid_19_data/csse_covid_19_time_series")
for name in ["confirmed_global", "deaths_global", "recovered_global",
             "confirmed_US", "deaths_US"]:
    urllib.request.urlretrieve(f"{base}/time_series_covid19_{name}.csv",
                               f"time_series_covid19_{name}.csv")

CC BY 4.0:复制/分发/商用皆可,须署名 “COVID-19 Data Repository by the Center for Systems Science and Engineering (CSSE) at Johns Hopkins University” 并在出版物引用 Dong et al. 2020。无需注册、无申请流程、无使用限制条款(DUO: NRES)。

获取流程核对清单:确定所需文件子集 → 选择 GitHub raw(终版)或 git 检出(历史快照)或 Kaggle 镜像(Notebook 场景)→ 记录 commit hash / Kaggle 版本号 → 校验文件行列数(时间序列应为 1,143 个日期列)→ 在实验记录中登记数据版本。全程无人工审批环节,典型耗时从数十秒(单文件)到数分钟(全仓 clone)不等。

§6.3 预处理全流程

格式统一(宽转长 + 日期解析)→ 清洗(负值、FIPS、命名)→ 标准化(对数变换、7 日平滑)→ 特征增强(滞后特征、星期编码)。

import numpy as np
import pandas as pd

def load_global_cum(metric: str) -> pd.DataFrame:
    """读取全球时间序列并返回长格式 tidy 表。
    metric ∈ {confirmed, deaths, recovered}"""
    path = (f"COVID-19/csse_covid_19_data/csse_covid_19_time_series/"
            f"time_series_covid19_{metric}_global.csv")
    wide = pd.read_csv(path)
    wide = wide.groupby("Country/Region", as_index=False).sum(numeric_only=True)
    long = wide.melt(id_vars="Country/Region", var_name="date",
                     value_name=f"cum_{metric}")
    long["date"] = pd.to_datetime(long["date"], format="%m/%d/%y")
    return long

df = (load_global_cum("confirmed")
      .merge(load_global_cum("deaths"), on=["Country/Region", "date"]))
df = df.sort_values(["Country/Region", "date"])

# 清洗 1:日增差分,clip 掉回填造成的负值(保留原始列以便审计)
for m in ["confirmed", "deaths"]:
    df[f"new_{m}"] = (df.groupby("Country/Region")[f"cum_{m}"].diff()
                        .fillna(df[f"cum_{m}"]))
    df[f"new_{m}_clipped"] = df[f"new_{m}"].clip(lower=0)

# 标准化:对数 1p 变换 + 7 日中心移动平均(平滑周末效应)
df["log7_new"] = (np.log1p(df["new_confirmed_clipped"])
                    .groupby(df["Country/Region"])
                    .transform(lambda s: s.rolling(7, center=True).mean()))
df.to_parquet("jhu_global_clean.parquet")

口径事件表构建(坑点 1/6 的结构化资产,供特征工程与审计共用):

# 已知口径事件(来源:JHU README 数据修正记录与方法论文),地区级登记
caliber_events = pd.DataFrame([
    # 地区, 日期(UTC), 类型, 说明
    ("China",          "2020-02-12", "definition_change", "湖北并入临床诊断病例(GMT+8 为 02-13)"),
    ("Italy",          "2020-02-26", "definition_change", "诊断标准调整,影响新增口径"),
    ("US",             "2020-04-14", "probable_included", "confirmed+probable 口径扩大适用"),
    ("China",          "2020-02-13", "correction",        "湖北扣除 108 例重复计算死亡(NHC 02-14 公告)"),
], columns=["region", "date_utc", "event_type", "note"])
caliber_events["date_utc"] = pd.to_datetime(caliber_events["date_utc"])
# 用法:与长表按 (region, date) 反连接生成 is_event 特征;或用于剔除事件窗口折

美国县级清洗补充(对应坑点 3,接在上述流程之后):

us = pd.read_csv(f"{ts_dir}/time_series_covid19_confirmed_US.csv")

# FIPS 修复:数值列 → 可空整数 → 5 位零填充字符串;空值保留为 NA
us["FIPS"] = us["FIPS"].astype("Int64")
us["FIPS_str"] = us["FIPS"].astype("string").str.zfill(5)

# 剔除非县级行(Out of *、修正行等 FIPS 为空的单元),并去重防 Combined_Key 重复
county = us[us["FIPS"].notna()].drop_duplicates(subset=["UID"])

# 县级发病率分母:deaths_US 才有 Population,确诊文件需按 UID 连接人口列
deaths_us = pd.read_csv(f"{ts_dir}/time_series_covid19_deaths_US.csv")
pop = deaths_us[["UID", "Population"]]
county = county.merge(pop, on="UID", how="left")

§6.4 PyTorch DataLoader 完整代码

以下 Dataset 以"某国过去 28 天 log 日增死亡 → 预测未来 14 天"为最小建模单元,全部数据流基于 §6.3 产出的 parquet。

<details>
<summary>展开完整 Dataset + DataLoader 代码(约 55 行)</summary>

import numpy as np
import pandas as pd
import torch
from torch.utils.data import Dataset, DataLoader

WINDOW_IN, WINDOW_OUT = 28, 14   # 输入 28 天 → 预测 14 天

class JHUDeathWindow(Dataset):
    """滑动窗口数据集:逐国家生成 (X: 28 天历史, Y: 14 天未来) 样本。
    df 需含列 country/date/new_deaths_clipped;须先按日期排序。"""
    def __init__(self, parquet_path: str, min_history: int = 60):
        df = pd.read_parquet(parquet_path).sort_values(["country", "date"])
        self.samples = []
        for _, g in df.groupby("country"):
            y = np.log1p(g["new_deaths_clipped"].to_numpy(dtype=np.float32))
            if len(y) < min_history + WINDOW_OUT:      # 剔除历史过短地区
                continue
            for i in range(min_history, len(y) - WINDOW_OUT + 1):
                x = y[i - WINDOW_IN:i]
                t = y[i:i + WINDOW_OUT]
                self.samples.append((x, t))
        self.mu, self.sd = self._fit_norm()            # 仅用训练分布近似:见 §5.3 泄漏提示

    def _fit_norm(self):
        all_x = np.concatenate([s[0] for s in self.samples])
        return float(all_x.mean()), float(all_x.std() + 1e-6)

    def __len__(self):
        return len(self.samples)

    def __getitem__(self, idx):
        x, t = self.samples[idx]
        return (torch.from_numpy((x - self.mu) / self.sd).unsqueeze(-1),
                torch.from_numpy(t))

ds = JHUDeathWindow("jhu_global_clean.parquet")
# 时序数据禁止 shuffle 的场景:评估阶段务必 shuffle=False;
# 训练阶段若 shuffle=True,须确保划分已在样本级按时间截断完成(rolling-origin 外部完成)
loader = DataLoader(ds, batch_size=64, shuffle=False, num_workers=2)
xb, yb = next(iter(loader))
print(xb.shape, yb.shape)   # torch.Size([64, 28, 1]) torch.Size([64, 14])

</details>

§6.5 坑点 8 个

⚠️ 坑点 1:累计序列差分产生"负日增"(分类:预处理陷阱)

问题:数据为累计口径,下游地区发生数据回撤(重复计数扣除、假阳性剔除、口径修正)时,当日累计值小于前日,直接 diff() 得到负日增,污染损失函数与特征分布。
症状:日增直方图出现左侧负尾部;模型预测偶发负值;按国家求和的日增与官方"新增"公告对不上。
解决:

  1. 简单方法:diff().clip(lower=0),负日增记 0;保留原始差分列用于审计。
  2. 进阶方法:把负增量按比例摊回此前 7 天(JHU 官方 new-cases 图使用 5 日中心移动平均即为此思路,见 arXiv 综述):s_corrected = s.rolling(7, center=True).mean() 后再差分。
  3. SOTA 方法:按 Errata.csv 与 README 回填公告把修正事件建成"修正日历",在修正日用指示变量 + 前后窗口重估该段序列,使日增估计无偏(参考 coronavirus 包对负值的说明)。
    参考:JHU CSSE README “Data modification records”;coronavirus R 包 README。

⚠️ 坑点 2:历史回填改写过去——"终版数据"是时间旅行泄漏(分类:数据泄漏)

问题:JHU 会把后来确认的 probable 病例/死亡回填进历史日期(README 专设 “Retrospective reporting of (probable) cases and deaths” 与 “Large-scale back distributions” 小节;如马萨诸塞 2020-06-12 报告的 probable 病例被摊回 2020-04-15 至 06-11 的历史序列)。用最终归档版模拟实时预测,模型看到的"过去"包含当时根本不存在的信息。
症状:回测精度惊人地好,上线后一泻千里;同一日期在旧快照与新快照中数值不同,实验不可复现。
解决:

  1. 简单方法:明确声明实验为"终版数据回看"(retrospective),不与任何实时系统比较。
  2. 进阶方法:git log --diff-filter=M -- <file> 找到每个日期列的最近一次修改提交,用 git checkout <commit> 还原"当日快照"构造 as-of 数据集;或直接使用 Kaggle 各历史版本(v1-v188 存档)。
  3. SOTA 方法:构建报告延迟矩阵(event date × report date),按现在值估计(nowcasting)框架建模延迟分布,用终版数据同时拟合延迟核与最终值,兼顾复现性与实时性(参考 MDPI 对回填案例的分析)。
    参考:JHU CSSE csse_covid_19_data README;Dong et al. 2022 方法论文。

⚠️ 坑点 3:美国县级 FIPS 前导零截断与空值(分类:工程陷阱)

问题:FIPS 是 5 位县级编码(州 2 位 + 县 3 位),CSV 以数值类型读取后前导零丢失(如 Alabama Autauga 县 01001 变 1001.0),且部分行(州外单元、未分配修正行)FIPS 为空。与人口普查、地理边界文件做连接时会错配或丢行(Issue #2638、#2530)。
症状:merge 后县级行数明显少于预期;地图着色出现成片 NaN;同一县出现两条记录。
解决:

  1. 简单方法:df["FIPS"] = df["FIPS"].astype("Int64").astype(str).str.zfill(5),空值单列 pd.NA 处理后再连接。
  2. 进阶方法:以官方 UID_ISO_FIPS_LookUp_Table.csv 为唯一连接基准(UID 主键),先映射再连接;对 Combined_Key 重复行去重。
  3. SOTA 方法:使用 cleaned 版社区仓库(如 COVID-19-CLEANED-JHUCSSE)已修复为定长 2 位州码 / 5 位县码,并统一地名,规避自修成本。
    参考:JHU Issue #2638/#2530;fredlouisgriffin/COVID-19-CLEANED-JHUCSSE 说明。

⚠️ 坑点 4:地名与 Combined_Key 不稳定——“Korea, South” 与 “,France”(分类:工程陷阱)

问题:Country_Region 采用非 ISO 的自定命名(“Korea, South”),早期快照存在逗号污染(“,France”)与省市拼进省字段的写法(“Los Angeles, CA”),地区随时间改名或拆分行;直接按名字聚合跨国别重复或漏算(Issue #2603)。
症状:同一国家在时间轴上出现两条平行序列;groupby 后行数多于国家数;中美/法属领地被错误归并。
解决:

  1. 简单方法:建一份旧名→标准名映射字典(以终版名单为基准),加载后统一替换。
  2. 进阶方法:以 UID_ISO_FIPS_LookUp_Table.csv 的 UID/ISO3 为持久主键,对每个历史快照先 join 该表获得稳定 ID 再聚合。
  3. SOTA 方法:采用 OWID 或 COVID-19 Data Hub 的 ISO3 键化版本做跨国研究,把 JHU 原始命名保留在溯源层。
    参考:JHU Issue #2603;cleaned 仓库命名规范说明。

⚠️ 坑点 5:康复列 2021-08-02 停更,Active 口径随之失效(分类:标签理解)

问题:康复定义全球无法统一(WHO 原定义需两次 PCR 阴性间隔 ≥24 小时,多数地区改用"确诊后 N 天"等算法估计),JHU 于 2021-08-02 起停止报告康复与现存病例;recovered_global.csv 数值此后冻结,Active = Confirmed - Deaths - Recovered 公式从此无意义。US 州级康复数另来自 COVID Tracking Project(该项目 2021 年 3 月已停运)。
症状:2021 年 8 月后"日增康复"骤降为 0 或小抖动;Active 曲线出现违反直觉的持续上涨;把康复当监督目标训练的模型在冻结日截断后完全失效。
解决:

  1. 简单方法:所有康复/现存相关任务的时间窗截断至 2021-08-02;在数据卡片中显式声明。
  2. 进阶方法:以住院/出院数据(OWID 汇总的 HHS 等源)重定义"恢复"代理目标。
  3. SOTA 方法:直接建模"现患率"= 累计确诊 − 累计死亡 − 估计康复,其中康复用感染-去除模型(如固定中位病程的 compartmental 估计)显式参数化并给出区间。
    参考:Dong et al. 2022 方法论文(康复停更决策);JHU Issue #3464、#4465。

⚠️ 坑点 6:确诊口径漂移——probable、临床诊断与扣重事件(分类:偏倚陷阱)

问题:Confirmed 各地含义不一:多数含 confirmed + probable(美国 CDC 口径),且定义随时间变化——湖北 2020-02-13(GMT+8)起并入临床诊断病例造成单日跳升,意大利 2020-02-27 收紧诊断标准,湖北 2020-02-14 扣除 108 例重复死亡。这些"政策阶跃"会被模型误读为疫情动态。
症状:特定日期的单日增量异常尖峰(如湖北 2/13 新增 1.4 万+);跨国排序在某日后系统性变化;死亡/确诊比在某口径切换日跳变。
解决:

  1. 简单方法:把已知口径切换日建成地区级"事件表",在可视化与报告中标注,不进损失函数。
  2. 进阶方法:在事件日加入阶跃指示特征(step function),让模型显式吸收水平位移;或对切换日前后分段归一化。
  3. SOTA 方法:采用"确诊能力调整"模型:以检测阳性率或超额死亡等外部锚点估计报告比例随时间的曲线,把 reported 映射到估计 true(参考 Dong et al. 2022 对口径问题的系统讨论)。
    参考:JHU README 数据修正记录(湖北扣重、意大利口径);scidm 存档字段说明。

⚠️ 坑点 7:星期效应与节假日停报——日增的强周内周期(分类:预处理陷阱)

问题:大量美国州与部分国家周末不报告或只报部分数字,周一集中补报;JHU 官方在区域页明示周末停报州清单。日增序列叠加 7 天周期 + 节假日空洞,直接训练的模型把"星期几"当疫情信号。
症状:自相关函数在滞后 7/14/21 处显著;预测曲线呈锯齿状周末塌陷;周一定期"暴发"假象。
解决:

  1. 简单方法:7 日移动平均替代日增(JHU CRC 图即用 5 日中心均值,见 arXiv 综述)。
  2. 进阶方法:星期虚拟变量 / Fourier 项(k=1 的 7 日谐波)进特征;节假日日历另加指示。
  3. SOTA 方法:状态空间模型把观测过程与潜过程分离(报告过程建模星期与节假日,潜过程为真实传播),或用 nowcasting 延迟模型统一处理补报。
    参考:JHU CRC 区域页周末停报注记;Middlesex 县星期效应研究。

⚠️ 坑点 8:评估陷阱——把"回填后精度"当"预测精度"卖(分类:评估误用)

问题:不同论文用不同快照、不同窗口、不同聚合层级评估,数字不可直接比较;更严重的是用终版数据评估"本应实时"的预测,等于允许标签被未来修正美化;此外多数研究未声明口径(累计 vs 日增、含 probable 与否),复现无从谈起。
症状:同一模型两篇论文 MAE 差数倍;排行榜数字随下载日期漂移;复现者拿不到论文作者当日看到的数值。
解决:

  1. 简单方法:报告中固定四要素——快照版本(git commit/Kaggle 版本号)、数据窗口、目标定义(日增/累计、clip 与否)、聚合层级。
  2. 进阶方法:rolling-origin 多折评估 + 报告跨折分布而非单点;同时报告"终版评估"与"as-of 评估"两套结果。
  3. SOTA 方法:把评估代码与数据版本锁进同容器(数据 hash + commit hash 写入 metrics JSON),社区已有 cleaned 仓库与 coronavirus 包提供可锁定版本。
    参考:Kaggle covid19-global-forecasting 竞赛协议;Dong et al. 2022 关于数据透明度的讨论。

§6.6 数据增强(安全 ✅ / 危险 ❌)

技术 判定 说明
加性高斯/泊松重采样噪声 ✅ 模拟报告噪声,保留单调累计结构
时间窗随机裁剪(滑窗起点抖动) ✅ 等效样本扩充,时序标准做法
跨国序列混合训练 + 地区嵌入 ✅ 提升低数据地区泛化
按人口规模重加权采样 ✅ 缓解大国/大县主导的梯度偏斜
随机打乱日期顺序 ❌ 破坏时序因果,绝对禁止
把负日增翻转为正 ❌ 掩盖真实修正事件,扭曲分布
对累计列做任意缩放"增广" ❌ 破坏计数语义与跨国可比性

安全增强的落地示例(在 §6.4 Dataset 中插入即可):

import torch

def augment_window(x: torch.Tensor, sigma: float = 0.02) -> torch.Tensor:
    """安全增强:对 log 空间输入加微高斯噪声 + 随机起点已在外层完成。
    禁止对累计序列直接增广——只对差分/平滑后的输入操作。"""
    return x + sigma * torch.randn_like(x)

注意增强的语义边界:噪声强度应参照真实报告噪声量级(死亡序列信噪比高于确诊,sigma 应更小);对用于"口径事件检测"的模型,增强会抹掉待检测的阶跃信号,应整体关闭增强。

§6.7 模型推荐

模型 适用任务 推荐理由
SARIMA / ETS 单国短期基线 强周期 + 趋势结构明确,可解释
LSTM/GRU + 星期嵌入 多地区 7-14 天预测 捕捉非线性饱和;注意 §6.5 坑点 2
N-BEATS / PatchTST 长序列多国批量预测 纯时序 SOTA 架构,免特征工程
Prophet 快速基线与可解释分解 原生节假日与变点处理
状态空间 + 报告延迟核 nowcasting / 实时审计 唯一能同时处理回填与延迟的框架
XGBoost(滞后特征表) 表格化多步预测 对口径阶跃的鲁棒性较好
Gaussian Process / Darts 概率预测 需要预测区间的决策支持 输出分位数,支撑风险决策
Transformer 多变量(含政策特征) 政策评估联动建模 注意特征泄漏检查(§5.3)

§6.8 硬件需求

配置 规格 可完成任务
最低 4 核 CPU / 8 GB 内存 全量 pandas 清洗 + 统计模型
推荐 8 核 CPU / 16 GB 内存 / 单张消费级 GPU(8 GB) 深度时序模型多国训练
大规模 多 GPU 或 32 GB 内存 长序列 PatchTST + 超参搜索
极简(教学) 2 核 CPU / 4 GB 内存 / Kaggle Notebook 免费档 单国家 Demo + 全部本 Wiki 代码

§6.9 评估指标代码

指标选择须匹配计数型目标的统计性质:MAE 对零膨胀日增更稳健,RMSE 惩罚波峰误差,sMAPE 处理跨量级地区更公平;三者联合报告可避免单一指标误导。

import numpy as np

def eval_forecast(y_true: np.ndarray, y_pred: np.ndarray) -> dict:
    """对日增计数预测报告 MAE / RMSE / sMAPE。
    y_true, y_pred 形状 [n_samples, horizon]"""
    err = y_pred - y_true
    mae = np.abs(err).mean()
    rmse = np.sqrt((err ** 2).mean())
    denom = (np.abs(y_true) + np.abs(y_pred)) / 2
    smape = (np.abs(err) / np.where(denom == 0, 1e-8, denom)).mean() * 100
    return {"MAE": round(float(mae), 3),
            "RMSE": round(float(rmse), 3),
            "sMAPE_%": round(float(smape), 2)}

必须同时报告的朴素基线(任何模型只有跑赢它才有意义):

def naive_baseline(hist: np.ndarray, horizon: int = 14) -> np.ndarray:
    """季节朴素基线:以最近 7 天均值作为未来 14 天逐日预测。
    hist 形状 [n_samples, >=7],返回 [n_samples, horizon]"""
    level = hist[:, -7:].mean(axis=1, keepdims=True)
    return np.repeat(level, horizon, axis=1)

def wape(y_true: np.ndarray, y_pred: np.ndarray) -> float:
    """加权绝对百分比误差:适合计数型、含零值较多的日增序列"""
    return float(np.abs(y_true - y_pred).sum() / max(np.abs(y_true).sum(), 1e-8))

§6.10 MLOps 笔记

  • 数据冻结:仓库已归档,训练数据应绑定具体 commit hash(如记录 git rev-parse HEAD),杜绝"数据悄悄变了"。
  • 口径版本卡:把 §6.5 坑点 1/5/6 的事件表作为数据版本卡的附属资产,随模型一起发布。
  • 监控漂移:模型若继续在线服务(例如接入 WHO 续更数据),须监控输入分布相对 JHU 训练分布的漂移(口径、星期结构)。
  • 可复现实验:终版评估与 as-of 评估双轨留痕,避免坑点 8。
  • 特征存储:把"报告延迟矩阵"(事件日 × 报告日)沉淀为特征存储资产,是 nowcasting 类应用的复用核心。
  • 模型注册:按"数据版本 × 折号"双键注册模型工件;同一 commit 下重训结果应逐位可复现(固定随机种子)。
  • 下线策略:声明模型有效期终点(2023-03-10 后输入分布已失锚),接 WHO/OWID 续更源前不应急于复用旧权重。

§7 质量评估与局限性

§7.1 已知偏倚表

偏倚类型 描述 严重程度 缓解措施
低估偏倚(under-ascertainment) 报告病例受检测能力限制,真实感染远高于计数 高 以血清率/超额死亡外部校准;仅做相对趋势
口径不一致 confirmed/probable 定义、康复算法全球各异 高 跨国比较只用死亡或仅趋势;显式声明口径
回填重写 probable 重分类与大规模回填改写历史 中 as-of 快照实验;报告快照版本
星期效应 周末停报造成 7 天周期伪影 中 7 日平滑;星期特征
幸存来源偏倚 依赖可机读官网的地区更易被准确采集 低-中 敏感性分析:剔除低机读性地区重估
居家检测低估 Omicron 期家庭自测不进入官方统计 中 以后期时段单独建模;下调确诊类结论置信度

§7.2 标注质量

作为事实聚合数据,其"标注质量"体现为采集透明度:每个数字有官方来源清单背书,修正有 README 与 Errata.csv 双记录,git 历史使任何争议可审计。方法论文系统复盘了采集挑战(口径、格式、节奏),为理解质量边界提供了第一手材料。需要清醒的是:透明不等于准确——对低估、口径与延迟,团队只能记录而不能消除。

从 AI 标注质量维度给三个结论:可复现性高(同快照同代码必得同结果)、可追溯性高(逐值可查来源与修正史)、可比性中等(跨国口径差异需研究者显式处理)。这三条已超过绝大多数同类众包/爬虫数据集,但也意味着"审计成本"转移给了使用者——数据不替你做对,只让你能查错。

§7.3 泛化性

下表评估"用本数据训练的模型迁移到分布外场景"的失效风险,证据栏均给出可核查的官方或文献依据。

外推场景 失效风险 证据
迁移到 2023 年后的新数据 高:报告结构已不可比(各州停报) JHU 停更公告:2023-01 仅 3 个辖区每日报告
迁移到其他呼吸道传染病监测 中:周期结构类似但延迟分布不同 多项流感 nowcasting 文献采用类似框架
低收入地区预测 高:低估与延迟更强 方法论文对不可机读来源的讨论
县级 → 州级聚合预测 低-中:聚合平滑后周期仍存 州级与县级序列谱结构一致
跨变异株时期预测 高:检测行为与重症率结构性变化 Omicron 期居家检测致系统性低估

§7.4 伦理

数据为区域聚合计数,不含任何个体可识别信息,无去标识化负担。伦理要点在于使用语境:疫情计数关联政府治理绩效,建模结论(如低估倍数、死亡比排序)应避免脱离口径差异的跨国"排名式"解读;CC BY 4.0 允许商用,但仪表板样式与品牌(JHU CRC)另有版权声明,二次产品不得暗示 JHU 背书。

另需注意两点:其一,死亡与康复计数关联逝者与患者群体的尊严,可视化与传播中应避免娱乐化呈现;其二,模型若输出"低估倍数"等对官方统计的推断性质疑,应以口径差异为前提谨慎措辞,避免把"报告口径"与"数据造假"混为一谈——这也是团队在方法论文中反复强调的区分。

§7.5 公平性

数据可用性本身存在全球不公平:高收入、机读成熟的地区被更早、更密地收录,模型由此学到的"疫情动力学"部分是"报告基础设施动力学"。任何跨地区模型都应检验:性能差距是否与地区收入/数字治理水平相关(建议按 World Bank 收入分组做分组误差审计)。

公平性审计的最小可行方案:把测试地区按"数据起始日"“周末是否报告”"日均更新延迟"三个可测代理指标分层,分别报告模型误差;若高分组与低分组误差差异超过 30%,应在论文中声明模型不宜用于报告基础设施薄弱地区的决策,并优先考虑分层建模或迁移校正。

§7.6 数据漂移

三种漂移叠加:采集漂移(更新时点三次前移、康复停更、快照列增删)、口径漂移(probable 纳入、临床诊断切换)、流行病学真实漂移(变异株更替)。对已归档数据,漂移以"版本差异"形式显式存在,可用 git diff 量化任意两版间的逐格改动比例,作为漂移的实证度量。

# 量化漂移示例:对比 2021-05-01 与 2021-08-01 两个快照的确诊时间序列差异
git clone --filter=blob:none https://github.com/CSSEGISandData/COVID-19.git
cd COVID-19
git diff $(git rev-list -1 --until="2021-05-01" HEAD) \
         $(git rev-list -1 --until="2021-08-01" HEAD) -- \
         csse_covid_19_data/csse_covid_19_time_series/time_series_covid19_confirmed_global.csv \
         | grep -c "^[-+][0-9A-Z]"   # 统计被改写的行数,作为漂移度量

工程上建议把上述 diff 行数与最大单行改动幅度(该行被改数值的最大相对变化)记为两个漂移指标,滚动监控它们对模型误差的相关性——若漂移指标上升伴随误差放大,即触发重训。

§7.7 DAIMS 24 项自检

# 检查项 状态 说明
1 宽格式 ✅ 主时间序列宽格式(日期为列),快照为长格式,文档清晰
2 唯一标识 ⚠️ UID 查找表提供主键,但县级 FIPS 存在前导零截断与空值
3 特殊字符 ⚠️ 存在 “,France”、省市混写等历史污染,需名称清洗
4 重复行 ✅ 无重复行;Combined_Key 唯一(终版)
5 缺失编码 ✅ 空串/空值表示缺失,语义一致
6 标签标识 ✅ Confirmed/Deaths/Recovered 语义在 README 明确定义
7 罕见类分组 ✅ 邮轮等特殊单元单列,不混入常规行
8 偏倚评估 ❌ 官方未提供量化偏倚评估,需研究者自建
9 数据字典 ✅ csse_covid_19_data README 逐字段说明
10 信息性缺失解释 ✅ 康复停更、周末停报等均有官方 Issue/公告解释
11 设备记录 ❌ 无采集设备元数据(数据通道描述代替)
12 共线性 ✅ 计数列间无共线性问题;派生列公式公开
13 编码映射 ✅ UID/ISO2/ISO3/FIPS 查找表齐全
14 时间戳处理 ⚠️ 统一 UTC,但地区实际报告时点异质,报告延迟未结构化
15 划分建议 ❌ 无官方 ML 划分
16 泄漏讨论 ⚠️ 回填在 README 公告但未给出 ML 泄漏指引
17 标签分布 ✅ 终值统计与修正记录公开可核
18 测量偏倚 ❌ 低估/口径偏倚无量化指标
19 外部验证建议 ✅ 官方链出 WHO/CDC/OWID 等替代与续更源
20 版本记录 ✅ git 全历史 + archived_data + Errata.csv
21 预处理脚本 ⚠️ 官方无统一脚本;社区 cleaned 仓库/coronavirus 包可用
22 合规要求 ✅ CC BY 4.0,署名即可自由使用
23 多模态对齐 ⚠️ 疫苗/检测/人口学在 GovEx 附属仓库,跨仓对齐需自建键
24 去标识化 ✅ 纯聚合计数,无个体信息

DAIMS 评分:17.0 / 24

评分解读:该数据集在"透明度维度"近乎满分——数据字典、版本记录、缺失解释、合规条款全部齐备,这在实时众包类数据中极为罕见;失分集中在"ML 工程配套"维度:没有官方划分、没有官方预处理脚本、无量化偏倚评估,且唯一标识在县级存在工程缺陷。4 项 ❌ 全部属于"团队定位所致"——它是一份监测数据仓库而非 ML 基准数据集。

横向参照:与同类聚合监测数据(WHO 仪表板导出、ECDC 下载表)相比,本数据集的版本记录与缺失解释维度明显占优(git 全历史是独有能力);与精心工程化的 ML 基准数据集相比,划分与脚本维度是结构性差距。17.0 的得分反映的正是"监测仓库 + 基准任务"的混合身份。

对你意味着什么:你可以放心把它当作趋势研究的可信底座(引用时附上 commit hash 即可复现);但如果用于训练,必须自建三件套——as-of 快照管线(坑点 2)、县级 FIPS 字符串化清洗(坑点 3)、康复窗口截断逻辑(坑点 5)。这三件事的工程量约 2-3 人日,做完后数据即可支撑发表级时序建模。

§7.8 外部验证矩阵

下表只收录有同行评审或官方文档支撑的跨源验证结果;"相对内部变化"指与在本数据集内部评估相比的定性变化方向。

外部数据集/场景 来源机构 评估任务 性能指标 相对内部变化 关键发现
马萨诸塞州 MDPH 官方记录 州卫生部门 县级病例/死亡一致性 记录一致率(一致性分析) 存在系统性回填差异 JHU 与州源高度一致,但 probable 回填使历史值随时间变化
WHO 情况报告 WHO 国家级累计对比 描述性差异 起始日对齐后差异小且稳定 各源互为对照可暴露口径漂移
OWID 清洗版(源自 JHU) Our World in Data 管道一致性 逐格一致 OWID 保留负值语义 负值处理策略是两版结果差异主因
Bi-LSTM/GMDH 预测研究 学术团队(JORS 2023) 伊朗/英国 6 个月预测 论文自定义精度口径 起始 21-32 天无数据需剔除 跨源合并训练可缓解单源缺口
纽约时报美国县级数据 《纽约时报》 美国县级平行统计 描述性对比 县级聚合口径略异 双源对照可定位县级录入争议
COVID-19 Data Hub covid19datahub.io 国家级多源融合 描述性对比 政策变量附加 适合把 JHU 序列与政策指数联动复检

§8 基准性能与生态

§8.1 排行榜与代表性研究

本数据集无官方 SOTA 排行榜:预测任务的目标、窗口、口径由各研究自定义,数值不可直接比较。下表列出有同行评审支撑的代表性建模结果,性能列以"论文自定义口径"呈现,仅供定位参考。这一"无榜单"状态本身是重要信息:任何声称在"JHU 数据集上取得 SOTA"的说法都缺乏统一口径支撑,审阅此类论文时应首先检查其评估协议是否自洽(§6.5 坑点 8 的四要素)。

排名 模型/研究 性能(自定义口径) 年份 关键技术 完整引用 代码
1 流动性与传播关联建模 相关性分析(未统一指标) 2020 移动性指标 × 疫情曲线关联 Badr HS, Du H, Marshall M, Dong E, Squire MM, Gardner L. “Association between mobility patterns and COVID-19 transmission in the USA: a mathematical modelling study.” The Lancet Infectious Diseases 20(11):1247-1254 (2020). DOI: 10.1016/S1473-3099(20)30567-6 未公开完整代码
2 GMDH + Bi-LSTM + GA 混合预测 论文自定义精度(伊朗/英国,6 个月前瞻) 2023 群数据处理方法 + 双向 LSTM + 遗传算法 “From data to action: Empowering COVID-19 monitoring and forecasting with intelligent algorithms.” Journal of the Operational Research Society (2023). DOI: 10.1080/01605682.2023.2240354 未公开
3 Kaggle covid19-global-forecasting 竞赛方案 按周赛榜单独排名 2020 集成时序模型 + 口径清洗 Kaggle. “COVID-19 Global Forecasting (Week 1-4)” 竞赛存档,2020. https://www.kaggle.com/c/covid19-global-forecasting-week-4 获奖方案 kernel 公开
4 星期效应结构分析 描述性统计 2022 周内周期 + 关键时点识别 “Critical Periods, Critical Time Points and Day-of-the-Week Effects in COVID-19 Surveillance Data: An Example in Middlesex County, Massachusetts, USA.” International Journal of Environmental Research and Public Health 19(3):1321 (2022). DOI: 10.3390/ijerph19031321 未公开

⚠️ 上表数值来自不同目标定义(累计 vs 日增、不同地理粒度、不同窗口),禁止跨行比较;复现前先对齐 §6.5 坑点 8 的四要素。

§8.2 SOTA 总结与选型建议

没有"最好"的模型,只有与研究问题匹配的口径:短期国家级趋势用 SARIMA/Prophet 起步即可获得强基线;跨地区泛化与长程预测选 N-BEATS/PatchTST 类纯时序架构;若目标是"实时可用",必须上报告延迟/状态空间框架并做 as-of 评估。所有深度模型收益都以把 §6.5 的坑点处理干净为前提——文献反复显示,清洗与口径处理对最终误差的影响超过架构选择。

选型的三条经验法则:数据量级(国家数 × 天数)在万级样本以下时,梯度提升树与统计模型往往与深度模型打平且更稳;需要不确定性输出时优先概率预测框架而非事后区间;任何模型上线前先跑 naive 与 SARIMA 两个基线——疫情时序的强自相关使朴素基线异常难打,赢不了基线的深度模型没有部署价值。

§8.3 评测协议

推荐协议:固定目标 = 日增死亡 7 日均值(clip 后);窗口 = 输入 28 天 / 预测 14 天;评估 = rolling-origin 8 折(2020-06 起每季一折);指标 = MAE、RMSE、sMAPE;版本 = 绑定 git commit hash;对照 = naive(7 日均值持续)与 SARIMA 基线必须报告。

协议要素 推荐取值 理由
目标变量 日增死亡 7 日均值(clip 后) 死亡低估较轻 + 平滑消除星期伪影
预测窗 h = 7 / 14 / 28 三档 覆盖战术与战略决策周期
折数与起点 8 折,2020-06 起每季一折 覆盖各流行病学波次
基线 naive 7 日均值 + SARIMA 无基线的精度数字无意义
版本锁定 git commit hash + 快照日期 规避回填复现灾难
报告形式 指标中位数 + 四分位距 单点均值受极端波次主导

下表按"与本数据集的协作方式"而非单纯相似度组织:续更、增强、对照、融合、附属五类关系。

数据集 关系 用途
WHO COVID-19 Dashboard Data 官方续更源 2023-03 后的时间延伸
Our World in Data COVID 增强版下游 补检测/住院/疫苗单一表
COVID-19 Data Hub 多源融合 政策指数联动分析
New York Times COVID (US) 独立平行源 美国县级交叉验证
JHU GovEx 疫苗/检测仓库 附属仓库 人口学与疫苗建模
ECDC COVID-19 Data 官方区域源 欧洲口径交叉验证
中疾控等国家级开放数据 各国官方源 单国精细化与口径核对

§8.5 关键论文 Top 6

  1. Dong E, Du H, Gardner L. “An interactive web-based dashboard to track COVID-19 in real time.” The Lancet Infectious Diseases 20(5):533-534 (2020). DOI: 10.1016/S1473-3099(20)30120-1 — 数据集首篇论文,被引 12,700+,事实上的引用锚点。
  2. Dong E, Ratcliff J, Goyea TD, Katz A, Lau R, Ng TK, Garcia B, Bolt E, Prager S, et al. “The Johns Hopkins University Center for Systems Science and Engineering COVID-19 Dashboard: data collection process, challenges faced, and lessons learned.” The Lancet Infectious Diseases 22(12):e370-e376 (2022). DOI: 10.1016/S1473-3099(22)00434-0 — 方法论文:采集流程、口径挑战与康复停更决策的一手复盘。
  3. Gardner L, Ratcliff J, Dong E, Katz A. “A need for open public data standards and sharing in light of COVID-19.” The Lancet Infectious Diseases 21(4):e80 (2021). DOI: 10.1016/S1473-3099(20)30635-6 — 团队对开放数据标准的政策倡议。
  4. Badr HS, Du H, Marshall M, Dong E, Squire MM, Gardner L. “Association between mobility patterns and COVID-19 transmission in the USA: a mathematical modelling study.” The Lancet Infectious Diseases 20(11):1247-1254 (2020). DOI: 10.1016/S1473-3099(20)30567-6 — 基于本数据集的高被引建模应用。
  5. “Critical Periods, Critical Time Points and Day-of-the-Week Effects in COVID-19 Surveillance Data.” International Journal of Environmental Research and Public Health 19(3):1321 (2022). DOI: 10.3390/ijerph19031321 — 星期效应与回填的县级实证。
  6. “From data to action: Empowering COVID-19 monitoring and forecasting with intelligent algorithms.” Journal of the Operational Research Society (2023). DOI: 10.1080/01605682.2023.2240354 — JHU+WHO 双源混合预测的近年示例。

§8.6 社区活跃度

归档后仍保持高活跃:GitHub 仓库被 fork 数以千计并持续作为教材引用;Kaggle 镜像近 30 天仍有数百次下载(截至 2026-09 快照口径);R 包 coronavirus 与多个 cleaned 仓库维持可用状态。Issue 区停止接收新数据报告,但历史 Issue(编号至 #4465+)构成完整的质量档案,是研究实时数据质量问题的独特文献库。

对社区生态的三点观察:其一,围绕该数据形成的工具链(R 包、cleaned 仓库、OWID 管道)在停更后仍被持续维护,说明"归档数据 + 活跃工具"的生态模式可行;其二,历史 Issue 中大量口径澄清与回填公告本身就是重要的方法学文献,引用时可比照论文对待;其三,疫情建模竞赛与论文的复现社区仍以此仓库为共同底座,短期内其"基准地位"不会被替代。

§8.7 生态快照

资源 类型 链接 活跃度(截至 2026-09) 推荐理由
CSSEGISandData/COVID-19 官方仓库 https://github.com/CSSEGISandData/COVID-19 归档态,文档完备 唯一权威源 + git 历史
benhamner/jhucovid19 (Kaggle) 镜像数据集 https://www.kaggle.com/benhamner/jhucovid19 持续可下载 Notebook 免克隆即用
RamiKrispin/coronavirus (R 包) 语言包 https://cran.r-project.org/package=coronavirus 维护中 tidy 长格式 + 文档化负值语义
fredlouisgriffin/COVID-19-CLEANED-JHUCSSE 清洗仓库 https://www.github.com/fredlouisgriffin/COVID-19-CLEANED-JHUCSSE 静态存档 FIPS/命名已修复
coronavirus.jhu.edu 门户存档 https://coronavirus.jhu.edu 永久存档 官方使用指南 + GovEx 附属数据入口
JHU GovEx 存档仓库 附属仓库 由 CRC 门户链出 永久存档 疫苗/检测/人口学数据字典
MIDAS 数据目录条目 元数据目录 https://w3id.org/midas-catalog/46 静态 许可/时间范围元数据速查

§9 相关资源与引用

§9.1 官方资源

§9.2 教程与社区资源

§9.2b 常见获取问题排查

现象 原因 处理
raw URL 读取 404 早期文件名 time_series_19-covid-* 已改名 复现 2020 年早期研究请用 git 历史检出
Kaggle 镜像行数与 GitHub 不一致 镜像版本落后于最终归档 以 GitHub master 为准,镜像仅作便携带
日期列解析报错 列名为 MM/DD/YY 两位年份 pd.to_datetime(..., format="%m/%d/%y")
县级行数对不上人口普查 FIPS 截断/空行混入 按 §6.3 县级清洗流程处理
疫苗数据找不到 主仓库不含疫苗 前往 CRC 门户链出的 GovEx 附属仓库

§9.3 BibTeX 引用块

@article{dong2020dashboard,
  title   = {An interactive web-based dashboard to track {COVID-19} in real time},
  author  = {Dong, Ensheng and Du, Hongru and Gardner, Lauren},
  journal = {The Lancet Infectious Diseases},
  volume  = {20},
  number  = {5},
  pages   = {533--534},
  year    = {2020},
  doi     = {10.1016/S1473-3099(20)30120-1}
}

@article{dong2022dashboard,
  title   = {The {Johns Hopkins University Center for Systems Science and Engineering}
             {COVID-19} Dashboard: data collection process, challenges faced,
             and lessons learned},
  author  = {Dong, Ensheng and Ratcliff, Jennifer and Goyea, Timotheus Du and
             Katz, Aaron and Lau, Ryan and Ng, Tutty Kwan and Garcia, Blake and
             Bolt, Elizabeth and Prager, Samuel and others},
  journal = {The Lancet Infectious Diseases},
  volume  = {22},
  number  = {12},
  pages   = {e370--e376},
  year    = {2022},
  doi     = {10.1016/S1473-3099(22)00434-0}
}

@misc{jhu2023repo,
  title        = {{COVID-19 Data Repository by the Center for Systems Science and
                  Engineering (CSSE) at Johns Hopkins University}},
  author       = {{Johns Hopkins University CSSE}},
  howpublished = {\url{https://github.com/CSSEGISandData/COVID-19}},
  year         = {2020--2023},
  note         = {Data archived 2023-03-10; licensed CC BY 4.0}
}

引用指南:任何使用本数据集的出版物须(1)在数据可用性声明中以官方全称署名;(2)引用 Dong et al. 2020(数据论文),建议同时引用 Dong et al. 2022(方法论文);(3)注明数据获取日期或 commit hash。

补充规范:若使用的是 Kaggle 镜像或第三方 cleaned 仓库,除引用 JHU 原仓库外还应注明所用镜像版本与其改动说明,避免把清洗引入的差异归入原始数据;若与 WHO/OWID 等源合并使用,建议在数据声明中逐源列出版本与获取日期,使口径差异可被审稿人复查。

§10 AI 使用声明卡

§10.1 AI 模型列表

环节 模型/工具 用途
资料检索与事实核验 联网检索大模型(CodeBuddy 内置) 检索官方公告、论文与 Issue,交叉核对数字
文本撰写 大语言模型(CodeBuddy fast-model) 初稿生成、结构组织与语言润色
代码示例生成 大语言模型(CodeBuddy fast-model) §6 预处理与建模代码初稿(人工运行验证后收录)

§10.2 AI 参与范围

AI 负责文献检索、事实初步汇总、初稿撰写与格式统一;所有关键数字(规模、日期、引用数、停更时点)均经检索来源二次核对;章节结构、医学映射、坑点工程方案与最终发布由人工审核定稿。

具体边界:AI 产出的全部检索结论以 FACTS 形式留痕并标注来源 URL;正文中每个带数字的句子均可回溯至 §10.3 来源列表中的至少一条;代码示例经人工本地运行验证;凡检索无法证实的字段一律省略而非补全。人工审核者对页面事实准确性承担最终责任。

§10.3 输入来源列表

  1. Dong E, Du H, Gardner L. “An interactive web-based dashboard to track COVID-19 in real time.” The Lancet Infectious Diseases 20(5):533-534 (2020). DOI: 10.1016/S1473-3099(20)30120-1
  2. Dong E, Ratcliff J, Goyea TD, et al. “The JHU CSSE COVID-19 Dashboard: data collection process, challenges faced, and lessons learned.” The Lancet Infectious Diseases 22(12):e370-e376 (2022). DOI: 10.1016/S1473-3099(22)00434-0
  3. Gardner L, Ratcliff J, Dong E, Katz A. “A need for open public data standards and sharing in light of COVID-19.” The Lancet Infectious Diseases 21(4):e80 (2021). DOI: 10.1016/S1473-3099(20)30635-6
  4. Badr HS, Du H, Marshall M, Dong E, Squire MM, Gardner L. “Association between mobility patterns and COVID-19 transmission in the USA: a mathematical modelling study.” The Lancet Infectious Diseases 20(11):1247-1254 (2020). DOI: 10.1016/S1473-3099(20)30567-6
  5. “Critical Periods, Critical Time Points and Day-of-the-Week Effects in COVID-19 Surveillance Data: An Example in Middlesex County, Massachusetts, USA.” IJERPH 19(3):1321 (2022). DOI: 10.3390/ijerph19031321
  6. “From data to action: Empowering COVID-19 monitoring and forecasting with intelligent algorithms.” Journal of the Operational Research Society (2023). DOI: 10.1080/01605682.2023.2240354
  7. JHU Hub. “Johns Hopkins winds down pioneering pandemic data tracking.” 2023-02-10. https://hub.jhu.edu/2023/02/10/coronavirus-resource-center-ending-tracking/
  8. JHU CSSE. csse_covid_19_data README(字段字典与回填公告)。https://github.com/CSSEGISandData/COVID-19/blob/db53d5a71965dca14454ba683186dea1626ae014/csse_covid_19_data/README.md
  9. JHU Coronavirus Resource Center(归档门户)。https://coronavirus.jhu.edu
  10. MIDAS Catalog. “COVID-19 Data Repository by CSSE at JHU.” https://w3id.org/midas-catalog/46
  11. Library of Congress. “COVID-19 data repository.” LCCN 2023590205. https://www.loc.gov/item/2023590205/
  12. Kaggle. “COVID-19 Data Repository by CSSE at JHU”(benhamner 镜像)。https://www.kaggle.com/benhamner/jhucovid19
  13. Krispin R, Byers J. coronavirus R package README. https://www.vps.fmvz.usp.br/CRAN/web/packages/coronavirus/readme/README.html
  14. Griffin FL. COVID-19-CLEANED-JHUCSSE 仓库说明。https://www.github.com/fredlouisgriffin/COVID-19-CLEANED-JHUCSSE
  15. “Open Data Resources for Fighting COVID-19.” arXiv:2004.06111. https://arxiv.org/html/2004.06111v2

§10.4 人工校验表

内容模块 审核者 审核方式 审核状态
§2 医学背景与 ICD-11/SNOMED 映射 千方病案医学编辑部 编码比对 WHO ICD-11 浏览器与 SNOMED CT 官方术语库 ✅ 已通过/已验证
§3-§4 规格与数据字典 千方病案医学编辑部(数据工程) 逐字段比对官方 README 与 DeepWiki 仓库综述 ✅ 已通过/已验证
§6 坑点与预处理代码 千方病案医学编辑部(数据工程) 代码本地运行验证 + Issue 交叉核对 ✅ 已通过/已验证
§7 偏倚与 DAIMS 评估 千方病案医学编辑部 依据方法论文与官方 Issue 逐项评定 ✅ 已通过/已验证
§8-§9 引用与生态链接 千方病案医学编辑部 全链接可达性核验(截至 2026-09) ✅ 已通过/已验证
§10 AI 使用声明卡 千方病案医学编辑部 声明范围与实际生产流程一致性核对 ✅ 已通过/已验证

§10.5 AI 生成章节标注

本页面全部章节由 AI 辅助生成初稿,经千方病案医学编辑部按 §10.4 方式人工审核修订后发布;§0 审核声明与三段免责声明为编辑部固定模板文本。其中事实性数字(规模、日期、引用数、停更节点)在人工校验环节被逐条回溯至 §10.3 来源;工程方案(§6.5 坑点、§6.3-§6.4 代码)经本地运行验证;医学编码映射(§2.1、§2.1b)经术语库比对确认。

§10.6 最后人工审核日期

2026-09-05(与 §0 审核声明一致)

页面状态:published(全部内容已完成审核并发布)


相关数据集导航

以下为站内 AI-Ready 数据集百科中与本词条共享多个主题标签的相关数据集,按相关度降序排列:

  • ncd-risc — 共享标签:公共卫生与流行病学 / 流行病学 / 疾病监测
  • synthea-covid — 共享标签:公共卫生与流行病学 / 时序数据 / COVID-19
  • our-world-in-data — 共享标签:公共卫生与流行病学 / 时序数据
  • mics — 共享标签:公共卫生与流行病学 / 疾病监测
  • who-gho — 共享标签:公共卫生与流行病学 / 时序数据
  • global-burden-of-disease — 共享标签:公共卫生与流行病学 / 流行病学
  • nhanes — 共享标签:公共卫生与流行病学 / 流行病学
  • healthdata-gov — 共享标签:公共卫生与流行病学 / 流行病学
  • nhis — 共享标签:公共卫生与流行病学 / 流行病学
  • midrc-ricord — 共享标签:公共卫生与流行病学 / COVID-19

导航说明:本章节由全站统一标签体系自动计算生成(标签重合度算法),双向可达;点击链接可跳转至对应数据集词条。

返回 AI-Ready 数据集