添加链接
link管理
链接快照平台
  • 输入网页链接,自动生成快照
  • 标签化管理网页链接

社会网络分析:从图论到Python应用

zh-Hans

现实世界的网络

社会网络分析是运用网络和图论研究社会结构的过程。本文介绍了数据科学家的社会网络理论,并简要介绍了图论和信息传播。它深入Python代码与NetworkX构建和暗示社会网络从真实的数据集。

(本文是Pycon 2019演讲的书面版本。您可以 观看视频 下面和 检查github代码存储库

网络理论

我们将首先简要介绍网络的基本组成部分:节点和边缘。

节点数 (一种, ,示例中的C,D,E)通常代表网络中的实体,并且可以保存自身属性(例如重量,尺寸,位置和任何其他属性)和基于网络的属性(例如 -邻居数或 -节点所属的连接组件等)。

边缘 表示节点之间的连接,并且可能还具有属性(例如,表示连接强度的权重,在不对称关系的情况下的方向或时间(如果适用))。

这两个基本元素可以描述多种现象,例如 社会联系,虚拟路由网络,物理电力网络,道路网络,生物学关系网络 和许多其他关系。

现实世界的网络

现实世界的网络,尤其是社交网络具有独特的结构,通常与随机数学网络不同:

  • 小世界 现象描述了一个真实的网络,在任何连接的网络成员之间通常具有非常短的路径(就跳数而言)。这适用于真实和虚拟的社交网络(六次握手理论),也适用于物理网络,例如机场或网络流量路由的电力。
  • 无标度网络 幂律度分布的人口不对称,有几个高度连接的节点(例如社会影响力)和许多松散连接的节点。

集中措施

高度集中的节点在网络中起着关键作用,充当不同网络动态的集线器。但是,定义和重要性 中心性 可能因情况而异,并且可能涉及不同的集中度度量:

  • —节点的邻居数量
  • EigenVector / PageRank -邻居的主动圈
  • 亲密性 —与所有节点的紧密程度
  • 中间性 —通过节点的短路径数量

在不同的情况下,例如Web排名(页面排名),关键点检测(介于中间),交通枢纽(接近)和其他应用程序中,不同的措施可能会有用。

建立网络

只要我们能够描述节点之间的关系,就可以从各种数据集中构建网络。在以下示例中,我们将构建并可视化 欧洲电视网2018年投票网络(基于官方数据) 蟒蛇 网络 包。

读取数据 从Excel文件到 大熊猫 数据框以获取投票的表格表示形式。由于每一行代表每个国家的所有选票,因此我们将 熔化 数据集,以确保每一行代表一个投票( 边缘 )(两个国家/地区之间) 节点 )。

然后,我们将 建立有向图 使用 网络 从边缘列表中我们获得了熊猫数据框。最后,我们将尝试通用方法 形象化 ,如以下代码所示:

可视化

不幸的是,内置的draw方法会导致一个非常不可理解的图形。该方法试图绘制一个高度连通的图形,但没有有用的“提示”,无法从数据中获得很多意义。我们将利用我们对实体的先验知识,通过划分和征服情节的不同视觉方面来增强人物形象:

  • 职位- 每个国家都根据其地理位置进行分配
  • 风格 -每个国家/地区均以其国旗和国旗颜色识别
  • 尺寸 -节点和边的大小代表点的数量

最后,我们将 分部分绘制网络组件

新的数字更具可读性,为我们简要介绍了投票情况。作为一般说明,绘制网络通常很困难,并且需要在显示的数据量和传递的消息之间进行周密的折衷。(您可以尝试探索其他网络可视化工具,例如 杰斐 派维斯 要么 GraphChi )。

信息流

信息传播过程可能像疾病的病毒传播一样,跟随着从一个人跳到他的社交邻居的传染性动力学。通常使用两种流行的基本模型来描述该过程:

线性阈值 定义基于阈值的行为,其中影响是从节点的多个邻居累积的,只有当累积影响超过某个阈值时才激活。这种行为是电影推荐中的典型行为,在听到很多关于电影的推荐后,其中一位朋友的提示可能最终说服您去看电影。

在里面 独立的级联模型, 节点的每个活动邻居都有概率和独立的机会激活该节点。这类似于病毒传播,例如在Covid-19中,其中每个社交互动都可能触发感染。

信息流示例

为了说明信息传播过程,我们将使用 剑网风暴 ,根据《权力的游戏》显示人物。该网络是根据"冰与火之歌"中的共同出现而构建的。

依靠独立的级联模型,我们将尝试跟踪谣言传播的动态,这在该节目中很常见。

剧透警报! 假设 乔恩·雪诺 在这个过程的开始一无所知,而他的两个忠实朋友 布兰·史塔克 萨姆威尔·塔利 ,了解他的生活非常重要的秘密。让我们来看看谣言如何在 独立级联 模型:

谣言传到乔恩 t= 1 ,在以下时间范围内传播到他的邻居,并迅速在整个网络中传播,从而成为一种公共知识:

这种动力学高度依赖于模型参数,模型参数可以将扩散过程驱动为不同的模式。

影响力最大化

影响最大化问题 描述了一种营销(但不仅限于)设置,其中营销者的目标是选择网络中有限的一组节点( 播种 ),这样自然就会将影响分散到尽可能多的节点。例如,考虑邀请数量有限的有影响力的人参加著名的产品发布活动,以便将信息传播到他们的网络的其余部分。

可以使用多种技术来识别此类影响者,例如使用我们上面提到的集中度度量。这是最重要的节点 权力的游戏 网络,根据不同的措施:

正如我们所看到的,某些角色重新出现在不同措施的顶部,并且还因其在节目中的社会影响力而闻名。

通过模拟大多数中心节点的选择,我们观察到选择一个网络节点可以实现大约50%的网络覆盖率-这就是社会影响力可能如此重要。

另一方面 影响力最大化很难 。实际上,它被视为 NP-硬问题 。开发了许多启发式算法,以在有效的计算中找到最佳的种子集。尝试使用蛮力方法在我们的网络中找到最佳播种对,导致花费41分钟并达到了56%的覆盖率(通过选择 罗伯特·巴拉森 卡尔·德罗戈 )-使用集中式启发式方法很难实现的结果。

包起来

网络分析是针对各个领域的复杂而有用的工具,尤其是在快速增长的社交网络中。这种分析的应用包括 行销 一世 最大化影响,欺诈检测 要么 推荐系统 。可以将多种工具和技术应用于网络数据集,但需要根据问题和网络的独特属性进行明智选择。

有用的资源

代码和数据:

  • 权力游戏数据集 @jeffreylancaster
  • 网络教程 @MridulS
  • 标记图片 @林森
  • 欧洲电视网数据

文件:

  • 时间很重要:通过预定播种来影响社交网络中的最大化— D. Goldenberg等。
  • 积极的病毒营销:将持续的主动播种工作纳入扩散模型中-A. Sela等。
  • 通过社交网络最大化影响力的传播-E. Tardos等。
  • 社交网络中有效的影响力最大化— W. Chen等。
  • 独立的级联和线性阈值模型-P. Shakarian等。

让我们保持联系!

向我提出以下问题和想法 邮件 要么 领英

对我在Booking.com上的工作感兴趣吗? 查看 我们的 Booking.com数据科学 博客。