基于SEAL链路预测应用:城市节点病毒传播预测(毕业设计+算法优化+完整代码)

<第一部分>代码

链接:https://pan.baidu.com/s/1FoeF93fhTrA1_C3oxomeSg?pwd=1111
提取码:1111
在这里插入图片描述

<第二部分:毕设论文+算法讲解>

基于SEAL-DGCNN的病毒传播链路预测算法研究

摘要:在过去的几年中,全球范围内发生了多种疫情,对社会和经济造成了巨大的冲击。为了更好地了解不同城市地区之间的疫情相互关系和变化趋势和同步性分析,链路预测可以帮助根据某些地区已有的确诊数据,确定哪些地区未来会出现疫情爆发的可能性,以及预测疫情的扩散路径和速度。
本文介绍了一种基于SEAL-DGCNN的患病人数相关性预测方法。DGCNN能有效地学习城市地图的局部和全局特征,并对城市节点进行分类或分割,应用于地区出现传染病的同步性预测的问题。SEAL算法从子图、嵌入和链接预测的属性中学习,将周围的局部子图作为输入,根据潜在特征预测节点之间是否存在疫情传染来临的相关同步性。该方法提炼城市节点的时间序列对焦为相关性分析,以结果为导向,有效减少了考虑人口,交通,经济等复杂特殊因素,直接有效进行地区间疫情相关性分析。

关键词:链路预测;SEAL算法;动态图边卷积网络;图分析;病毒传播

1 绪论

1.1 选题背景及意义

新冠自2019年爆发,给人们的生命、社会带来了巨大的危害和挑战。这种病毒的传播速度之快、影响之广泛,令人震惊和不安。在全球范围内,数百万人感染,数十万人失去了生命,无数人受到了严重的伤害和影响。疫情的爆发给社会和经济带来了巨大的冲击。整个社会生活的节奏被打乱,人们的心理和生活质量受到了严重的影响。
为了更好地了解和控制病毒的传播、了解不同城市地区之间的疫情相互关系和变化趋势和同步性分析,需要进行更多的研究和探索、积极研究病毒的传播途径和传播规律,制定更加科学有效的预防和控制措施。利用和数据分析和链路预测方法,建立了许多病毒传播模型,预测了病毒传播的趋势和可能的爆发地点,链路预测可以帮助确定哪些地区可能会出现疫情爆发,以及预测疫情的扩散路径和速度。
图神经网络(Graph Neural Networks,GNNs)的发展,结合GNN的链路预测方法也不断涌现,并在许多领域中取得了重要的应用。GNN是一种专门用于处理图数据的神经网络,能够自动提取节点和边的特征并进行信息传递和聚合,从而实现对整个图的表示学习。在链路预测中,GNN能够学习节点之间的相互作用和表示,进而预测未来可能的连接。在新冠肺炎疫情控制和防范中具有非常重要的应用价值。通过对疫情传播的链路进行预测,更好地理解病毒在地理结构中传播的速度,分析城市节点之间的联系和关系,从而预测未来可能出现疫情的地区并采取必要的动态清零、动态预防的措施,避免疫情扩散,提供更加准确的预测和决策依据。
链路预测作为图分析领域中的重要问题。更好地理解病毒在城市地理结构中的传播规律,预测未来可能出现疫情的地区,需要开发更加高效和准确的预测模型,为全球新冠肺炎疫情的控制和防范做出更加积极的贡献。

1.2 国内外研究现状及未来发展趋势

1.2.1 国内外研究现状

使用GNN处理图数据模型,自动提取节点和边的特征并进行信息传递和聚合,从而实现对整个图的表示学习。链路预测作为图分析领域中的重要问题,意义非凡。
在链路预测领域,Graph Convolutional Neural Networks(GCNN)是目前最流行的GNN模型之一,它通过卷积操作在图数据上进行信息传递和聚合,可以自动地从局部信息中提取全局图的表示,具有良好的表征能力和预测性能。然而,在实际应用中,GCNN存在一些局限性,如对于稀疏图数据的处理能力较弱等。为了解决这些问题,Jie Zhou等人提出了一种新的基于GCNN的链路预测模型,结合了图卷积和密集卷积的思想,实现了更加高效和准确的图像分类和节点分类任务。Leskovec等人在2005年发表的论文《Graphs over Time: Laws, Shrinking and Possible Explanations》中提出了一个基于节点相似度的链路预测模型,结合了传统的网络嵌入方法和GNN,该模型能够准确地预测未来可能的连接。还有Tyler Derr等人于2018年在《Multiview graph convolutional network》提出利用GNN进行多视图的链路预测,将多个视图的信息进行融合,提高了预测的准确性。
在生物医学领域,基于GNN的链路预测方法也被广泛应用。2018年的一篇名为《Predicting Chemical-Disease Associations via Graph Attention-Based Molecular Representation Learning》的论文中,利用GNN预测药物-靶蛋白质网络,从而提高药物筛选的效率。另外,GNN在生物医学图像处理方面也有广泛应用。1976年,美国医学物理学家Robert Ledley在《Scientific American》杂志上发表了一篇题为《Digital processing of x-ray images》的文章,将GNN应用于医学图像分割和诊断中,通过对图像数据进行分析和学习,实现对医学图像的自动分割和诊断。这些研究成果表明,GNN在生物医学领域中的应用有着广泛的前景和应用价值。
在性能方面,DGCNN在各种实验中已被证明优于传统的链路预测方法,例如2001年由Lada Adamic和Eytan Adar在论文《Friends and Neighbors on the Web》中提出的公共邻居和Adamic/Adar。此外,2017年的一篇名为《Graph Attention Networks》的论文中由Petar Veličković等人证明了将DGCNN与其他深度学习技术(如图注意力网络(GATS))相结合的有效性,以进一步提高链接预测的性能[5]。
在物联网领域,GNN也被广泛应用于链路预测和数据分析中。利用GNN预测物联网中设备之间的连接关系,以便更好地管理和维护物联网系统。2019年的一篇名为《Deep learning based anomaly detection and condition monitoring in IoT systems》的文章提出了一种基于深度学习的物联网异常检测和状态监测方法,其中使用了GNN来处理设备之间的关系数据逐步智能城市、智能交通等。
针对链路预测的模型改进:为了提高链路预测的效果,研究者们提出了许多针对性的改进模型。SEAL(Subgraph Encoder and Link Predictor)利用子图结构学习节点嵌入表示,提高链路预测效果;VGAE(Variational Graph Autoencoders)等模型利用图自编码器,通过隐变量建模生成潜在边。
动态图处理:为了应对现实场景中的动态图(Dynamic Graph)问题,研究者们提出了一系列动态图神经网络模型。2020年的一篇名为《TD-GNN: a Time-Decomposed Graph Neural Network for Dynamic Link Prediction》的论文中王昌宏、李勇提出的。TD-GNN(Temporal Graph Neural Networks)等,捕获图结构的时序信息,提高链路预测的准确性。
空间-时间图模型:为了处理具有空间-时间信息的图数据,Wangyaoyu等人在2016年提出的"STGCN: Spatial-Temporal Graph Convolutional Networks for Traffic Forecasting"中,提出了融合空间-时间信息的图神经网络模型。将空间依赖关系和时间依赖关系一起建模,提高链路预测的准确性。
鲁棒性和对抗攻击:图神经网络和链路预测在实际应用中可能面临数据噪声和对抗攻击的挑战。因此,由Michael Schlichtkrull、王凯等人开始关注模型的鲁棒性,例如RGCN(Robust Graph Convolutional Networks)等模型,旨在提高链路预测的鲁棒性。
图神经网络结合链路预测在国内外的研究现状表现为多元化的发展。面向不同场景和需求,研究者们提出了许多创新性的方法和技术,推动了这一领域的发展。然而,仍有许多挑战和问题有待解决,如模型的可扩展性、鲁棒性、解释性等,预示着未来在这一领域还有很大的研究空间。

1.2.2 未来发展趋势

随着图神经网络的技术的不断发展,图数据处理和分析已经成为了一个重要的研究领域。利用GDCNN模型去研究链路预测在病毒传播学领域较为空白。考虑到链路预测方法,即能够自动提取节点和边的特征并进行信息传递和聚合,从而实现对整个图的表示学习,已经成为了研究和应用的热点之一。探究以下几个方面的发展趋势:
基于GNN模型的链路预测方法将在更多领域中得到应用。目前,应用主要集中在社交网络、生物医学、物联网;甚至金融、能源、环境等领域。这些模型将会在更多领域中得到应用。为解决问题而添砖加瓦。基于GDCNN模型的链路预测方法具有更高的预测精度和鲁棒性。
基于GNN和GDCNN模型的链路预测方法将进一步与其他技术:深度学习、图像处理、自然语言处理等技术相结合,为实际问题提供更加全面和高效的解决方案。例如强化学习、多模态数据处理等技术,为实际问题提供更加全面和高效的解决方案[9]。
综上所述,基于GNN和GDCNN模型的链路预测方法具有广阔的应用前景,并将在未来得到更加广泛和深入的应用。在不断提高预测精度和鲁棒性的同时,还需要更加注重这些模型的可解释性和可视化。由于GNN和GDCNN模型的复杂性,其在实际应用中往往缺乏可解释性和可视化,这也是一个亟待解决的问题。研究者需要进一步探索和开发新的方法,以便更好地理解和解释这些模型,从而提高其在实际应用中的可靠性和可用性。GDCNN模型的计算效率将得到进一步提升。近年来出现的各种图计算库和分布式计算平台,可以有效地提高GNN和GDCNN模型的计算速度和可扩展性,从而更好地满足实际应用的需求。研究者使用性能更为良好的模型去研究和应用时,提供更加全面和高效的支持[2]。
基于GNN和GDCNN模型的链路预测方法已经成为了研究和应用的热点之一,具有广阔的应用前景和深远的意义。研究者需要进一步探索和改进这些模型,提高其在预测精度、鲁棒性、可解释性和可视化方面的表现,并将其应用到更多领域中,为实际问题提供更加可靠和高效的解决方案。

1.3 开发工具介绍

Jupyter Notebook是一款基于网页的交互式计算环境。优点在于其交互式的使用体验,使得数据分析和科学计算变得更加直观、快捷和有趣。在Notebook中,用户可以对数据进行实时的可视化和调试。pytorch框架是机器学习框架,提供了两个主要功能:第一个是支持张量运算,第二个是支持自动微分。PyTorch非常适合用于构建深度神经网络。提供了高级API来构建各种模型,包括卷积神经网络、循环神经网络和变换器模型等。

2 链路预测、SEAL算法及DGCNN基础理论

2.1 链路预测

链路预测根据已有的节点和边信息,预测边的出现。链路预测可以更好地理解网络的结构和演化规律,同时也有助于预测网络中的一些重要事件。链路预测算法可以分为以下几类:
启发式是一种常见的链路预测方法,如 Jaccard 系数等,它们都是基于节点或边之间的相似性度量计算链接的概率。
基于概率的算法:基于概率的链路预测算法假设网络中边的形成是一个随机事件,它们之间的概率具有规律性。常用的基于概率的算法有 CN-LHN、PA、RA 等。
基于图形式的算法:基于图形式的链路预测算法假设网络是由多个图组成,每个图表示网络的某个特征,通过对多个图的融合,来预测网络中的链路。常用的基于图形式的算法有 Graph Factorization、Triad等。
基于机器学习的算法:基于机器学习的链路预测算法是指利用机器学习模型,从已有的节点和边信息中学习出预测模型,预测边,常用有 SVM、Deep Learning 等。通过链路预测,可以更好地理解网络的结构和演化规律。通过分析已有的节点和边信息,可以预测未来可能出现的边,从而了解网络的演化趋势和规律。预测网络中未来可能出现的边,从而预测网络的行为和特征。可以发现潜在的关系和联系。在一个网络中,有些节点之间可能没有直接的联系,但是它们之间存在某种间接的联系。通过链路预测,可以预测这些潜在的关系和联系。

2.2 SEAL算法

2.2.1 SEAL介绍及基本步骤

SEAL是一种新的链路预测框架,它将链路预测系统地转化为子图分类问题。对于每个目标链路,通过提取h-hop封闭子图A和构建节点信息矩阵X结构组成:1、节点标签2、潜在嵌入3、节点的显式属性,SEAL结合图神经网络(GNN)实现链路预测,旨在从图结构特征和潜在以及显式特征中学习。相较于一些特定形式的特征,SEAL有效采用了数据驱动的方法,不对学习到的特征进行限制,通过从数据中学习图结构的表示来解决问题;学习链接的一般图结构特征进行预测。受理论结果的启发,该函数将结构的周围局部性子图作为输入,判断链接存在几率,它的核心是基于神经网络的深度学习方法。这意味着它可以从大量的图数据中学习复杂的结构和模式,从而获得更强大的表示和预测能力。
步骤:

1、抽取k-hop封闭子图基于最短路径:

在提取的封闭子图中,初始节点i被包含在节点集合S中,且S包含到i的k跳最短路径上的所有节点。这些节点和边被收集到一个k-hop子图中,其中每个节点都有与之相连的k个最短路径。这种基于最短路径的方法可以保证抽取的子图是封闭的,可以完整地反映节点之间的关系[1]。基于这样的子图,可以构建节点信息矩阵。
图 2-1 节点关系[17]:
在这里插入图片描述

2、DRNL 核心公式:

DRNL(Double-radius Node Labeling)是一种节点标签的计算方法,在图数据处理和图神经网络中具有重要的作用。DRNL可以用于表征节点之间的距离信息,从而提供节点的局部结构特征。函数公式:在这里插入图片描述
虽然DRNL不是唯一的节点标注算法,但是通过实验证明,它比不标注和朴素标注方法有更好的性能。
DRNL的计算说明:
1.选择一个源节点和一个目标节点。
2.计算除目标节点以外的其他节点到源节点的最短路径距离,称为dist2src。
3.计算除源节点以外的其他节点到目标节点的最短路径距离,称为dist2dst。
4.计算DRNL标签z:
DRNL的计算结果是一种节点标签,其中节点的标签值反映了节点与源节点和目标节点之间的距离。通过计算DRNL,使用节点的DRNL标签作为节点的特征输入,提供关于节点之间距离的信息,捕捉节点之间的局部关系,有助于节点分类和聚类任务的性能提升。
3、优化目标:为了训练 SEAL 模型,需要定义一个优化目标。SEAL 模型的优化目标是最小化预测邻接矩阵与真实邻接矩阵之间的交叉熵损失,即在这里插入图片描述 通过最小化优化目标,可以得到最优的节点和边的嵌入表示,从而提高链路预测的准确性。

2.2.2 DGCNN理论基础

图神经网络使用邻接矩阵来表示不规则的数据结构,当节点表示的顺序不一样时,也代表同一个图。因此,网络对图模型需要表现出置换不变性,模型在面对两个完全不同的矩阵时,应该表现出相同的结果。
图由节点及边二因素组成,若由神经网络处理节点及边的信息,将信息首先转换为矩阵,节点与边所表示的信息内涵不同,二者对应的矩阵长度不一样;整体特征向量:作为一种全局信息使用的矩阵。向量后建立一个函数或网络,本质是处理两个矩阵,输出为矩阵,得到新的图。点与点之间的信息传播,这个过程即GCN。
在这里插入图片描述

H:事先转换为向量的点的特征向量;A:邻接矩阵;W:权重矩阵;σ:激活层

将特征加和赋值给对应维度特征,表明成功让节点学习到其周围点的特征,由于自身为0,丧失了本身的维度,因此改进邻接矩阵,不仅汇聚周围点的特征还要考虑自身的情况。
在这里插入图片描述

平均池化,即引入一个度矩阵:
在这里插入图片描述

但仍然存在权重行和为1,但列权重不为1,造成了结果在特征角度上不唯一的后果,所有两边都乘以该矩阵:
在这里插入图片描述
至此,成功的将卷积的特点引入,越密集的位置结构,学习的越快。与传统卷积神经网络对比,图卷积神经网络卷积层的权重是由邻接矩阵决定的,而非自己学习的。
GCN的邻接矩阵权重不发生变化,而DGCNN的动态性体现为会动态加入、删除某些边[18]。
在这里插入图片描述

DGCNN(Dynamic Graph CNN)是一种融合了卷积神经网络和图神经网络思想的模型。
将子图嵌入向量作为MLP输入,就是把图嵌入向量输入全链接层,输出二分类预测目标节点对间是否存在链路,步骤如下:
1.图的表示:将图中的节点和边转化为张量表示,通常使用邻接矩阵、度矩阵、特征矩阵等方式进行表示。
2.消息传递:GNN中最重要的操作就是消息传递,即节点之间信息的交互和传递。这通常包括聚合和更新两个步骤,即对每个节点及其邻居节点的信息进行聚合以及聚合后的节点表示,更新节点的特征表示。
3.输出:通过一系列的消息传递和特征更新,得到最终的图表示,进而进行各种任务的预测和推理。
在这里插入图片描述

图 2-3 DGCNN 原理示意[13]
DGCNN通过建立一张动态图来解决这个问题,其中每个点与其最近邻点连接。通过这个图,可以计算每个点与其周围点的关系,从而构建点云的特征图,DGCNN使用一种动态滤波方法来学习不同特征之间的关系,并使用全连接层对这些特征进行分类或分割。DGCNN利用图神经网络的思想,通过卷积和滤波的方式提取特征,并在此基础上进行分类等任务。

2.3 时间序列数据计算相关系数矩阵和欧氏距离矩阵

根据给定的时间序列数据计算相关系数矩阵和欧氏距离矩阵的原理如下:

2.3.1 一阶差分

一阶差分是一种常用的时间序列分析技术,用于计算相邻时间点之间的差异。它可以帮助消除时间序列中的趋势和季节性,并突出序列中的周期性和随机性。
公式:
在这里插入图片描述

2.3.2 相关系数矩阵和相异度矩阵计算:

对于时间序列中的两列数据,计算这两个变量的相关系数,来衡量两个变量之间的线性相关程度,其取值范围为-1到1,其中-1表示完全负相关,1表示完全正相关,0表示无相关性。
对于每对变量,需要计算其协方差和标准差。协方差衡量了两个变量之间的总体线性关系的变化程度,标准差衡量了变量的离散程度。使用相关系数的公式,将协方差除以两个变量的标准差的乘积,计算出相关系数,填充到相关系数矩阵的对应位置。
公式:
在这里插入图片描述

2.3.3 欧氏距离矩阵计算

欧氏距离也可以用于衡量时间序列之间的相似性。将相关系数转换为欧氏距离。由于相关系数的取值范围在-1到1之间,使用欧氏距离的公式来计算相关系数的距离,使用的公式为:在这里插入图片描述

通过计算得到的距离,填充欧氏距离矩阵的对应位置。至此,得到了边的权重信息。
最后可以获得时间序列数据之间的相关性和相似性信息。这些信息可以用于聚类分析、相似性搜索、特征选择等各种数据分析和挖掘任务。

2.4 PMFG

PMFG (Planar Maximally Filtered Graph) 是一种基于图论的网络分析方法,用于寻找复杂网络的局部结构。用于一般的网络中寻找完全平面子图。它滤掉了距离非常远的节点之间的边,只保留了相对较近的节点之间的连接,从而形成一个最大的平面图,其中每个顶点的度数最多为6。
步骤:
1、构建初始的最小生成树(Minimum Spanning Tree,MST):根据距离矩阵,构建最小生成树,即包含所有节点的树形结构,其中边的权重是使得整个树的总权重最小化的。最小生成树代表了网络中的主要连接。
2、计算关联度矩阵:通过计算每条边在最小生成树上的关联度,得到关联度矩阵。关联度是指边的权重与该边连接的两个节点的度之和的乘积。
3、进行过滤和排序:根据关联度矩阵,进行过滤和排序操作,筛选出关联度最大的边,并按照欧氏距离从低到高进行排序。
4、构建PMFG图:根据过滤和排序后的边列表,构建PMFG图。PMFG图是一个无向图,其中每个节点代表一个网络中的节点,每条边代表两个节点之间的关系。
PMFG构建极大平面过滤图方法是一种基于距离的拓扑特性的数据处理技术,可以在距离矩阵上进行计算。该方法可以避免普通最小生成树 (MST)方法的缺点,如过多的边和过低的连通性。与其他最大平面过滤图方法相比,PMFG具有很高的拓扑优越性和计算效率[15]。

3 基于SEAL-DGCNN的病毒传播链路预测算法研究

3.1 算法创新思路

针对于Jaccard 系数、Adamic-Adar 系数等基于相似度传统链路预测方法,后者高维度的计算更大的算力,提出使用SEAL提取子图的方法,有效使得维度降低。
对于Embedding方法处理多个子图这种算法,无法有效处理非常大的图,在实际情况中,数据往往是稀疏的。考虑到DGCNN会舍弃或增加边来适应图结构的变化情况,进行链路预测。
使用在本研究中,提出了一个创新的方法,将城市感染病毒人口数量的一阶差分计算应用于时间序列分析,以研究城市感染人数变化趋势的同步情况。通过分析城市间感染人数的变化情况,得到城市节点之间的相关性矩阵。借鉴SEAL算法的思想,提取子图并构建信息矩阵,进而绘制出相关性网络。在此基础上,使用图神经网络对相关性网络进行分析和预测。
相关性网络在生物医药领域的蛋白质和基因领域得到了相关的应用,但本研究首次将其引入到传播学领域。相较于传统的启发式算法进行链路预测,本文采用动态图神经网络,结合SEAL算法在捕获局部结构的同时,充分利用了图的动态特性,从而提高了模型在复杂图分析任务中的准确性,适应图结构的变化情况,进一步提高模型在动态图数据上的性能。
本研究具有以下创新点:
1、通过对城市感染病毒人口数量进行一阶差分计算,本文发现了一种新颖的方法来研究城市感染人数变化趋势的同步情况。
2、基于城市节点的相关性矩阵,成功地利用SEAL算法提取子图和构建信息矩阵,进而绘制出PMFG相关性网络,有效降低维度。
3、首次将相关性网络应用于病毒传播学领域,扩展了相关性网络在不同研究领域的应用范围。
4、放弃了传统的启发式算法进行链路预测,采用动态图神经网络结合SEAL算法进行链路预测,充分利用图的动态特性以提高模型准确性。
5、通过结合DGCNN动态图神经网络和SEAL算法,本文的方法会根据交叉熵损失而舍弃边来适应图结构的变化情况,进行链路预测,比原来的机器学习的deep learning更加高效,准确。
本研究提出了一种新颖且具有实际应用价值的方法,将时间序列分析、相关性网络和图神经网络相结合,突破了有效地分析和预测城市感染病毒人口数量的变化趋势。这一方法不仅在传播学领域具有广泛的应用前景,同时为其他研究领域提供了一个新的视角和分析工具。

3.2 数据分析处理

针对中国各个省份的确诊病例数量进行相关性研究,进行一阶差分计算。一阶差分计算常用于平稳性检验、季节性调整、预测模型的建立等方面,可以更好地理解和分析时间序列数据。得到感染人数的新增率,使用感染人数新增率来计算各城市之间的相关系数如图3-1:
在这里插入图片描述

图 3-1 相关性系数矩阵
相似度计算公式,并可视化其分布直方图:
在这里插入图片描述

图 3-2 相似度矩阵直方图
本文以相似度0.8作为阈值判断相关性强弱,由直方图可以看出,大部分数据挖掘性很高,对于相异度而言,本文小于以0.6作为相关性强的依据,由此可见,该数据集呈现均衡状态。
利用欧氏距离,构建极大平面过滤图(PMFG),用于描述数据点之间的相似性关系,通过数学关系证明:欧式距离矩阵小于 0.6 时,表明相关系数矩阵约为 0.8[3]。
在这里插入图片描述

图 3-3 欧氏距离矩阵直方图
在本文中,使用PMFG算法构建了城市COVID-19感染人数的关系网络,并将其与最小生成树和其他过滤方法进行比较,从而获得了一个更精细的不同城市中感染人数网络,并通过这个网络来探究全球疫情传播的特点[16]。构建PMFG(Planar Maximally Filtered Graph)的过程。具体步骤如下:
1.通过输入的欧氏距离矩阵,创建一个图对象,提取边列表,包括每条边的起始节点、目标节点和权重信息。
2.根据边的权重进行升序排序。
3.初始化变量记录边的数量和迭代计数器。
4.进行循环迭代,遍历排序后的边列表。
5.在每次迭代中,判断边的权重是否小于给定的阈值,判断构成极大子图中边和节点的数量关系是否满足;检查添加边后的PMFG图是否是平面图。
根据图论证明需要满足关系式:
在这里插入图片描述

6.如果边的权重小于阈值,则将该、起始节点和目标节点添加到图中。
7.更新边的数量和迭代计数器;返回构建完成的图对象。
最终构建好的图可视化:
在这里插入图片描述
图 3-4 基于城市节点的患病人数相关性网络
探究一些结论:
从地理距离上分析:澳门和香港地理上它们距离相近,且有便捷的交通连接(如港珠澳大桥),因此在网络中它们之间存在链路。当一个地区出现病毒感染时,相邻地区容易受到影响,所以考虑澳门和香港之间的关系有助于预测和控制病毒的传播。
从经济文化频繁交流分析:北京和天津,北京和天津同样具有临近的地理位置,并且在政治、经济、文化等方面有密切联系。在网络中,它们之间存在链路。由于它们之间的人口流动和交通连接,病毒感染可能在这两个城市之间迅速传播。关注这两个节点之间的联系有助于分析和预防病毒感染的传播。
从政策措施、医疗资源来分析:内蒙古、黑龙江和陕西,这三个省份在地理上相邻,形成一个三角形区域。在网络中,这三个节点之间存在链路。虽然这些省份之间的人口流动和交通连接不紧密,但它们之间仍然存在一定程度的相互影响。在分析病毒感染时,关注这些省份之间的关系可以帮助决策者了解病毒在较大地理范围内的传播情况。
创建一个映射字典 mapping,将城市名称映射为数字索引,并将PMFG图的边保存为2行n列的数组。

3.3 SEAL-DGCNN数学模型

由G构成的极大平面子图后,给定一个启发式衰减:在这里插入图片描述 如果满足:
在这里插入图片描述
在这里插入图片描述

然后使用深度图卷积神经网络(DGCNN)作为SEAL的引擎,能够有效减少了超参数的调整。DGCNN 配备了基于传播的图卷积层和一种新的图聚合层,称为排序池。给定邻接矩阵和封闭子图的节点信息矩阵,DGCNN使用以下图卷积层:
在这里插入图片描述
在这里插入图片描述

在DGCNN中,每个节点的特征向量是由它本身以及来自它的邻居节点的信息和一阶结构模式构成的。通过堆叠多个图卷积层,DGCNN可以提取多跳节点特征,并将每个层的节点状态连接为最终的节点状态。这种节点状态的连接方式可以有效地将节点特征信息进行整合。

为了聚合节点特征并生成一个图级特征向量,DGCNN使用了一种新的排序池层。这种排序池层可以根据最后一个图卷积层的输出对最终的节点状态进行排序,从而实现一个同构不变的节点排序。通过这种方式,DGCNN可以保留更多的单个节点的信息以及图的拓扑信息,避免求和操作的平均效应可能会丢失这些信息的问题。
在这里插入图片描述

图 3-5 提取子图进行训练

3.4 算法整体流程

在这里插入图片描述

图 3-6 模型流程图

3.5 算法性能评价指标简介

3.5.1 F1-score指标

F1-score是一种用于评估分类模型性能的指标,综合考虑两个指标的表现,同时平衡两个指标之间的权衡。精确率是指模型正确预测为正类的样本数与所有预测为正类的样本数之比,召回率是指模型正确预测为正类的样本数与所有实际为正类的样本数之比。F1-score是精确率和召回率的调和平均数,用于综合评估模型的性能。其值介于0到1之间,越接近1表示模型性能越好。F1-score的调和平均数的特点是对小的值更加敏感,这意味着即使精确率或召回率有一个很低的值,最终计算得到的F1-score也会相应较低。成功避免一个指标表现很好但另一个指标表现很差的情况下,F1-score过高的情况。

同时,F1 score 适用于正负样本数量不平衡的情况下,在实际应用中,F1 score 经常被用于评估分类模型的性能,特别是在数据集中的正负样本比例不平衡时,它是一种比准确率更加稳健的指标。

3.5.2 AUC指标

AUC(Area Under Curve)是ROC曲线下面积,是一种常用的评估分类器性能的指标,用于度量模型对于正负样本的区分能力。当准确率和召回率都达到0.9时,意味着模型能够正确地预测90%的正样本,并且在实际为正样本的样本中能够检测出90%的样本。而当AUC分数达到0.86时,表示模型的预测能力相对较好,能够对正负样本进行有效的区分
公式:在这里插入图片描述

AUC数据判断预测模型优劣:
当0.5<AUC<1时,表示分类器的性能优于随机猜测,即分类器能够对样本进行更好的分类。
当AUC=0.5时,表示分类器的性能与随机猜测一样,无预测价值。
当AUC<0.5时,表示分类器的性能比随机猜测还差。

4 实验与评估分析

4.1数据集及数据分析

本数据集采用heywhale社区提供的公开确认感染人数的疫情数据集[15],时间范围从19年年末到21年年初。覆盖了近170个国家,246个城市或地区。本文实验对象针提取中国地区的不同城市进行实验。
在这里插入图片描述

图 4-1 原数据集展示
统计信息包括:平均值、标准差、数据中的第1/4、1/2、3/4分位数和最值情况:

在这里插入图片描述

图 4-2 描述性统计信息
分析:均值体现为中心位置335995、标准差体现数据的分散程度3683和243、通过数据中的第1/4、1/2、3/4分位数来看偏斜情况,整体数据趋向正态分布,且数据偏右向倾斜。

4.2 实验训练

4.2.1 实验环境

本实验使用python3.9版本,torch1.9版本。Python是一种高级编程语言,可以用于多种任务,如Web开发、数据分析。具有简单易学、语法清晰、功能强大、可扩展性好等优点。Torch 用于深度学习的开源框架,它是一个基于 Lua 语言的框架,为了更好地支持 Python,Facebook AI Research 团队也开发了 PyTorch,它是一个基于 Torch 的 Python 包,提供了 Pythonic 接口和工具,更方便开发者使用 Torch 进行深度学习应用的开发。

4.2.2 实验训练

本文基于 PyTorch Lightning 的数据处理类,主要用于处理训练、验证和测试数据集,使用 RandomLinkSplit 函数将输入的图数据拆分为训练、验证和测试数据。对于每个数据集(训练、验证和测试),从这三个数据集中用extract_enclosing_subgraphs方法提取正样本(实际存在的边)和负样本(不存在的边)的子图设为false。正样本作为预测。
具体过程为:遍历源节点和目标节点,对于每对节点(即边)提取一个以预测边为中心的k-hop子图提,接收边索引、边标签索引和链接标签作为参数;遍历边标签索引中的每一行,每一行表示一对节点的连接并返回子图的节点索引、边索引、节点映射和边标;接着计算每个节点的DRNL最大值,形成标签作为节点的特征输入,提供关于节点之间距离的信息,利于捕捉节点之间的局部关系。节点的标签信息被独热编码后,与原始特征进行拼接,形成最终的节点特征矩阵。这种处理方式将节点的标签信息和原始特征整合到一个统一的特征表示中,以便后续在图神经网络模型中使用。
实验将 80% 的节点划分为训练集,10% 的节点划分为测试集,剩余 10% 的节点划分为验证集。创建一个新的图数据对象,包含边缘索引、节点特征和掩码信息。指定参数num_hops为 2,表示提取子图时采用 2 跳邻居。DGCNN模型的层数,设为3。DGCNN模型的隐藏层维度,默认值为32。训练时的批次大小,默认为2。 学习率,默认值为0.0001。 训练轮数,默认值为1。创建 LightningSEAL 实例 ,它是基于 PyTorch Lightning 的 GNN 模型。传入学习率、隐藏层通道数、网络层数以及训练数据集,输出模型参数的数量。
在这里插入图片描述

图 4-3 SEAL-DGCNN 流程图
将输入DGCNN的数据首先通过边缘卷积模块,该模块在边缘上应用 1D CNN 以捕获相邻节点之间的局部关系。将边缘卷积的输出传递给图卷积模块(GCNConv),该模块在节点上运行并聚合来自相邻节点的信息,从图结构中捕获本地和全局信息。图卷积输出进行全局池化,将节点级特征汇总为整个图的固定大小表示。最后,将池化的特征馈送到分类器模块(完全连接的层组成)中,以根据学习到的特征进行预测。分类器的输出表示输入数据的预测类。

4.2.3 独热编码

独热编码(One-Hot Encoding)是一种常用的数据编码方式,用于将离散的分类变量表示为二进制的向量形式。在独热编码中,如果一个分类变量有n个可能的取值,那么它将被表示为一个长度为n的二进制向量,其中只有一个元素为1,其余元素为0。被编码的变量的每个取值都有一个对应的二进制向量。
独热编码可以将分类变量的取值之间的关系消除,每个取值之间都是相互独立的。避免了分类变量的大小顺序对模型造成的影响。在深度学习中,独热编码通常使用张量表示,其中每一行代表一个样本的编码。本实验使用torch.nn.functional.one_hot函数进行独热编码的转换。

4.2.4 训练结果信息

在这里插入图片描述

图 4-4 模型结果信息
输出关于模型的结构、参数数量和参数大小的信息。以下是对输出内容的解释:Name: 模型中不同模块的名称,model: 名为 DGCNN 的模块,具有 39.8K 可训练参数。 Type: 模型中不同模块的类型。Params: 每个模块中的可训练参数数量。Trainable params: 可训练参数的总数量。Non-trainable params: 非可训练参数的数量。Total params: 总参数数量,包括可训练和非可训练参数。Total estimated model params size (MB): 模型参数的估计大小,以MB为单位。模型中共有 39.8K 可训练参数和 0 个非可训练参数,总共有 39.8K 个参数。估计的模型参数大小为 0.159 MB。

4.3 评价分析

4.3.1 F1-score指标分析

本实验F1-score指标达到88.3%,意味着模型的预测结果更加可靠,充分有效预测地区发生疫情时,能够有效及时地判断其他地区出现疫情的精准程度,各种决策都需要科学数据的支持,例如采取封城、封村等措施的时机、范围和时长,使决策者在应对疫情时更有针对性和有效性。为做好疫情防范提供坚实的理论知识,并且能够更好地指导资源的分配和利用;在疫情防控期间,医疗资源、防疫物资等资源的配置是非常重要的,而模型的准确预测能够帮助疫情防控部门更好地安排资源分配,提高资源利用效率;更好地制定防控策略,从而有效地遏制疫情的传播。
在这里插入图片描述

图4-5 F1-score指标分析
将上述算法按评估分类器性能从高到低排序:SEAL >DeepWalk >DGCNN > LR指标 > 启发式指标。
启发式指标(0.7465):启发式算法通常基于问题领域的一些经验规则和直观,这种算法简单,但可能无法捕获复杂的模式。在本实验中,启发式指标的F1-score表现相对较差,但仍具有一定的实用价值。
本文的启发式指标将共同邻居、Jaccard系数、Adamic-Adar系数和优先连接等多个指标作为输出特征,构建特征向量,使用逻辑回归模型进行训练,最后进行预测。该方式采用不同角度捕捉节点之间的相似性和关系,提高预测的准确性和鲁棒性。
Node2vec指标(0.7547):逻辑回归(Logistic Regression)是一种简单的线性分类器,它对特征进行线性组合并通过sigmoid函数将结果映射到概率空间。虽然性能略高于启发式指标,但LR指标可能受限于线性模型无法捕捉到复杂的非线性关系。
DGCNN(0.7661):是一种基于图的深度学习方法,适用于非结构化数据。DGCNN可以捕捉图中的复杂模式,因此在这里的性能要优于启发式指标和LR指标。
DeepWalk(0.8268):DeepWalk是一种基于随机游走的网络嵌入方法,它通过低维表示学习网络的结构信息。然而本实验中,DeepWalk的F1-score比SEAL-DGCNN略低,可能是因为它未能充分捕捉到网络结构中的有用信息或者该问题场景不适用于网络嵌入方法。
SEAL-DGCNN(0.8832):结构化嵌入学习(Subgraph Embedding and Learning)是一种基于图的深度学习方法,它通过学习局部子图表示来进行预测。SEAL具有很高的F1-score,表明它在这个例子中的性能优于其他算法。SEAL克服了启发式指标和LR指标算法的缺点,捕捉到更复杂的模式,以及更有效地利用图结构信息。
根据这些F1-score指标,SEAL-DGCNN 算法在这个问题上的性能最佳,它克服了其他算法在捕捉复杂模式和利用图结构信息方面的不足。

4.3.2 准确率及AUC指标分析

与传统的基于启发式的链路预测方法对比,如相似度来预测边的存在可能性,如择优链接,SEAL利用了动态的相似性度量矩阵,能够更好地适应不同时间段内节点之间相似性的变化,并能更好地捕捉潜在的联系。SEAL中的局部图和动态图结构能够更好地捕捉节点之间的微小变化,有助于更好地识别链接存在的似然可能性。
同时,与Embedding的方法对比,SEAL具有强扩展性,能够处理非常大的图,它需处理图的稀疏矩阵表示,而不需要加载整个图。SEAL同时具有比稳定性:SEAL比Embedding方法表现的更加稳定,很少出现像Embedding方法会出现过拟合或欠拟合现象[12][5]。
相比于MF,Node2Vec以及基于图特征的保留节点之间的关系和相似性的方法,其结构信息(比如节点的度数、相邻节点的数量等)往往会被忽略掉,导致最终的嵌入结果可能不够准确,SEAL解决了这个问题,考虑到增加标签和局部同构。强化了对局部信息结构的调整,对相似性的调整,使得嵌入结果更符合实际情况。
在这里插入图片描述

图 4-6 算法对比
相比于使用DGCNN进行链路预测,SEAL 针对每对节点生成一个局部子图,这些子图包含了节点之间的丰富上下文信息。利于捕捉到节点间复杂关系,提升性能。使用 SEAL 的方法允许融合多种类型的拓扑关系信息,使得 SEAL 能够同时考虑多种不同的特征,从而提高链路预测的效果。并且SEAL 使用神经网络模型对子图进行编码,可以直接学习到链路预测任务所需的特征表示。使用SEAL这种通用的框架,可以与不同的图神经网络结合使用,对于不同类型的图数据和预测任务时具有很好的灵活性。

4.4 实验存在的缺陷及改进策略

一,相关性网络模型本身的特点具有一定的缺陷,相关性网络模型主要基于图的拓扑结构来学习节点和边的表示,忽略了节点和边的语义信息,在采集的时候会造成数据和部分意外情况导致表现不突出的信息丢失。
二,在病毒传播领域的应用相关性网络过程中,由于相关性网络缺乏动态性:无法反映不同时间点疫情传播和防控措施的变化。因此,这种网络模型可能无法提供对疫情爆发、传播模式和流行病学特征等动态变化的深入理解。
三,SEAL模型具有特征无效性和节点无偏性,如果将范围扩展到国家之间,可能出现数据分布不均衡问题:如果数据中不同变量的分布不均衡,相关性网络可能会倾向于捕捉更为突出的变量之间的关系,而忽略其他变量之间的关系,从而影响模型的预测能力。
四,数据搜集方面,数据预处理阶段使用数据略显稀疏,可能会导致相关性网络无法准确地捕捉到变量之间的关系,从而影响模型的预测能力。改进方式:尝试多收集一些节点的特征,每个城市除了患病人数以外的其他一些特征,如不同城市的医疗状况,节假日交通。

5 总结与展望

本文通过介绍 SEAL-DGCNN 链路预测方法,阐述了如何利用这种方法预测城市地区之间的疫情相互关系、变化趋势和同步性。SEAL-DGCNN 结合了 DGCNN 和 SEAL 算法,有效地学习了城市地图的局部和全局特征,为预测疫情扩散路径和速度提供了支持。未来仍有很多方向值得研究:
1、引入更多类型的数据和特征,加入节点特征:目前的链路预测方法可以进一步改进,例如引入更多类型的数据(如气候、人口密度等)和特征,提高预测的准确性和鲁棒性。
2、集成多种模型和算法:将 SEAL-DGCNN 与其他现有的图神经网络模型和算法相结合,以提高预测效果,同时充分利用各种方法的优势。
3、跨尺度和跨区域研究:将链路预测应用于不同尺度和区域的疫情分析,以揭示不同尺度和区域间的相互影响和传播机制。
4、与其他领域的融合:将链路预测技术与其他领域(如流行病学、交通运输、经济学等)相结合,提供更全面的疫情分析和预测方法。
通过对这些方向的持续研究和发展,链路预测技术在疫情分析和预测领域的应用将更加丰富,为未来的公共卫生安全提供有力支持。

6 参考文献

[1]Link Prediction Based on Graph Neural Networks.Muhan Zhang
[2]刘涛,陈忠,陈晓荣.复杂网络理论及其应用研究 概述[J].系统工程程,2005(06):1-7.
[3]陈花.基于复杂网络的股票之间有向相关性研究[D].北京邮电⼤学,2012.
[4]Babukarthik R G, Adiga V A K, Sambasivam G, et al. Prediction of COVID-19 using genetic deep learning convolutional neural network (GDCNN)[J]. Ieee Access, 2020, 8: 177647-177666.
[5]张雁操, 赵宇海, 史岚. 融合图注意力的多特征链接预测算法[J]. 计算机科学与探索, 2022, 16(5): 1096.
[6]Hu Z, Dong Y, Wang K, et al. Gpt-gnn: Generative pre-training of graph neural networks[C]//Proceedings of the 26th ACM SIGKDD International Conference on Knowledge Discovery & Data Mining. 2020: 1857-1867.
[7]Gidaris S, Komodakis N. Generating classification weights with gnn denoising autoencoders for few-shot learning[C]//Proceedings of the IEEE/CVF conference on computer vision and pattern recognition. 2019: 21-30.
[8]郭嘉琰, 李荣华, 张岩, 等. 基于图神经网络的动态网络异常检测算法[J]. 软件学报, 2020, 31(3): 748-762.
[9]Nguyen H T, Ngo Q D, Le V H. IoT botnet detection approach based on PSI graph and DGCNN classifier[C]//2018 IEEE international conference on information communication and signal processing (ICICSP). IEEE, 2018: 118-122.
[10]徐冰冰, 岑科廷, 黄俊杰, 等. 图卷积神经网络综述[J]. 计算机学报, 2020, 43(5): 755-780.
[11]Yang Y ,Guo H ,Tian T , et al.Link Prediction in Brain Networks Based on a Hierarchical Random Graph Model[J].Tsinghua Science and Technology,2015,20(03):306-315.
[12]吴晨程,周银座.基于图嵌入法的时序网络链路预测研究[J].杭州师范大学学报(自然科学版)2019(480)
[13]Yan, Xin-Guo, Chi Xie, and Gang-Jin Wang. “Stock market network’s topological stability: Evidence from planar maximally filtered graph and minimal spanning tree.” International Journal of Modern Physics B 29.22 (2015): 1550161.
[14]Massara, Guido Previde, Tiziana Di Matteo, and Tomaso Aste. “Network filtering for big data: Triangulated maximally filtered graph.” Journal of complex Networks 5.2 (2016): 161-178.
[15]和鲸社区 - Heywhale.com
[16]Wang Y, Sun Y, Liu Z , et al. Dynamic Graph CNN for Learning on Point Clouds[J]. ACM Transactions on Graphics, 2018, 38(5).
[17]Hong J , Kim K , Lee H . Faster Dynamic Graph CNN: Faster Deep Learning on 3D Point Cloud Data[J]. IEEE Access, 8:190529-190538.
[18]左格格老婆大人.【论文阅读】《Dynamic Graph CNN for Learning on Point Clouds》 - 知乎 (zhihu.com)

  • 3
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值