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

在2014年的埃博拉疫情爆发期间,人们对该疾病蔓延至美国的情况非常关注。

由Kaizong Ye,Coin Ge撰写

我们决定使用航空公司的航班数据探讨这个问题。


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

可以在下面看到网络的可视化。

×

1)节点:由于复杂网络是复杂系统的抽象,因此复杂网络中的节点对应为复杂系统中的一个个实体。


2)边:边是复杂网络中节点与节点之间的关系,即对应复杂系统中不同实体之间的联系。边可以有权重,表示联系的紧密程度。边也可以有方向,表示不同个体之间的单向或双向连接。


3)邻居节点:与节点v之间有边直接相连的所有节点即为节点v的邻居节点。


4)内部连接:假设节点v所在的社区为C,节点v与在社区C内部的v的邻居节点之间的连接称为内部连接。


5)外部连接:假设节点v所在的社区为C,节点v与在社区C外部的v的邻居节点之间的连接称为外部连接。


6)邻居社区:节点v的邻居节点所在的社区。


7)路径:两个节点i与j间的路径是由从节点i到j节点所需经过的边组成。路径长度即为所经过的边数。能使节点i到节点j联通的所有通路都是这两个节点之间的路径。


8)介数:介数分为点介数和边介数。点介数即为网络中经过某个节点的最短路径的数目占网络中所有最短路径数的比例。边介数即为网络中经过某条边的最短路径的数目占网络中所有最短路径数的比例。9)度:网络中某个节点的度即为与该点相连的边的数目。由于在有些网络中边具有方向性,因此节点度在有向图中又分为:入度和出度。节点的入度即为以该点为终点的边的数目,节点的出度即为以该点为起点的边的数目。


10)度分布:在复杂网络中,节点的度分布即为各个节点度的分布情况。在复杂网络中节点的度分布具有幂律特性。


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

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')

视频

复杂网络分析CNA简介与R语言对婚礼数据聚类(社区检测)和可视化

探索见解

去bilibili观看

探索更多视频

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

社区

我使用了算法来检测国家/地区的“社区”,即彼此之间有很多航班的国家/地区集,但是与集内的国家/地区之间的航班很少。

粗略地讲,该算法倾向于将同一大陆上的国家/地区分组在一起。然而,这并非总是如此。例如,由于与前殖民地的密切关系,法国与几个非洲国家被置于同一社区。

该网络似乎表现得很同质-同一大陆上的国家之间相互联系的趋势往往大于与该大陆以外国家的联系。

分布

地块上的标签尚不清楚,但利比里亚和美国位于两个独立的社区,这可能使我们相信病毒不太可能从前者传播到后者。

实际上,国家的程度(与一个给定国家连接的国家数量)差异很大,这也将支持这种直觉。美国与其他186个国家有联系,而利比里亚仅与12个国家有联系。

完整的分布如下所示。它大致遵循幂定律,根据维基百科,这是我们应该期望的。请注意,逼近是渐近的,这可能就是为什么此有限样本不可用的原因。

根据程度分布,所有国家中有一半与其他27个国家相连。利比里亚远低于中位数,美国远低于中位数。


R语言混合图形模型MGM的网络可预测性分析

阅读文章


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)与美国没有直接联系,它也可以与与美国有联系的其他国家/地区联系。这条航线可能有很大一部分航班降落在美国。

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

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

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


可下载资源

关于作者

Kaizong Ye拓端研究室(TRL)的研究员。在此对他对本文所作的贡献表示诚挚感谢,他在上海财经大学完成了统计学专业的硕士学位,专注人工智能领域。擅长Python.Matlab仿真、视觉处理、神经网络、数据分析。

本文借鉴了作者最近为《R语言数据分析挖掘必知必会 》课堂做的准备。

​非常感谢您阅读本文,如需帮助请联系我们!

 
QQ在线咨询
售前咨询热线
15121130882
售后咨询热线
0571-63341498

关注有关新文章的微信公众号


永远不要错过任何见解。当新文章发表时,我们会通过微信公众号向您推送。

技术干货

最新洞察

This will close in 0 seconds