新冠疫情是如何在店内购物者之间传播的他们用nity做了一个模拟实验unity参数化

数十年来,计算机模拟已被许多领域的研究人员、工程师、问题解决者和政策制定者所使用。它是预测在复杂和不确定条件下可能会发生何种情况的核心解决方案。模拟在传染病研究中发挥着非常重要的作用,并且已经被广泛应用于针对从鼠疫到HIV/AIDS 等疾病的研究。流行病学专家利用模拟来了解病原体的传播动力学,并为制定预防和控制策略提供依据。例如,研究人员使用预测性模拟来更好地了解病毒的进化过程,这可以直接为开发季节性流感疫苗或帮助寻找HIV治疗方法提供依据(详情请见文末参考资料[1][2])。

在这一过程中,研究人员首先会从实地收集相关数据,利用数据建立理论和启发式数学模型,然后将数学模型迁移到模拟工具中,后者根据各种输入参数(如人口密度暴露因子)计算出需要的结果(如病毒传播)。最后,专家可以通过模拟进行宏观观察和假设研究,最终从理论上对现实情况进行掌控,从而为制定政策决策提供依据。

随着新型冠状病毒在全球范围持续蔓延,各个国家和地区的政府都采取了严厉的措施来遏制疫情进一步扩散。

与此同时,领先的研究机构正在开发严谨的科学模拟程序,以帮助政府制定政策。《纽约时报》的一篇文章介绍了一家私人机构 The Institute for Disease Modeling (IDM) 为帮助政策制定而正在开发的一些预测模型(详情请见文末参考资料[3])。

最近设计的几个模拟均以概念为导向,旨在帮助大众理解新型冠状病毒的演变进化,以及我们如何采取行动来遏制其传播。以下是我们知道的一些有趣的示例(示例链接见文末对应的参考资料序号):

《华盛顿邮报》发表的一份概念模拟,展示了“社交距离”的影响 [4]

Katholieke Universiteit Leuven 和 EindhovenUniversity of Technology 开展的一项合作研究,他们利用详细的流体模拟展示了在骑行和跑步过程中出现病毒传播的可能性 [5]

一项来自芬兰的研究,他们利用详细的流体模拟展示了咳嗽在杂货店中的传播方式 [6]

图为本文的模拟模型展示

在Unity中模拟空间环境

研究人员和企业使用 Unity 来有效地模拟空间环境。Unity 可以在交互模式下进行实时模拟,而在离线模式下模拟框架可以达到高于实时的帧率。

通过在 Unity 中开发代表真实环境的项目,将这些项目参数化以进行模拟,并在云中以比实时更快的速度运行大量模拟场景,他们可以从整体上理解复杂的机制,从而为重大策略或设计决策的制定提供依据。首先,我们来定义一下这几个术语:

环境:在 Unity 中,环境是一个定义的空间及其包含的所有对象的 3D 空间表示。这些对象可以固定在某个位置,也可以根据编程规则、物理模型或机器学习算法进行移动和变化。环境中的对象可以是简化的,也可以具有丰富的可视化细节。

参数:参数是 Unity 环境中一个确定的层面,可以在不同的模拟中发生变化。Unity 是一个基于 C# 的高度可扩展框架,因此参数可以非常简单(如处理单一对象运动速度的变化),也可以十分复杂(如处理群体行为的逻辑)。

场景:在模拟过程中,场景是在环境中运行的参数设置的组合。每个模拟通常对应一个场景,云中的模拟批处理作业可以包含许多场景。

在该模拟中,环境是商店、商店所包含的健康购物者和感染者以及病毒传播规则的空间表示。参数可能包括店家规定,例如允许的购物者人数或开放的收银台数量。这些参数值的每一种组合都将构成一个单独的场景。

在对每种场景进行模拟时,动力学系统的突现行为将显露出来,从而直观显现店家规定会导致病毒接触人数增加还是减少。此类模拟可以提供有关影响暴露率的变量的有益见解,以便商店管理层有针对性地制定政策和程序,帮助减少疾病在这些环境中的传播。

我们的团队构建了一个简化的演示项目,以便大家对此有一个大致了解(图1),并启发 Unity 社区和疾病建模社区思索针对冠状病毒传播建模的新思路。在这个项目的开发过程中,IDM 为我们的团队提供了指导,向我们介绍了几个现有的关于冠状病毒传播的科学模型,帮助我们确定了开发方向。

Unity 能够很好地进行系统建模,因为与许多其他类型的模拟器相比,它可以在更长的时间跨度上高效模拟系统。以往使用流体动力学模拟器来模拟病毒通过咳嗽传播,需要计算数小时,而使用Unity,可以使用简化的传播动力学模型来模拟一群人(50 人)在某个环境中 10 分钟的活动过程,极大地提高了模拟效率。通过对更长时段的模拟,可以揭示更大规模的扩散趋势。利用批处理云模拟功能,可以加快模拟速度,使其比实时计算更快,并且可以在数小时内批量运行成千上万个场景。

图 1 我们的模拟演示 Web 应用的截图

模拟工作流程步骤

在 Unity 中创建和执行模拟大致包括以下步骤:

01项目创建:创建一个具有代表性的空间环境及其动态元素(元素将随时间推移在模拟内部发生变化)的项目。此处,我们创建了一个购物者携带传染病的示例杂货店。

02参数化:对项目进行参数化,确定从一个模拟实例到另一个模拟实例的变化方式。Unity项目中,几乎任何方面都可以通过 C# 脚本进行参数化。在本示例中,我们确定了数学病毒传播模型的一系列调整参数和店家规定的参数,例如商店允许的购物者人数和过道允许的走向。

03输出定义:指定要在模拟中测量的输出量。我们查找了接触到病毒的购物者的总人数,以及接触到病毒的购物者占购物者总人数的比例。

04作业执行:定义作业,指定要模拟的参数值的范围和组合。我们在云环境中运行这些作业,以利用并行性更快地完成任务。

05结果分析:查看模拟作业的汇总输出数据,执行数据分析并得出结论。我们可以利用从模拟中获得的见解制定正确的政策决策,例如,开放商店中的多少个结账柜台才能最大限度地遏制病毒传播。

01项目创建

我们创建了一个简单的杂货店环境(图2),并在其中填充了根据可能的导航路线移动的购物者,以及一些处理结账队列的特殊逻辑(图 3)。购物者进入商店,在给定时间内在过道间穿行购物,然后排队结账并离开商店。

图 2 虚拟商店

图 3 允许的购物者行动路线

购物者有三种可能的状态:健康购物者(以蓝色表示)、传染性购物者(以红色表示)或病毒接触者(以黄色表示)。有一定比例的购物者以传染性状态进入商店,传染性购物者有可能传染健康个体,传染与否取决于基于距离的概率函数,其原理如下:当传染性购物者与健康购物者靠近到一定距离时,他们会进入所谓的暴露区。当两个个体之间的距离超过该阈值时,就存在传染的可能。随着彼此间距离的缩短,传染概率将线性增加,直到购物者发生身体接触时,概率达到最大。一个“健康”购物者可能会变成“病毒接触者”,这取决于与模型调整参数相关的计算。随着项目的运行,可以看到健康购物者逐渐成为病毒接触者。

02参数化

购物者变成病毒接触者的速率受模拟中的许多可调参数控制,我们将这些参数归类为:(a)与传播模型数学相关的可调参数,(b)与店家接待购物者的规定相关的参数,以及(c)进入商店的传染性购物者的人数。接下来,我们仔细研究一下每个类别。

a. 模型调整参数

我们的传播模型包括三个可调参数:(i)发生暴露的最大可能距离,(ii) 在该最大距离下发生暴露的概率,以及 (iii) 两个人出现身体接触时发生暴露的概率。传播模型对于模拟的准确性至关重要。请注意,研究人员通常会使用真实世界的数据对传播模型进行长期的开发和验证。需要强调的是,此处采用的模型是为了进行演示而简化过的版本。

为了说明模型的重要性,稍后我们会讨论输出对于参数值的选择有多敏感。开发该模型的下一个逻辑步骤是对其进行调整,使之与展现暴露动力学的科学研究所获得的真实数据相匹配。(在本文结尾处,我们分享了一些可能对此有用的数据源)

b. 店家规定参数

最近的新闻报道了一些商店试图通过各种规定来管控病毒传播风险,我们在模拟中对其中一些进行了建模(链接见文末对应的参考资料序号):

开放结账柜台的数量 [8]

过道只允许单向通行 [9]

c. 购物者传染参数

商店无法控制进入商店的传染性购物者的比例。在模拟中,我们将该因子建模为一个变量,并将研究其对总暴露率的影响程度。

03输出定义

仅当模拟输出信息数据时,运行模拟才有意义。在该模拟中,我们可以实时看到购物者正在变成病毒接触者,但更重要的是,我们可以直接测量在模拟过程中变成病毒接触者的购物者比例。你可以使用我们的嵌入式模拟器试验输入参数,并实时查看它们对输出变量的影响。运行几分钟后,接触到病毒的购物者占购物者总人数的比率达到稳态值,说明模拟已基本收敛。

04 作业执行

下一步,我们对每个参数进行了多值采样,并在云上使用10,000 个模拟实例运行批处理模拟作业,从而对采样参数值的所有组合进行测试。整个过程只用了三个小时。对参数值的每种组合进行了五次模拟,以确保随机性并对输出取平均值。该批处理作业产生了一个结果文件,其中包含每次运行的健康购物者人数和接触到病毒的购物者人数。通过在电子表格中对数据进行后期处理,我们可以轻松计算出暴露率(将接触到病毒的购物者人数除以购物者总人数)。

05 结果分析

我们使用所有运行的模拟输出数据进行了敏感性分析,以了解某些输入参数对输出的影响。执行敏感性分析的一种有用工具是龙卷风图,它显示了每个输入参数在设置为极值而所有其他输入参数保持不变时导致的输出变化(图4)。条形延伸越长,说明该参数的采样值的影响越大。如果条形最左侧为蓝色,说明该变量与输出直接相关,左侧为黄色则说明该变量与输出呈负相关。

图 4 输入参数对暴露率的敏感性分析

从该数据视图来看,可以得出以下结论:

暴露率对店内传染性购物者的人数最为敏感。这一点符合我们的直观预期。随着传染性购物者人数的增加,将有更多传染性购物者与健康购物者发生交互。

唯一与输出呈负相关的变量是开放收银台的数量。增加吞吐量可大幅降低暴露几率。但是,该变量的敏感性是不对称的,这表明仅开放一个收银台与开放多个收银台存在很大差异,但这种影响会随数量的进一步增多而减弱。

这三个模型调整参数(最大传播距离、出现身体接触时发生暴露的概率、在最大距离时发生暴露的概率)的影响与商店和购物者参数不相上下。在模拟中对这些参数进行调整至关重要。

现在,我们对敏感性有了一个大致的了解,接下来我们来研究一些龙卷风图无法揭示的其他趋势(因为龙卷风图无法显示多个参数的相互作用)。我们将重点讨论店家规定参数对模拟暴露率的影响,并将调整参数固定为某些默认值。出于标准化目的,这些图都是在保持传染性购物者与购物者总人数比率不变的情况下生成的。

图 5 暴露率与开放收银台数量的关系

图6 当设置单向过道和双向过道时,暴露率与购物者人数的关系

图 5 显示了开放收银台数量与不同的购物者人数之间的关系。当只开放一个收银台时,暴露率非常高,尤其是当店内聚集了30 到 40 名购物者时(因为结账区域出现了拥堵)。再开放一个收银台对于降低暴露率的影响最大。此后,当店内购物者人数达到 20 人时,结果趋于平缓,但当有30 到 40 名购物者时,开放更多收银台(直到 5 个)将很有帮助。

图 6 显示了单向通行和双向通行过道对模拟造成的影响。结果表明,单向通行和双向通行过道产生的差异可以忽略不计。但需要注意的是,双向通行仅限于商店的垂直过道,而许多感染发生在水平通道和收银台位置。此外,我们没有在当前的模拟中设置任何规则来阻止两名购物者靠近彼此,甚至在朝同一方向移动时也是如此。在本文的最后,我们提出了一些我们认为可以添加到模拟中的其他特性,以使模拟效果更加真实,并有可能影响暴露率。

结论和启示

我们的团队构建了一个简化的演示项目,以说明对冠状病毒传播进行建模的新方法。该简化模型的结果表明,虚拟商店的规定确实如我们所建模的那样对病毒的传播产生了影响。

通过实时运行模拟并分别调整参数值可以明显看出这种影响,但我们需要使用许多参数组合运行模拟,以确定哪些参数最为重要,以及它们取何值时对结果的影响最大。该示例表明,为降低暴露率,当店内有20 名购物者时,商店应开放 2 个收银台;当店内购物者人数达到 30 名及以上时,应开放最多 5 个收银台。最重要的是,我们发现在该数学传播模型中使用的参数对结果有很大影响,因此需要使用真实的数据进行严谨的开发。

自行扩展该项目

该模拟只是一个起点。我们正在将该项目(包括其全部源代码)迁移到GitHub上,以便任何人都可以进行试验。

GitHub 链接:

你可以使用Unity Game Simulation测试版运行我们在此处介绍的演示。该版本在底层利用了 Unity Simulation 和Unity Remote Config。建议采取以下多种方式扩展该项目:

病毒传播模型:我们的模型从概念上讲非常简单,没有经过科学验证。首先,你可以使用科学的数据更好地构建或校准该模型。IDM建议通过以下资源获取潜在数据:

IDM Info Hub,它包含一些有关典型参数配置的表格

IDM 自己的研究报告,例如对特定区域负荷情况的估计

购物者行为模型:我们模拟的购物者是购物者的简单符号表示,他们的移动模式完全是直线型的,结账系统的长度受预定义路线的限制。而在现实生活中,购物者的移动和排队方式要复杂得多,尤其是当他们害怕被其他购物者传染时。如何针对这些购物者开发一个更真实的移动和交互模型?我们的设想是创建行为分布,以反映某些购物者会保持更大的社交距离。对此,可以使用Unity 的 NavMesh功能定义更自然的允许移动区域。或者,也许可以将模拟购物者视为代理,并使用避免暴露的目标函数进行训练。对此,可以使用Unity 的 ML-Agents工具包。

个体到表面的传播:在现实世界中,传播并不仅限于个体与个体的接触。病毒还可能从个体传播到物体表面,并按照某种衰减函数在表面存活一定时间,因此有机会传播到接触到该表面的其他个体。例如,IDM指出《The New England Journal of Medicine》上发表的一篇快报列出了冠状病毒在不同表面上的存活时长。10 如何在项目中对此进行建模?

其他类型的环境:杂货店并不是冠状病毒传播的唯一场所。如何对病毒在公园、机场、学校等地方的传播进行建模呢?也许你可以自行创建环境来进行试验,或研究一下Unity Asset Store 上的某些资源。

参考资料:

1. Dynamics Analysis and Simulation of a Modified HIV Infection Model witha Saturated Infection Rate. Computational and Mathematical Methods in Medicine. 2014.

2. Computer Simulations Help Explain Why HIV Cure Remains Elusive. Infection Control Today.2012.

Unity simulation:

获取更多信息

Unity 技术精讲:

[1]

[2]

[3]

[4]

[5]

Notice: The content above (including the pictures and videos if any) is uploaded and posted by a user of NetEase Hao, which is a social media platform and only provides information storage services.

THE END
0.患者中TAVI与外科手术的成本效用分析:基于PARTNER3试验5年数据的确定性敏感性分析的龙卷风图显示,模型结果对TAVI和SAVR的手术成本、SAVR术后房颤风险以及患者起始年龄最敏感。但即使在多数参数合理变动下,TAVI仍保持成本效益。情景分析表明,即使采用更激进的TAVI再干预率、更高的卒中风险或不同的成本假设,结果依然稳健。 阈值分析 SAPIEN 3瓣膜的成本阈值分析显示,其价格需超过23,800英镑(jvzquC41yy}/gknqvtgeg7hqo1tfy|k14286/:6142863:5:43842<5:40nuo
1.敏感性分析(SensitivityAnalysis)和龙卷风图(tornadodiagram)本文介绍了项目风险管理中的一种重要工具——敏感性分析及其图形展示方式龙卷风图。通过这种图表可以清晰地看到各个因素对项目风险的影响程度,有助于识别关键风险因素。 原文地址:http://blog.csdn.net/jameszhou/archive/2007/06/24/1664424.aspx PMBOK(2004 3rd 英) P257(中文版P257)关于风险定量分析模型技术中有jvzquC41dnuh0lxfp0tfv8jqwxpppgkcq5bt}neng5eg}fknu556=5573
2.PSA作为前列腺癌诊断途径中主要血液检测的成本效益分析:决策确定性敏感性分析的龙卷风图。条形颜色:蓝色表示较低的增量成本效益比 (ICER);红色表示更高的 ICER。EV预期值、MRI磁共振成像、PCa前列腺癌、PSA前列腺特异性抗原、STHLM3斯德哥尔摩 3 阈值分析显示,STHML3 成本为 138.70 欧元时,ICER 为 0,这意味着在此阈值下,与 PSA 测试相比,STHLM3 测试将变得成本中性。可以jvzquC41yy}/ew2jgcrujlftg0ipo8ftvkimg€r142842?5;1euovnsv/3;74?970jznn
3.敏感性分析法敏感性分析最常用的显示方式是龙卷风图。龙卷风图有助于比较具有较高不确定性的变量与相对稳定的变量之间的相对重要程度。它因其显示形式像龙卷风一样而得名。 (一)适用范围 适用于对项目不确定性对结果产生的影响进行的定量分析。 (二)主要优点和局限性 jvzquC41yy}/fxsicq4dqv4|empt1px|146279614381993ujvsm
4.@RISKforExcel8.6.0版最新更新新一代的风险分析 @RISK 8是一项重大升级,综合了成千上万用户的反馈意见。我们专注于对您来说最重要的事情,每天都需要做的分析。 此外,@ RISK 8已经从头开始基于最新的编程技术进行了重建。 这一具有前瞻性的基础确保@RISK在未来数年内将继续提供最可靠,准确和可靠的定量风险分析。 但是请不要误会:尽管@RISK 8比以往任何时候 jvzquC41yy}/ejgkv0ipo7hp1rxpf~hvu1jfe8wkum5xjjyupg}/j}r
5.使用敏感度分析优化动力总成设计,以实现燃油经济性该模拟使用了 EPA 指定的 HWFET 驾驶循环数据,我们看到的里程约为 35 mpg。我们运行蒙特卡罗模拟,并使用与之前相同的样本集对该高速公路驾驶周期进行敏感性分析。正如相关系数的龙卷风图所示,气压的影响最大,随着外部气压的下降,里程数会增加。其他参数变化(例如喷油器斜率或车辆质量)的影响要jvzquC41yy8/ojyjyqxlu7hp1eunrjs{1vkdjwnecn3bt}nengy0w|npi/yfp|nvkxou{6fpcntk|2vq/uqvrrk|g3qq€jtvtgjp6igukmo/ott/h{fn6jeqpun{7mvon
6.项目风险管理信息系统项目管理师教程它在项目结果变化与定量风险分析模型中的要素变化之间建立联系。感性分析的结果通常用龙卷风图来表示,图中标出定量风险分析模型中的每项要素与其能影响的项目结果之间的关联系数,这些要素可包括单个项目风险、易变的项目活动和具体的不明确性来源;每个要素按关联强度降序排列,形成典型的龙卷风形状,如图15-9所示。jvzquC41yy}/y<}wg0ipo8tvjgx0k|uo1kyqo6kgpi~jcwlwcprj0qyon