Gephi社会网络分析-网络图的布局

2022-9-13 11:15| 发布者: Fuller| 查看: 4818| 评论: 0

摘要: 今天学习和实验的布局相关的内容。使用了自动生成的随机数据构造了网络。我们接下来会出几篇利用实际的社交网络上的内容作为实验样本,展示怎样和网络爬虫工具和中文分词工具配合在一起,用Gephi来可视化展示和分析 ...

今天的文章,将在上一篇《Gephi社会网络分析-网络图的外观设置》的基础上,继续进行Gephi网络图设置和美化方面的学习和实践,本篇的主题是Gephi网络图的布局。

1 为什么网络图需要布局

网络图是一个复杂的结构,如果网络图中的节点表示坐标平面上的点,那么,就没有特别的布局的必要,只需要在坐标平面上的确定位置画上点,然后连线。但是,如果我们只知道点与点之间的距离,比如,社交关系网中两个人之间的社交距离,或者GooSeeker分词和情感分析软件得到的网络媒体上的文字之间的共线关系,那么,在一张图上,每个点没有确定的位置,只有相互关系,这样就需要一个算法把所有点分布安排好,这就是布局算法要做的事情。

Gephi布局(Layout)是根据某种策略对节点和边进行排布,使图形既具有特定需要的合理性,也易于视觉识别。本章介绍布局的操作界面,默认布局的运行方式,以及对几种力引导布局的比较。

布局是网络可视化中一个重要的概念,是指将点和边通过某种策略进行排布。为保持美观,一般认为布局应该尽可能满足以下4个原则。

  • 使节点均匀分布在有限的区域内。
  • 避免边的交叉和弯曲。
  • 保持边的长度一致。
  • 使整体布局能反映图内在的特性。

2 实验数据获取

本篇我们依然使用Gephi自带的生成随机网络图的功能,对Gephi自动生成的随机网络图进行布局相关的设置和讲解。本系列学习文章参考了Gephi官网的资料。

后续将使用网络爬虫软件从实际的社交媒体网站上采集数据,并进行统计分析处理以后再导入Gephi做分析。那时候,数据来源是社交媒体比如微博,知乎等的有关数据及评论。这些社交网络内容先利用GooSeeker分词和情感分析软件进行自然语言处理,然后导出成excel格式的结果,比如,导出的共词矩阵,就可以作为邻接矩阵直接导入到Gephi。还可以参照我们此前发布的一系列Jupyter Notebook,利用GooSeeker分词和情感分析软件导出的特征词匹配矩阵,计算协方差或者皮尔森相关系数,相当于采用另一种度量,然后再利用Gephi做网络分析。

3 布局的说明和基本操作界面

3.1 布局的分类和功能

布局大致可以分为两类:一类是力引导布局;另一类是辅助性的、带有编辑和调整性质的布局。

力引导布局采用力引导布局算法,能够模仿物理世界中的引力和斥力。力引导布局算法建立在粒子物理理论的基础上,将图中的节点模拟成原子,通过模拟原子间的力场来计算节点间的位置关系。

力引导布局算法会考虑原子间引力和斥力的互相作用,计算得到节点的速度和加速度。依照类似原子或者行星的运动规律,系统最终进入一种动态平衡状态。力引导布局算法会自动重复计算每个节点在图中的合理位置,直到重复次数超过某个预先定义的数值,或整个网络的力趋于平衡。

稳定下来的图不仅可以充分展示网络的整体结构,丰富的网络往往也具有优美的效果。力引导布局算法是图布局算法中一种非常主要的算法,也是Gephi的主要布局。力引导布局有6种,即Force Atlas、Force Atlas 2、Fruchterman Reingold、OpenOrd、Yifan Hu、Yifan Hu比例。

辅助布局没有力引导布局的智能特性。辅助布局是根据某种预先定义的规则对图进行布局,例如Noverlap的作用是使节点之间没有重叠。辅助布局有6种,即Noverlap、Rotate、扩展、收缩、标签调整、随机布局。

3.2 布局的操作界面

在布局的界面中,单击“选择一个布局”下拉菜单,会列出几种不同的布局,如下图所示:

选择其中一个布局,就会显示该布局的相关参数,可以根据需要设置这些参数,如下图所示:

单击“运行”按钮,选择的布局就会生效,运行布局后,就可以把一个没有规则的图形,按照一定的规则显示出来,效果如下图所示:

3.3 Gephi预设的几种力引导布局

Force Atlas布局

Force Atlas布局使图更紧凑、可读性强,Force Atlas布局部分参数的作用如下:

  • 惯性:值愈大,图的摇摆幅度越大。
  • 斥力强度:每个节点排斥其他节点的强度,值越大,节点的距离越大。
  • 吸引强度:连接节点之间的吸引力的强度,值越大,有连接的节点越被拉近。
  • 重力:值越小,图越分散;值越大,图越压缩。
  • 速度:布局运动的速度,值越大,图的布局速度越快。

Force Atlas 2布局

Force Atlas 2是改进的Force Atlas算法,速度更快。Force Atlas 2布局部分参数的作用如下。

  • 缩放:节点的斥力强度,值越大,斥力越大,图越稀疏。
  • 更强的重力:一个已经定义好的较强的重力。
  • 重力:自定义的重力值,可以比“更强的重力”更强。
  • 劝阻Hubs:只有输入的边会被推到边缘。
  • LinLog模式:线性和对数模式的切换。
  • 防止重叠:可以把重叠的节点展开。
  • 容差(速度):布局速度的选取,较小的数值速度较慢,但精度更高。

Fruchterman Reingold布局

Fruchterman Reingold布局简称FR布局,FR布局基于再次改进的弹性模型,该布局算法遵循两个简单的原则,即有连接的节点互相靠近和无连接的节点互相排斥。

Fruchterman Reingold布局部分参数的作用如下:

  • 区:定义图形的幅度,值越大图越大,也越稀疏。
  • 重力:定义重力值,值越大重力越强,节点越被中心吸引。
  • 速度:定义布局的速度,值越大布局速度越快,但也越不精确。

OpenOrd布局

OpenOrd布局是一种新的力引导布局,支持多核、并行。OpenOrd布局的Stages(阶段)分为Liquid(液体)、Expansion(扩张)、Cooldown(冷却)、Crunch(紧缩)和Simmer(煨)5个过程,适合处理节点较多的图;而对于节点较少的图形,运行起来效果并不是很好。

Yifan Hu布局

Yifan Hu布局也是力引导布局的改进版,由胡一凡在2005年提出,在多层级力引导算法中引入了超节点的概念。在这个布局算法中,将一个节点与它远处一簇节点之间的斥力当作此节点与一个超节点间的斥力来计算,从而大大减少了计算量,使得总计算复杂度下降。该布局可以处理几十万个节点规模的图。

Yifan Hu布局部分参数的作用如下。

  • 最佳距离:值越大,整个图的尺寸越大。
  • 相对强度:值越大,节点越稀疏;值越小,节点越紧密。

Yifan Hu比例布局

Yifan Hu比例布局的参数与Yifan Hu布局的参数相同,实际上这两个布局所起到的作用是相同的,扩展/收缩布局的参数只有比例因子,比例因子的设置方法如下。

  • 如果比例因子为1,那么图不会放大也不会缩小。
  • 如果比例因子大于1,那么图会放大,且值越大,放大的比例越大。
  • 如果比例因子小于1,那么图会缩小,且值越小,缩小的比例越大。
  • 如果比例因子为负数,那么在放大或缩小的同时,也会从上下、左右两个方面颠倒图形。

4 布局的实验

Gephi预设的这几种布局,在选取并运行后,需要做一些运算,具体时间和所用电脑的配置有关。这里我们针对Fruchterman Reingold布局做一下实验,其它几种有兴趣的朋友可以自行实践。

4.1 生成随机网络图

4.2 根据“度”调整网络图节点颜色

4.3 根据“度”调整网络图节点大小

4.4 运行Fruchterman Reingold布局

5 总结

以上就是今天学习和实验的布局相关的内容。使用了自动生成的随机数据构造了网络。

我们接下来会出几篇利用实际的社交网络上的内容作为实验样本,展示怎样和网络爬虫工具和中文分词工具配合在一起,用Gephi来可视化展示和分析网络结构的数据,在这期间,甚至需要在Jupyter Notebook上利用Python的networkx网络计算工具对网络数据先进行图算法相关的计算,得到的结果再用Gephi做分析。


鲜花

握手

雷人

路过

鸡蛋

最新评论

GMT+8, 2024-4-20 17:23