【工具】社会网络分析工具:D3、sigma、pajek、snap
2022-9-8 08:22:17 Author: 丁爸 情报分析师的工具箱(查看原文) 阅读量:14 收藏

什么是社会网络分析?

社会网络分析(Social Network Analysis(SNA))是对社会关系集合的系统研究,这些社会关系集合由相互隐含或明确联系的社会行为者组成。社会网络早在互联网之前就已存在,但Facebook、Linkedln、Twitter、微博、微信、QQ等社交网络服务支持创建大型、分布式实时社交网络,能够更即时和完整记录社会成员之间的联系。故社交网络数据也越来越多地被应用到各种社会网络分析中。因此,有的学者也有社交网络分析来代指社会网络分析。

社会网络分析的最早根源可以追溯到20世纪初的社会心理学,特别是雅各布-莫雷诺和海伦-詹宁斯在1930年代所说的社会测量学。学者界定了重点术语并建立必要的数学图论基础。Erdos和Renyi生成随机图的正式机制,使网络属性的统计测试可行Milgram提出六度分离理论。Mereno, Warner和Mayo应用正式的数学方法来描述,分析和可视化网络,包括“心理地理学”,“社会计量学”和“社会图”。

当代社会网络分析在20世纪70年代得到了巨大的创造性能量的迸发。创新者恢复了社会测量学的传统,并为其注入了新的数学和理论上的严谨性,创造和系统使用计算工具和方法,成为现代社会网络分析的基础。社会网络分析作为一种方法学方法,利用计算机的新能力以新颖的方式分析和可视化社会网络。

在20世纪80年代和90年代,这些技术在加州大学欧文分校得到了进一步的推动,研究人员对这些技术进行了完善、编纂,并将其公开。这一代网络分析师所开发的大部分技术都被收录在《社会网络分析》这一经典文本中。到1990年代中期,社会网络分在组织行为、社会心理学、通信网络、流行病学、犯罪网络等很多领域成为备受重视的方法。在同一时期,随着互联网使用的扩大,人们对网络有了明确的认识,计算机科学家和物理学家开始以新的热情从事网络分析。数十年来对连贯数学框架的研究,确定了研究人员现在使用的社会网络分工具和核心指标及技术。

之前给大家介绍过一些可用于社会网络分析的可视化工具,比如:【工具】开源且免费的可视化情报分析工具---Gephi【工具】免费在线可视化分析工具:Touch Graph【工具】可视化工具Cambridge Intelligence和Treparel【工具】开源情报调查分析工具——lampyre【工具】可视化数据分析工具-----Qlik【工具】免费的可视化数据分析工具----Tableau Public【工具】互联网可视化挖掘工具----Maltego(一)【工具】使用Excel插件 NodeXL 进行社交媒体网络分析等。

今天再给大家介绍四款可视化社会网络分析工具:

1、D3.js

官网地址:https://d3js.org/

D3.js是一个基于数据操作文档的 JavaScript 库。D3帮助您使用 HTML、SVG 和 CSS 将数据变为现实。D3允许您将任意数据绑定到文档对象模型 (DOM),然后将数据驱动的转换应用于文档。例如,您可以使用 D3 从数字数组生成 HTML 表格。或者,使用相同的数据创建具有平滑过渡和交互的交互式 SVG 条形图。
D3 提供了多种改变节点的方法:设置属性或样式;注册事件监听器;添加、删除或排序节点;并更改 HTML 或文本内容。这些足以满足绝大多数需求。直接访问底层 DOM 也是可能的,因为每个 D3 选择只是一个节点数组。

2、sigma.js
官网地址:https://www.sigmajs.org/
Sigma.js 是一个现代 JavaScript 库,,旨在可视化数千个节点和边的图形,用于在浏览器中呈现网络图并与之交互。它与多功能图形操作库 graphology共生。Sigma.js 使用 WebGL 呈现图形。它允许比使用基于 Canvas 或 SVG 的解决方案更快地绘制更大的图形。它还使自定义渲染方式更难开发。
3、pajek
官网地址:http://mrvar.fdv.uni-lj.si/pajek/

https://pajek.software.informer.com/

Pajek、PajekXXL 和 Pajek3XL 是用于分析和可视化超大型网络(包含多达 100 亿个顶点的网络,除了内存大小之外,对行数没有限制)的程序包。Pajek 自 1996 年以来一直可用。程序、文档和支持材料可以从其网页免费下载并用于非商业用途。

在 Pajek 分析和可视化中使用六种数据类型(对象)执行大型网络:网络(图);分区(顶点的名义或有序属性);向量(顶点的数值属性);簇(顶点的子集);排列(顶点的重新排序,序数属性);层次结构(顶点上的一般树结构)。Pajek 设计的主要目标是:通过将大型网络(递归)分解为几个较小的网络来支持抽象,这些网络可以使用更复杂的方法进一步处理;为用户提供一些强大的可视化工具;实施用于分析大型网络的有效(次二次)算法的选择。根据主要目标,Pajek 包含对其对象的几个基本操作。Pajek 不是“一键式程序”,有些用户称其为“网络计算器”。这意味着为了获得一些结果,必须按顺序执行几个基本操作。事实上,组合不同基本操作的可能性赋予了 Pajek 一种特殊的力量。除了标准 Pajek,还有特殊版本 PajekXXL 和 Pajek3XL。PajekXXL 和 Pajek3XL 是 Pajek 程序的特殊版本,它们的内存消耗要低得多。PajekXXL 有上限 20 亿个,Pajek3XL 有 100 亿个顶点。对于相同的稀疏网络,它们需要的物理内存至少比 Pajek 少 2-3 倍。因此,内存密集型操作要快得多。它们通常用于不适合可用计算机内存的大型网络。

4、SNAP
官网地址http://snap.stanford.edu/
斯坦福网络分析平台【S tanford N etwork A nalysis P latform ( SNAP )】 是一个通用的网络分析和图挖掘库。它是用 C++ 编写的,可以轻松扩展到具有数亿个节点和数十亿条边的大型网络。它有效地操作大型图,计算结构属性,生成规则和随机图,并支持节点和边上的属性。SNAP 也可通过 NodeXL获得,NodeXL是将网络分析集成到 Microsoft Office 和 Excel 中的图形前端。
Snap.py 是 SNAP 的 Python 接口。它提供了 SNAP 的性能优势,并结合了 Python 的灵活性。大多数 SNAP C++ 功能都可以通过 Python 中的 Snap.py 获得。

长按识别下面的二维码可加入星球
里面已有数千篇资料可供下载
越早加入越便宜
续费五折优惠


文章来源: http://mp.weixin.qq.com/s?__biz=MzI2MTE0NTE3Mw==&mid=2651131885&idx=1&sn=4ab48c7802de338f9905c5888328819e&chksm=f1af78d7c6d8f1c16dd1dcdd177e971e2b8c64f1eed149bc783f29a2eaecd2e106c51e1025b5#rd
如有侵权请联系:admin#unsafe.sh