CN107276807B - 一种基于社区动态紧密度的层次化网络社区树剪枝方法 - Google Patents
一种基于社区动态紧密度的层次化网络社区树剪枝方法 Download PDFInfo
- Publication number
- CN107276807B CN107276807B CN201710474904.1A CN201710474904A CN107276807B CN 107276807 B CN107276807 B CN 107276807B CN 201710474904 A CN201710474904 A CN 201710474904A CN 107276807 B CN107276807 B CN 107276807B
- Authority
- CN
- China
- Prior art keywords
- community
- time
- dynamic
- nodes
- communities
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/14—Network analysis or design
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/23—Clustering techniques
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/22—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks comprising specially adapted graphical user interfaces [GUI]
Landscapes
- Engineering & Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Theoretical Computer Science (AREA)
- Signal Processing (AREA)
- Computer Networks & Wireless Communication (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Evolutionary Biology (AREA)
- Evolutionary Computation (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Bioinformatics & Computational Biology (AREA)
- Human Computer Interaction (AREA)
- Artificial Intelligence (AREA)
- Life Sciences & Earth Sciences (AREA)
- Information Transfer Between Computers (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明提供了一种基于社区动态紧密度的层次化网络社区树剪枝方法,包括以下步骤,首先,获取网络数据;其次,使用聚类算法对网络节点进行社区划分,得到层次化网络社区树结构;再对层次化网络社区树中每个社区,计算该社区内部节点之间连接的边的数量;并划分时间片,计算社区内部节点在各个时间片内连接的边的数量;最后使用信息熵度量社区节点在各个时间片的紧密度的差异性,若该社区的熵值较大,表示社区的紧密度随时间变化程度较小,应该对其进行收缩;否则,判定该社区的紧密度随时间变化程度较大,对其进行展开。本发明实现了将网络中的重要变化信息突出显示出来,更好更有效的展示了动态网络的多特征时变模式。
Description
技术领域
本发明属于计算机信息处理技术领域,涉及到一种基于社区动态紧密度的层次化网络社区树剪枝方法。
背景技术
网络是由节点和连接边组成,表示诸多实体对象及其相互联系的一种数据结构,与我们的现实生活息息相关。当网络中节点规模很大时,受限于屏幕的显示空间,直接对网络节点及其连接边进行可视化将导致视图出现严重的重叠和可视混杂现象,非常不利于研究人员分析发现网络的分布特征和结构模式。针对这种情况,通常我们可以使用聚类算法来对网络节点进行社区划分,得到节点的层次树形结构,减少网络可视化初始绘制时节点的规模,同时增强视图的可读性,但是,我们应该将节点的各个层次展开到什么程度呢,这仍然是一个需要探讨的问题:
一方面,如果我们将各个层次的所有节点全部展开,这种情况会导致可视视图过于混乱;但是,如果将各个层次的节点全都收缩,又可能会因为视图过于简单而导致网络中某些重要信息的缺失;一般地,可以通过交互行为来对层次结构进行展开与收缩,从而决定层次中的某个聚类是否应该收缩或者展开,但是这往往是一个非常耗时的过程,非常不利于研究人员对网络的分析与探索。
因此,有必要设计一种新的效率更高的层次化网络社区树剪枝方法。
发明内容
本发明所解决的技术问题是,针对现有技术的不足,提供一种基于社区动态紧密度的层次化网络社区树剪枝方法,根据各聚类的动态紧密度情况,对网络的各层次结构进行自动展开或收缩,以节省研究人员的时间,帮助他们集中地分析网络中紧密程度变化较大的聚类。
本发明所提供的技术方案为:
一种基于社区动态紧密度的层次化网络社区树剪枝方法,包含以下步骤:
步骤1:获取时间段[tstart,tend]内,层次化网络社区树中各个节点之间的连接边数据;每条连接边包含的特征有起始节点、终止节点和时间戳,时间戳表示该连接边的产生时间;
步骤2:首先对层次化网络社区树中的所有根部社区Ci,根据社区中各条连接边的产生时间分布计算其动态紧密度并根据动态紧密度对其进行展开或收缩处理,其中1≤i≤k,k表示根部社区的个数,展开处理即保留以该社区为父节点的树枝,收缩处理是剪掉以该聚类为父节点的树枝;然后对于各个被展开的社区Ci,遍历其所有子社区Cij,计算各个子社区的动态紧密度并对其进行展开或收缩处理,其中1≤j≤h;依照该方法逐层对被展开的社区下的所有子社区进行展开或收缩处理;实现从根部到顶部对层次化网络社区树进行剪枝。
进一步地,层次化网络社区树的构建方法为:
先使用聚类算法对时间段[tstart,tend]内网络中存在的n个节点进行划分,得到k个第1层社区,即根部社区;再分别以各个第1层社区为父社区,使用聚类算法将其内部节点进行进一步划分,得到其子社区,所有的子社区称为第2层社区;继续按上述方式对所有子社区进行逐层划分,划分得到的社区依次记为第l层社区,直至每个社区包含的节点数小于设定的节点数,l=2,3,…;最后一层的社区称为顶部社区。
进一步地,所述聚类算法采用Fast Unfolding聚类算法;Fast Unfolding聚类算法中,两个节点之间的边的权重根据时间段[tstart,tend]内这两个节点之间产生的连接边条数确定(两个节点之间可能产生多条时间戳不同的连接边)。
进一步地,所述步骤2中,社区Ci的动态紧密度的计算方法包括以下步骤:
步骤2.1:对于社区Ci,获取其内部节点间在时间段[tstart,tend]中产生的连接边集ECi,并统计该集合内连接边的数量,记为ECi_count;
步骤2.2:划分时间片:
将整个时间段[tstart,tend]划分成长度相同的p段,即p个时间片,记第j个时间片为tj,1≤j≤p;
对于社区Ci,将其内部节点间的连接边按照其时间戳划分到相应的时间片中,由此得到社区Ci对应的时间片划分序列ECi={ECit1,ECit2,…,ECitj,…,ECitp},其中ECitj表示社区Ci内部节点间的连接边中,划分到时间片tj内的连接边的集合,即集合ECitj内的所有连接边的时间戳都包含在时间片ti内;
步骤2.3:计算连接边集合ECitj中边的数量ECitj_count;
步骤2.4:计算社区Ci内部节点间的连接边在各个时间片tj中出现的频率,即
ECitj_count/ECi_count;
步骤2.5:将时间片视为随机变量Y,对于社区Ci,定义其动态紧密度为:
步骤2.6:对动态紧密度进行标准化:
其中,Hmax=-log1/p=log p;Hmax表示当各个时间片tj(1≤j≤p)中节点的连接边的数量相等时,即时,取得最大值log p;而当社区Ci内部节点所有的连接边都出现在某一个时间片内时,即当j取某一个值时,而当j取其它值时,此时动态紧密度将取得最小值,且该最小值趋近于0,依据此可以对紧密度的计算进行标准化。
进一步地,所述步骤2中,根据动态紧密度对社区进行展开或收缩处理的判断方法为:
首先设置树剪枝判断临界值α;然后判断社区Ci的动态紧密度值是否小于或等于α,若是,表示该社区内部节点在整个时间段中的连接情况随时间的动态变化程度较大,应该展开该聚类;否则,表示该社区内部节点在整个时间段中的连接情况是相对稳定的,随时间的动态变化程度比较小,收缩该聚类。
进一步地,所述步骤2.1中,若一条连接边的连接起始节点和终止节点都是社区Ci的内部节点,则将该连接边归于连接边集ECi,否则不归于连接边集ECi。
进一步地,所述步骤2.2中,p的取值依据时间段[tstart,tend]的时间跨度和划分粒度进行选择,由用户按照年或月或日进行设置。
有益效果:
本发明提供了一种基于动态紧密度的层次化网络社区树剪枝方法,首先获取网络数据;再使用聚类算法对网络节点进行社区划分,得到节点的层次树形结构;然后计算各个聚类内部节点在整个网络时间内连接边的数目以及分别在各个划分时间片内连接的边的数目;最后从根部开始,分别计算各个聚类的紧密度,与树剪枝临界值比较,进行自动展开或收缩;然后,对于各个被展开的聚类,进一步分别计算其子社区的紧密度值并进行展开或收缩处理,从而实现了将网络中包含重要变化信息的聚类突出显示出来,更好更有效地展示了动态网络的多特征时变模式,便于分析人员观察、比较和分析网络中紧密度变化程度较大的聚类,提高分析人员对网络时变模式和分布特征的辨识能力。
附图说明
图1是本发明实施的流程图;
图2是层次化网络社区树中各根部社区全部展开时的可视视图;
图3是层次化网络社区树中各根部社区全部收缩时的可视视图;
图4是层次化网络社区树剪枝后的可视视图。
具体实施方式
为使本发明的目的、设计思路和优点更加清楚,以下结合具体实例,并参照附图,对本发明作进一步详细说明。
本发明提供了一种基于动态紧密度的层次化网络社区树剪枝方法(标题),如图1所示,包括以下六个主要步骤:
步骤1:获取网络数据,网络数据是由安然公司提供的从1999年5月到2002年6月安然公司内部员工之间的通信邮件,该数据为150个员工在此期间的25000多条通信记录。即该邮件通信网络中,存在150个节点以及25000多条连接边,其中每条连接边包含的特征有:起始节点、终止节点和连接发生的时间戳。
步骤2:使用Fast Unfolding算法对网络节点进行社区划分,当网络中包含大规模的节点或边时,直接对网络的点、边进行可视化会导致视图出现严重的边重叠和可视混杂,所以需要使用聚类算法对网络中的节点进行聚类。FastUnfolding聚类算法是一种基于模块度优化的社区发现算法,可以快速准确地生成一个网络的非重叠的层次结构。对于此包含150个节点和25000多条连接边的动态网络,先对该150个节点进行社区划分,得到7个根部社区{C1,C2,…,C7},接着,对每个社区Ci(1≤i≤7),使用Fast Unfolding算法对其内部节点进行进一步划分,分别得到子社区{Ci1,Ci2,…,Cih};并依次对子社区进行逐层划分,如图2左边所示,该网络被划分为3层的层次化网络社区树,其中第1层包含7个根部社区,每个根部社区包含相应的第2层子社区,而第2层社区又包含相应的顶部社区;图2的水平方向表示时间轴,图中的各条横线代表各个网络节点;各条竖直线表示在各个时间网络节点之间产生的连接边。
步骤3:对得到的各个根部社区Ci(1≤i≤7),获取该社区内部节点之间在整个网络时间中连接的边集ECi,集合内边的数量为ECi_count;
步骤4:划分时间片,将整个电话通信网络的时间区间1999/5/6 20:37:00到2002/6/29 1:13:00按月划分为33个时间段,标记第j个时间段为tj(1≤j≤33)。根据步骤3得到的7个聚类,对每个社区Ci(1≤i≤7),将该社区中的节点连接的边按照其时间戳划分到相应的时间片中,每个社区Ci(1≤i≤7)内节点的连接边得到一个时间片划分序列ECi={ECit1,ECit2,…,ECitj,…,ECit33}(1≤i≤7),其中ECitj(1≤i≤7,1≤j≤33)表示社区Ci(1≤i≤7)中节点连接的边划分到时间片tj(1≤j≤33)内的边的集合,即该集合内的所有连接边的时间戳都在时间片tj(1≤j≤33)内;
步骤5:根据步骤4中得到的每个社区Ci(1≤i≤7)中节点连接的边的时间片划分序列ECi={ECit1,ECit2,…,ECitj,…,ECit33}(1≤i≤7),对每个聚类的时间片划分序列,统计各个时间片tj(1≤j≤33)内节点连接的边的数量ECitj_count。
步骤6:对于一个聚类,其内部节点在各个时间片上的连接数量差异性越大,那么该聚类在层次结构中就越应该展开。使用信息熵来衡量聚类内部成员在各个时间片的紧密度的差异性,根据步骤3得到的社区Ci(1≤i≤7)内部的节点在整个网络时间中连接的边的数量ECi_count以及步骤5得到的Ci内部节点在每个时间片tj(1≤j≤33)中连接的边的数量ECitj_count,将时间片视为随机变量Y,并以各时间片内聚类内部的边出现的频率作为概率,即ECitj_count/ECi_count,则对于层次结构中的一个社区Ci(1≤i≤7),Y的信息熵为:
当33个时间片中连接边的数量相等时,取得最大值,Hmax=log33;而当社区Ci内部节点所有的连接边ECi都出现在某一个时间片tj(1≤j≤33)内时,紧密度将取得最小值,且该最小值趋近于0。所以,可求得上述信息熵的标准化值:
得到社区Ci的紧密度值后,根据预先设置的树剪枝判断临界值α=0.8进行判断,若聚类Ci的紧密度值小于等于0.8,则表示该聚类内部节点间的连接情况随时间的变化程度较大,应该对其进行展开操作;否则,当聚类Ci的紧密度值大于0.8时,表明此聚类内部节点的连接情况在整个网络时间比较稳定,变化程度较小,则收缩该聚类;对该层次中的各个聚类Ci(1≤i≤7),依次分别计算其紧密度并与树剪枝临界值比较决定展开或收缩;最后,对于被展开的聚类,进一步地分别计算其包含的各子类的紧密度值并进行展开或收缩处理。对该网络的层次化社区结构进行树剪枝后的可视化视图如图4所示,社区C3、C7、C4和C5以及其子社区被展开,表示其内部节点的连接在整个网络时间中的变化情况较大,需要进行进一步的深入分析;而社区C2、C6和C1被收缩了,表示其内部连接情况在整个网络中比较稳定。对比图2、图3和图4可以看出,层次化网络社区树剪枝后的可视视图4相较于树剪枝前的可视化视图2增强了视图的可读性,相较于各根部社区全部收缩时的可视视图3保留了视图中的重要变化信息,实现了将网络中包含重要变化信息的聚类突出显示出来,更好更有效的展示了动态网络的多特征时变模式,便于分析人员观察、比较和分析网络中紧密度变化程度较大的聚类,提高了分析人员对动态网络时变模式和连接特征的宏观感知效率。
Claims (5)
1.一种基于社区动态紧密度的层次化网络社区树剪枝方法,其特征在于,包含以下步骤:
步骤1:获取时间段[tstart,tend]内,层次化网络社区树中各个节点之间的连接边数据;每条连接边包含的特征有起始节点、终止节点和时间戳,时间戳表示该连接边的产生时间;
步骤2:首先对层次化网络社区树中的所有根部社区Ci,根据社区中各条连接边的产生时间分布计算其动态紧密度并根据动态紧密度对其进行展开或收缩处理,其中1≤i≤k,k表示根部社区的个数,展开处理即保留以该社区为父节点的树枝,收缩处理是剪掉以该社区为父节点的树枝;然后对于各个被展开的社区Ci,遍历其所有子社区Cij,计算各个子社区的动态紧密度并对其进行展开或收缩处理,其中1≤j≤h,h表示社区Ci的子社区个数;依照该方法逐层对被展开的社区下的所有子社区进行展开或收缩处理;实现从根部到顶部对层次化网络社区树进行剪枝;
所述步骤2中,社区Ci的动态紧密度的计算方法具体包括以下步骤:
步骤2.1:对于社区Ci,获取其内部节点间在时间段[tstart,tend]中产生的连接边集ECi,并统计连接边集ECi内连接边的数量,记为ECi_count;
步骤2.2:划分时间片:
将整个时间段[tstart,tend]划分成长度相同的p段,即p个时间片,记第j个时间片为tj,1≤j≤p;
对于社区Ci,将其内部节点间的连接边按照其时间戳划分到相应的时间片中,由此得到社区Ci对应的时间片划分序列ECi={ECit1,ECit2,…,ECitj,…,ECitp},其中ECitj表示社区Ci内部节点间的连接边中,划分到时间片tj内的连接边的集合;
步骤2.3:计算连接边集合ECitj中边的数量ECitj_count;
步骤2.4:计算社区Ci内部节点间的连接边在各个时间片tj中出现的频率,即ECitj_count/ECi_count;
步骤2.5:将时间片视为随机变量Y,对于社区Ci,定义其动态紧密度为:
步骤2.6:对动态紧密度进行标准化:
其中,Hmax=log p;
所述步骤2中,根据动态紧密度对社区进行展开或收缩处理的判断方法为:
2.根据权利要求1所述的基于社区动态紧密度的层次化网络社区树剪枝方法,其特征在于,层次化网络社区树的构建方法为:
先使用聚类算法对时间段[tstart,tend]内网络中存在的n个节点进行划分,得到k个第1层社区,即根部社区;再分别以各个第1层社区为父社区,使用聚类算法将其内部节点进行进一步划分,得到其子社区,所有的子社区称为第2层社区;继续按上述方式对所有子社区进行逐层划分,即分别以各个第l-1层社区为父社区,使用聚类算法将其内部节点进行进一步划分,得到其子社区,所有的子社区称为第l层社区,直至每个社区包含的节点数小于设定的节点数,l=2,3,…;最后一层的社区称为顶部社区。
3.根据权利要求2所述的基于社区动态紧密度的层次化网络社区树剪枝方法,其特征在于,所述聚类算法采用Fast Unfolding聚类算法;Fast Unfolding聚类算法中,两个节点之间的边的权重根据时间段[tstart,tend]内这两个节点之间产生的连接边条数确定。
4.根据权利要求1所述的基于社区动态紧密度的层次化网络社区树剪枝方法,其特征在于,所述步骤2.1中,若一条连接边的连接起始节点和终止节点都是社区Ci的内部节点,则将该连接边归于连接边集ECi,否则不归于连接边集ECi。
5.根据权利要求1所述的基于社区动态紧密度的层次化网络社区树剪枝方法,其特征在于,所述步骤2.2中,p的取值依据时间段[tstart,tend]的时间跨度和划分粒度进行选择。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710474904.1A CN107276807B (zh) | 2017-06-21 | 2017-06-21 | 一种基于社区动态紧密度的层次化网络社区树剪枝方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710474904.1A CN107276807B (zh) | 2017-06-21 | 2017-06-21 | 一种基于社区动态紧密度的层次化网络社区树剪枝方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN107276807A CN107276807A (zh) | 2017-10-20 |
CN107276807B true CN107276807B (zh) | 2020-06-09 |
Family
ID=60068612
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710474904.1A Active CN107276807B (zh) | 2017-06-21 | 2017-06-21 | 一种基于社区动态紧密度的层次化网络社区树剪枝方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN107276807B (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110858225B (zh) * | 2018-08-13 | 2022-06-17 | 中南大学 | 一种基于模块度的动态网络边采样方法 |
CN109101628B (zh) * | 2018-08-14 | 2021-11-26 | 中南大学 | 一种量化评价msv的边级视觉混杂程度指标计算方法 |
CN110557294A (zh) * | 2019-09-25 | 2019-12-10 | 南昌航空大学 | 一种基于网络变化度的psn网络的时间切片方法 |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105678626A (zh) * | 2015-12-30 | 2016-06-15 | 南京理工大学 | 重叠社区挖掘方法与装置 |
-
2017
- 2017-06-21 CN CN201710474904.1A patent/CN107276807B/zh active Active
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105678626A (zh) * | 2015-12-30 | 2016-06-15 | 南京理工大学 | 重叠社区挖掘方法与装置 |
Non-Patent Citations (2)
Title |
---|
Dimension Reconstruction for Visual Exploration of Subspace Clusters in High-dimensional Data;Fangfang Zhou;《IEEE Pacific Visualization Symposium》;20160422;全文 * |
基于密度峰值的重叠社区发现算法研究;冯国香;《中国优秀硕士学位论文全文数据库》;20150815;全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN107276807A (zh) | 2017-10-20 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104346481B (zh) | 一种基于动态同步模型的社区检测方法 | |
CN108182265B (zh) | 针对关系网络的多层迭代筛选方法及装置 | |
CN107276807B (zh) | 一种基于社区动态紧密度的层次化网络社区树剪枝方法 | |
CN104462184B (zh) | 一种基于双向抽样组合的大规模数据异常识别方法 | |
CN106777093B (zh) | 基于空间时序数据流应用的Skyline查询系统 | |
CN105808413A (zh) | 基于业务流程可视化的sql性能监控方法 | |
CN105827422B (zh) | 一种确定网元告警关联关系的方法及装置 | |
CN104243236A (zh) | 一种监控系统运维告警数据分析的方法、系统及服务器 | |
CN103888541A (zh) | 一种融合拓扑势和谱聚类的社区发现方法及系统 | |
CN110909173A (zh) | 一种基于标签传播的非重叠社区发现方法 | |
CN111507415A (zh) | 一种基于分布密度的多源大气数据聚类方法 | |
WO2023138013A1 (zh) | 一种多云场景算力网格化方法及系统 | |
CN106296315A (zh) | 基于用户用电数据的情境感知系统 | |
CN110287237B (zh) | 一种基于社会网络结构分析社团数据挖掘方法 | |
CN110909253A (zh) | 一种基于特定用户的群体关系挖掘与分析方法 | |
CN114254033A (zh) | 一种基于bs架构的数据处理方法及系统 | |
CN103164487B (zh) | 一种基于密度与几何信息的数据聚类方法 | |
CN108510010A (zh) | 一种基于预筛选的密度峰值聚类方法及系统 | |
CN109614394A (zh) | 一种基于bim的数据处理方法 | |
Wang et al. | Uncovering fuzzy communities in networks with structural similarity | |
CN109656979A (zh) | 数据统计分析方法、装置及存储介质 | |
CN104951752A (zh) | 一种从机载激光点云数据提取房屋的方法 | |
CN116993555A (zh) | 国土空间规划重点区域识别的分区方法、系统及存储介质 | |
CN104090940A (zh) | 一种时序网络与时序数据的多态聚类方法 | |
CN110825935A (zh) | 社区核心人物挖掘方法、系统、电子设备及可读存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |