在R语言中使用航空公司复杂网络对疫情进行建模

简介: 在R语言中使用航空公司复杂网络对疫情进行建模

在2014年的埃博拉疫情爆发期间,人们对该疾病蔓延至美国的情况非常关注。我们决定使用航空公司的航班数据探讨这个问题。

该疾病起源于利比里亚,因此想探讨该疾病如何通过航空网络传播的问题。

可以在下面看到网络的可视化。每个节点都是一个国家,每个边代表从一个国家到另一个国家的现有航线。避免在同一国家起飞和降落的航班,以避免混乱。

plot(g,
     main='Airline Routes Connecting Countries',
     vertex.size=5,
     edge.arrow.size=.1,
     edge.arrow.width=.1,
     vertex.label=ifelse(V(g)$name %in% c('Liberia','United States'),V(g)$name,''),
     vertex.label.color='black')
legend('bottomright',fill=c('darkgreen','darkblue', 'darkred', 'pink', 'purple'),
       c('Africa', 'Europe', 'Asia/Middle East', 'Kiribati, Marshall Islands, Nauru', 'Americas'),
       bty='n')


每个节点都是一个国家,每个边代表两个国家之间的现有航线。为了清楚起见,未显示在同一国家/地区开始和结束的航班。


社区

我使用了算法来检测国家/地区的“社区”,即彼此之间有很多航班的国家/地区集,但是与集内的国家/地区之间的航班很少。粗略地讲,该算法倾向于将同一大陆上的国家/地区分组在一起。然而,这并非总是如此。例如,由于与前殖民地的密切关系,法国与几个非洲国家被置于同一社区。粗略地讲,该网络似乎表现得很同质-同一大陆上的国家之间相互联系的趋势往往大于与该大陆以外国家的联系。


分布

地块上的标签尚不清楚,但利比里亚和美国位于两个独立的社区,这可能使我们相信病毒不太可能从前者传播到后者。实际上,国家的程度(与一个给定国家连接的国家数量)差异很大,这也将支持这种直觉。美国与其他186个国家有联系,而利比里亚仅与12个国家有联系。完整的分布如下所示。它大致遵循幂定律,根据维基百科,这是我们应该期望的。请注意,逼近是渐近的,这可能就是为什么此有限样本不可用的原因。根据程度分布,所有国家中有一半与其他27个国家相连。利比里亚远低于中位数,美国远低于中位数。

plot(dplot,type='l',xlab='Degree',ylab='Frequency',main='Degree Distribution of Airline Network',lty=1)
lines((1:length(dplot))^(-.7),type='l',lty=2)
legend('topright',lty=c(1,2),c('Degree Distribution','Power Law with x^(-.7)'),bty='n')


航空公司联系的度数分布和幂律。如果网络的分布大致遵循幂定律,则我们说它是“无标度”网络。


小世界

让我们放大并查看利比里亚的二级关系:


利比里亚的航空公司联系。塞拉利昂和科特迪瓦与美国没有直接联系,因此未显示它们的联系。

尽管他们位于两个不同的社区,但利比里亚和美国之间只有两个度的距离。所有国家通常都是这种情况。如果对于每个节点,我们计算出它与每个其他节点之间的最短路径,则平均最短距离将约为2(。这被称为小世界现象。平均而言,每个国家/地区与每个其他国家/地区相距2。许多网络表现出这种现象的主要原因是“集线器”-与其他国家/地区有很多连接的国家(或更普遍的说是节点)。例如,可以想象法国的戴高乐机场是连接美国,东欧,亚洲和非洲国家的枢纽。这些枢纽的存在使得通过很少的转移就可以从一个国家到达另一个国家。


传染性

上面的特写网络显示,如果将病毒传播到美国,可能会通过尼日利亚,加纳,摩洛哥和比利时传播。如果我们知道从利比里亚到这些国家以及从每个国家到美国的航班的比例,我们可以估计埃博拉病毒在每条航线上扩散的可能性。

当然,由于许多原因,这是一个极大的简化。例如,即使塞拉利昂(Sierra Leon)与美国没有直接联系,它也可以与与美国有联系的其他国家/地区联系。这条航线可能有很大一部分航班降落在美国。

还有一些流行病学参数可以改变疾病传播的速度。例如,从感染到可检测到的症状的时间很重要。如果被感染者直到感染一周后才出现症状,那么就不能轻易地对其进行筛选和控制。在出现症状之前,他们可以感染许多其他人。

疾病的最后期限也很重要。如果患者在被感染的几个小时内死亡,那么这种疾病就不会传播到很远。极端地说,考虑患者在感染后一秒钟内死亡。然后,他几乎没有时间感染他人。

最后,我们假设一个起源。如果该疾病已经在多个国家/地区存在,则我们需要调整分析。

相关文章
|
6月前
|
机器学习/深度学习 数据处理
用人工神经网络对混凝土的强度进行建模
用人工神经网络对混凝土的强度进行建模
|
3月前
|
数据采集 量子技术 双11
【2023 年第十三届 MathorCup 高校数学建模挑战赛】C 题 电商物流网络包裹应急调运与结构优化问题 建模方案及代码实现
本文提供了2023年第十三届MathorCup高校数学建模挑战赛C题的详细建模方案及代码实现,针对电商物流网络中的包裹应急调运与结构优化问题,提出了包括时间序列分析在内的多种数学模型,并探讨了物流网络的鲁棒性。
59 2
【2023 年第十三届 MathorCup 高校数学建模挑战赛】C 题 电商物流网络包裹应急调运与结构优化问题 建模方案及代码实现
|
3月前
|
数据采集 存储 数据可视化
R语言时间序列分析:处理与建模时间序列数据的深度探索
【8月更文挑战第31天】R语言作为一款功能强大的数据分析工具,为处理时间序列数据提供了丰富的函数和包。从数据读取、预处理、建模到可视化,R语言都提供了灵活且强大的解决方案。然而,时间序列数据的处理和分析是一个复杂的过程,需要结合具体的应用场景和需求来选择合适的方法和模型。希望本文能为读者在R语言中进行时间序列分析提供一些有益的参考和启示。
|
4月前
|
机器学习/深度学习 分布式计算 MaxCompute
ODPS问题之什么是Join/Inner Join
ODPS问题之什么是Join/Inner Join
|
4月前
|
机器学习/深度学习 算法 数据安全/隐私保护
基于负相关误差函数的4集成BP神经网络matlab建模与仿真
**算法预览:** 图像显示无水印的2022a版MATLAB运行结果 **软件版本:** MATLAB 2022a **核心代码片段:** 省略展示 **理论概述:** NCL集成BP网络利用负相关提升泛化,结合多个弱模型减少错误关联。通过λ参数控制模型间负相关程度,λ>0增强集成效果,提高预测准确性和系统稳健性。
|
5月前
|
机器学习/深度学习 算法
基于RBF神经网络的自适应控制器simulink建模与仿真
使用MATLAB2022a,开发了一个基于RBF神经网络的自适应控制器Simulink S函数,进行了控制仿真。核心程序展示了RBF网络的权重和参数调整。测试结果显示了控制效果。RBF网络是一种三层前馈网络,利用高斯函数处理非线性系统。自适应控制器通过在线调整参数应对系统变化。网络学习分为自组织和有导师两个阶段,通过误差信号调整权重,确保系统稳定性。
|
6月前
|
数据可视化
【R语言实战】——金融时序ARIMA建模
【R语言实战】——金融时序ARIMA建模
|
6月前
|
机器学习/深度学习 数据可视化 算法
R语言神经网络与决策树的银行顾客信用评估模型对比可视化研究
R语言神经网络与决策树的银行顾客信用评估模型对比可视化研究
|
6月前
|
机器学习/深度学习 监控 数据可视化
R语言SOM神经网络聚类、多层感知机MLP、PCA主成分分析可视化银行客户信用数据实例2
R语言SOM神经网络聚类、多层感知机MLP、PCA主成分分析可视化银行客户信用数据实例
|
6月前
|
机器学习/深度学习 数据可视化 数据挖掘
R语言逻辑回归logistic对ST股票风险建模分类分析混淆矩阵、ROC曲线可视化
R语言逻辑回归logistic对ST股票风险建模分类分析混淆矩阵、ROC曲线可视化