Exploratory Social Network Analysis with Pajek(第三版)5-2

5.5 社区( Communities )

在第 5.4 节中,我们使用岛屿来识别密集连接的组。存在其他几种识别组的方法,让我们快速介绍另一组广泛使用的方法:社区检测方法。考虑边的值:社区内的边应该比社区之间的边具有更大的值。然而,社区检测也可以应用于没有边值。 Pajek 提供了两种社区检测方法:Louvain Method 和 VOS Clustering。 Louvain 方法搜索将顶点划分为具有最高模块化值的集群。模块化是比较边密度及其在集群内外的边值的流行度量。 VOS 聚类是一种类似的方法,它使用 VOS 质量函数而不是模块化。这两种衡量方式略有不同,但我们不会在此详述或提供公式。有关这两种方法的详细信息,请参阅进一步阅读。
一个更简单但流行的衡量集群如何将网络划分为有内聚性的子组的方法是 E-I 指数:外部-内部指数。 E–I 指数用簇之间的边数减去簇内的边数,再用差值除以总边数。E–I Index 的值范围为 –1 到 1。如果 E –I Index 为 –1,则所有边都在簇(Cluster)内,而值 1 表示所有边都在簇(Cluster)间。值 0 表示簇(Cluster)之间的边数(或边值之和)等于簇(Cluster)内的边数(或行值之和)。如果partition 将顶点很好地分类为内聚组,则边应位于簇(Cluster)内而不是簇(Cluster)之间,因此 E-I 指数应为负数,最好接近 –1。
应用
在Network> Create Network>Create Partition>Communities>LouvainMethod, VOS Clustering下可以使用应用程序搜索社区。对于两种方法(Louvain 和 VOS)中的每一种,都有两个子选项可用:多级粗化 + 单级细化和多级粗化 + 多级细化。第一个更快一点,而第二个给出更稳定的结果。详细信息可以在进一步阅读中找到。我们建议仅在网络非常大时才使用单次细化。在此示例中,我们选择多级细化。在我们选择了一种搜索社区的方法后,我们会看到一个输入框,其中包含几个可以更改的参数。只有当我们处理更大的网络时,它们中的大多数才需要更改。唯一始终重要的参数是分辨率参数。这个参数越大,我们找到的社区数量就越多,因此社区越小。默认情况下,分辨率参数设置为 1,这是一个不错的选择。
例如,让我们在苏格兰公司的单模网络中搜索社区。使用 Louvain 方法和分辨率参数设置为 1,我们获得了 24 个模块度为 0.59 的社区。通过应用 VOS 聚类,我们得到了 29 个 VOS 质量函数为 0.78 的社区。请注意,模块化和 VOS 质量函数值不能直接比较;我们不能说我们获得更高值的方法是更好的方法。如果你得到的模块化和/或 VOS 质量函数的值低于我们报告的值,请再次运行该过程,重新启动并提供参数,例如 100。两个社区检测过程都通过优化工作,因此通常多次重复需要得到一个稳定的解决方案。但在这个例子中,结果似乎相当稳定。
Partitions> Info> Cramer’s V, Rajski, Adjusted Rand Index
现在让我们比较一下 Louvain 和 VOS community partition 。 克莱姆相关系数表现出非常强的关联 (0.98),这表明两种社区检测方法产生非常相似的结果。然而,预期频率非常低,因此我们也应该检查其他指数。调整后的兰德指数 (0.59) 和三个 Rajski 系数(均远高于 0.70)也表现出强关联性。如果与我们之前检测到的岛屿与社区向比较,我们得到稍低但仍然相当高的克莱姆相关系数:在岛屿与Louvain 社区的比较中为 0.59,在岛屿与 VOS 聚类的比较中为 0.66。但在这种情况下,调整后的兰德指数值较低(分别为 0.02 和 0.01)。差异主要是由于几个顶点没有分配给岛屿(它们在岛屿partition 的集群 0 中),而顶点总是分配给一个社区。
如果我们想将岛屿与社区进行比较,我们最好排除不属于岛屿的公司。因此,让我们从使用 Louvain 方法和 VOS 聚类(参见第 5.4 节关于岛屿),从community partition 中提取 island partition 中具有非零值的顶点:选择一个community partition 作为第一个partition ,然后 island partition 作为第二个。然后使用 Partitions>Extract (Sub)Partition (Second from First) 并在要求提取集群时输入 1-∗。提取子partition 后,所有partition 的维度为 51,即 51 个顶点的簇(Cluster)。如果我们再次计算克莱姆相关系数和调整后的兰德指数,我们会在岛屿和社区之间得到更高的关联。我们可以得出结论,这三种方法给我们的结果非常相似。现在花点时间通过将分辨率参数设置为不同的值(高于和低于 1)来搜索社区,直到找到最适合您需求的社区。
Islands、Louvain community 和 VOS Clustering partitions 的 E-I Index 值是多少?让我们使用作为岛屿一部分的 51 个顶点的partition 。为了计算 E-I 指数,我们需要一个partition 和一个网络,所以我们必须首先创建一个包含 51 个顶点的网络来匹配这些partition 。选择苏格兰公司和岛屿partition 的单模网络(均具有 108 个顶点)。通过运行 Operations> Network + Partition> Extract> SubNetwork Induced by Union of Selected Clusters 并输入 1-∗ 来提取属于岛屿的子网络(岛屿partition 中的值大于零的顶点)。这将为我们提供与三个partition 兼容的具有 51 个顶点的网络。 E-I 指数在 Operations> Network + Partition > Info 子菜单中可用,您还可以在其中询问网络的模块化和 VOS 值。确保在 Network 下拉菜单中选择了具有 51 个顶点的网络,并且在第一个 Partitions 下拉菜单中选择了具有 51 个顶点的三个partition 之一,然后运行 ​​E-I Index。对“忘记行中的值?”的问题回答“否”。因为我们想在计算中包含边值。我们得到以下 E-I 指数:岛屿partition 为 –0.55,Louvain community为 –0.57,VOS 聚类为 –0.30。所有三个指数都远低于 0,但这些值表明Louvain community(和岛屿)在本例中比 VOS 聚类更能识别有内聚性的簇(Cluster)。但在其他例子中并不都是这样。在 Pajek 网页上,您可以找到几个示例以及通过 Louvain 方法和 VOS 聚类获得的结果的比较。可以逐步细化社区。使用默认分辨率参数 (1) 分别社区。然后将每个获得的社区提取为一个单独的网络。这可以通过一个命令Operations> Network + Partition > Extract> SubNetworks Induced by Each Selected Cluster 。对于要细化的每个社区,即拆分为更小的社区,您可以将社区检测再次应用于该社区的提取网络。现在使用相同或更大的分辨率值。您将在第 13 章学习如何非常有效地运行此类重复操作(使用宏> 重复上一个命令)。

5.6 第三维

我们能否将网络建模为一个点的高程与其岛的值相匹配的景观?原则上,这是可以做到的,但它涉及到 Pajek 中没有的地理技术。然而,我们可以以不同的方式应用向平面中的点添加高度的原理。
在前面的章节中,我们提到了在三个维度上绘制网络的可能性,但我们将自己限制在两个维度上。第三个维度称为 z 轴,它从绘图屏幕的平面指向计算机显示器前的人。如果我们使用顶点的岛高度作为它们在 z 轴上的值,则最高的岛在平面外达到峰值。如果计算机屏幕是灵活的,苏格兰公司网络中岛屿的 3D 绘图将把它的表面变成景观,我们将能够用指尖感受岛屿。
事实上,我们必须对一种微弱的深度感觉感到满意,这是由二维绘图中顶点的大小和顶点标签的暗度引起的。近的顶点被绘制得更大,而远处的顶点标签是灰色而不是黑色。当我们旋转网络时,我们可以更好地看到岛屿的景观(图 55),这显然是由高度为 8 的岛屿的深灰色峰控制的。
在这里插入图片描述

第三维提供了另一个可视化社交网络的机会。我们可以在三维上对网络进行弹力布局,而不是使用一组预定的值作为 z 值(高度)(例如,岛屿的高度),允许弹力算法在三维空间中定位顶点以优化边的长度。有时,第三维有助于检测模式;例如,苏格兰公司网络的三维模型比二维绘图更能区分不同的岛屿,但结果经常令人失望,图形设备比处理三维模型更擅长处理二维。
应用
首先,让我们看一下 Pajek 的坐标系(图 56)。
在这里插入图片描述

想象一下,浅灰色矩形是绘图屏幕。正如我们之前看到的,x 值定义顶点的水平位置(从左到右), y 值指定垂直位置(从上到下)。顶点的 z 值定义从绘图屏幕的背景突出的数量。箭头表示围绕轴的正旋转方向。
Pajek 只能使用partition 将顶点提升到 Vector 的平面之外。所以我们需要先从岛高度向量创建一个partition 。在我们的例子中,高度是行重数(共享董事会成员的数量),它们是整数,所以我们可以简单地去掉所有小数以获得partition 所需的整数 [命令 Vector> Make Partition> by Truncating (Abs)] .现在使用岛高度partition (Draw> Network + First Partition)绘制公司的单模网络,您会注意到 Draw 屏幕包含一个 Layers 菜单。从布局类型子菜单中选择选项 3D。图层菜单现在显示一个命令,该命令显示 z 方向的图层。在执行 In z Direction 命令时,似乎什么也没发生;但如果你仔细观察,你会发现有些顶点比其他顶点画得大,有些顶点标签是灰色而不是黑色。您正在从上面看山峰,这并没有给人太多的解脱感。
当您旋转结构时,山峰和低地变得更加明显。切换选项菜单中的Options> ScrollBar On/Off 以在绘图屏幕的左上方添加两个滚动条。按下垂直滚动条上的按钮以围绕 x 轴旋转网络,这将提高或降低峰值,并使用水平滚动条上的按钮围绕 y 轴旋转网络。继续,直到您对自己的视图感到满意为止。现在您可以看到多重性为 8 的岛高出网络的其余部分。如果绘图屏幕处于活动状态,您可以使用键盘上的 x、y 和 z 键分别围绕 x、y 和 z 轴旋转网络。使用大写字母 X、Y 和 Z 以相反方向旋转。
您还可以使用旋转菜单(Spin)将三维结构旋转到您希望的任何方向,但这稍微复杂一些,因为您必须选择旋转轴(命令法边)和旋转角度,您必须在其中输入Spin around 命令显示的对话框。当您要求旋转超过 360 度时(或者如果 Draw 屏幕处于活动状态,则只需按 s 或 S),您将看到网络在您眼前旋转。如果旋转太快,请降低步长(以度为单位)设置。这使您可以从各个角度检查网络。
正如本节开头所指出的,Pajek 不能将岛屿描绘为景观(图 57)或具有等高边的地图。
在这里插入图片描述

自由软件 R 可以做到这一点。如果您已经下载 (http://www.r-project.org/) 并在您的计算机上安装了 R,那么将数据从 Pajek 传输到 R 很容易。首先,您必须告诉 Pajek 在您的计算机上哪里可以找到 R。单击 Tools> R> Locate R 命令并找到文件 rgui.exe 或 rterm.exe,它们位于安装 R 的文件夹的 bin 子目录中。现在 Pajek 就准备好向R传输数据了。
生成如图57所示的景观所需的条件是绘图屏幕中顶点的 x 和 y 坐标以及岛高度向量。您已经有了高度向量,您可以使用 Network> Create Vector> Get Coordinate> x, y 子菜单中的命令生成带有坐标的向量。完成此操作后,使用命令Tools> R> Send to R> All Vectors将所有向量发送到 R。如果 R 已正确安装并为 Pajek 所知,R 软件应启动并将向量自动读入 R。
用R打开脚本文件 Plot_landscape.R (可从本书的网站http://mrvar.fdv.uni-lj.si/pajek下载)。在显示在单独窗口中的脚本文件中,确保在以 # USER 开头的行下方:x、y 和岛高度向量由您的向量名称(v2、v3 等)正确标识。另外,必须下载并安装**{akima}包**,在脚本文件中有说明。最后,使用 R 中的 Edit>Run all 命令来执行脚本。这将产生类似于图 57 的景观和将岛屿描绘为具有等高边的地理地图的绘图。
如果您对 Excel 比对 R 更熟悉,您也可以在 Excel 中进行类似的可视化。只需将一个或多个 Pajek 对象(例如,向量)发送到 Excel(Tools> Excel> Send to Excel),在 Excel 中执行一些进一步的计算,然后绘制不同的图表或图表。如果您喜欢其他一些统计软件,您还可以将 Pajek 对象保存到制表符分隔文件中(Tools> Export to Delimited File)。大多数用于进行统计分析和可视化的程序都可以选择加载存储在制表符分隔文件中的数据。
三维优化是通过 Layout> Energy> Fruchterman–Reingold 子菜单中的 3D 命令完成的。为获得更好的视图,请使用滚动条或 Spin 命令旋转网络。如果在特殊的 3D 软件中查看模型,则深度感会更大。为此,Pajek 可以将网络导出到 X3D 模型:只需在 Export> 3D 菜单中选择 X3D 命令。一个对话框询问将包含模型的文件的名称。默认情况下,此文件的扩展名为 .x3d。 X3D 查看器会识别此扩展,因此不要更改它。 X3D 文件可以在 Instantplayer (http://www.instantreality.org/) 甚至一些 Internet 浏览器等特殊程序中显示和操作(详见附录 2)。您可以在结构中旋转和移动,就好像它是视频游戏的一部分,但您需要一台快速的计算机和图形卡才能顺利运行。文件island.x3d(也可从本书的网站获得)由Pajek 使用Export> 3D> X3D 命令创建,其中包含一个苏格兰公司网络模型,其中顶点颜色表示岛屿。

5.7 小结

从属网络通常是双模网络,其中人员与组织相关联。这些网络的结构可以用标准的网络技术进行分析,但是当应用于双模网络时,必须重新定义几个结构概念或进行不同的解释。因此,网络分析师通常关注可以从两种模式的从属关系网络中导出的单模式的个人或组织网络。
导出的单模网络往往是相当密集的,因为隶属于一个组织的所有人员在单模人员网络中是相互关联的,并且共享一个特定人员的所有组织在单模组织网络中是完全连接的。研究人员将重叠团、岛屿和社区的技术应用于源自从属关系的单一模式网络。重叠的团确定了网络中相对密集的部分,而岛屿和社区则确定了通过多重边相关的个人或组织的集群(例如,公司共享兼职董事)。
最后,本章介绍了三维显示。我们可以使用第三个维度按层表示预定值(例如,岛屿的高度),将社会图变成景观,或者我们可以使用所有三个维度来布局网络。我们遇到了更多三维的应用,但应该注意的是,二维社会图通常更容易解释。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值