在估计诺如病毒流行率中,我对过去不同时期目前有多少人感染了诺如病毒进行了估计,描述了我在NAO的P2RA 项目中所做的一些工作。不过,那篇文章是散文,带有内联计算,但有一些缺点:
-
计算是手动的,这使得更难发现错误。
-
很难确切地说出采购是如何处理从别处拉进来的投入的。
-
您可能需要基于随时间变化的输入的多个估计。
在 NAO,我们也从 Google Docs 中的散文估计开始,但除了上述问题之外,我们发现审查工具并不适合我们想要的那种深度审查。经过一些初步的努力,我们改用 Python 来表示我们的估计;你可以在 github 上看到代码。
估计是输入(我们从其他地方获得的数字)和计算(我们如何组合这些输入)的组合。大部分工作都在输入中:确保清楚数字的来源。例如,以下是我们如何表示CDC 估计2019 年美国有 120 万艾滋病毒感染者:
us_infected_2019 = 绝对流行率( 感染=1.2e6, 国家=“美国”, 日期=“2019”, active=Active.LATENT, source="https://www.cdc.gov/hiv/library/reports/hiv-surveillance/vol-26-no-2/content/national-profile.html#:~:text=Among%20the%20estimated- ,1.2%20million%20people,-living%20with%20HIV", )
如果不将绝对流行率与人口联系起来,则绝对流行率对我们没有用。以下是我们如何表示相应的人口:
us_population_2019 = 人口( 人=328_231_337, 国家=“美国”, 日期="2019-01-01", 来源 =“https://www.census.gov/newsroom/press-releases/2019/new-years-population.html”, )
我们可以将它们连接起来以获得Prevalence
:
us_prevalence_2019 = us_infected_2019.to_rate(us_population_2019)
to_rate
方法检查位置和日期是否兼容,进行除法,给我们一个Prevalence
。
对于更复杂的示例,您可以查看norovirus.py 。这是根据之前的博文进行计算,并添加了诺如病毒基因组 I 和 II 亚型的估计值。
对于每个估计,一名团队成员创建初始估计,然后我们使用 GitHub 的代码审查流程进行逐行审查。这包括验证所有输入是否与外部网站上列出的内容相匹配,以及我们是否正确使用了数据源,此外还要检查估算的整体结构是否合理。
我认为这很有可能不是最终的样子,随着我们在项目中的进一步推进,我们将希望为模型提供流行率计算的细节,以便它能够理解不确定性。然而,大部分工作是确定输入和审查估算的结构,所以如果我们确实需要进行这样的更改,我希望它们不会太糟糕。
这篇文章描述了NAO正在进行的工作,并涵盖了团队的工作。在Simon Grimm和Dan Rice的帮助下,基于 Python 的估计框架主要是我的工作。
原文: https://www.jefftk.com/p/machine-readable-prevalence-estimates