Loading [MathJax]/jax/output/CommonHTML/config.js
前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >R语言︱SNA-社会关系网络—igraph包(中心度、中心势)(二)

R语言︱SNA-社会关系网络—igraph包(中心度、中心势)(二)

作者头像
悟乙己
发布于 2019-05-27 11:21:02
发布于 2019-05-27 11:21:02
8.2K01
代码可运行
举报
文章被收录于专栏:素质云笔记素质云笔记
运行总次数:1
代码可运行

SNA社会关系网络分析中,关键的就是通过一些指标的衡量来评价网络结构稳定性、集中趋势等。主要有中心度以及中心势两大类指标。

以下的代码都是igraph包中的。

———————————————————————————————————————————————————

中心度指标的对比

指标名称

概念

比较

实际应用

点度中心度

在某个点上,有多少条线

强调某点单独的价值

★作为基本点的描述

接近中心度

该点与网络中其他点距离之和的倒数,越大说明越在中心,越能够很快到达其他点

强调点在网络的价值,越大,越在中心

★★基本描述,用户价值

中间中心度

代表最短距离是否都经过该点,如果都经过说明这个点很重要,其中包括线的中心度

强调点在其他点之间调节能力,控制能力指数,中介调节效应

★★推荐算法,用户的控制力

特征向量中心度

根据相邻点的重要性来衡量该点的价值。首先计算邻接矩阵,然后计算邻接矩阵的特征向量。

强调点在网络的价值,并且比接近中心度厉害的是,点价值是根据近邻点来决定的

★★★推荐算法,用户潜在价值

———————————————————————————————————————————————————

一、中心度

中心度指标有四类点度中心度、接近中心度、中间中心度、特征向量中心度。

1、点度中心度——点出度、点入度、相对点中心度、点度频率

有两个部分:绝对中心度+相对中心度。是最基本的概念,就是在某个点上,有多少条线。比如以下这个数列,“小明”这个点,有三个度(小明-小红,小白-小明,小明-小胖)。

绝对中心度中,在有向图中还有点出度、点入度之分。比如“小明”这个点,有两个点出度(小明-小红,小明-小胖);一个点入度(小白-小明)。

相对点中心度中,相对点中心度=绝对点中心度/最大度数(可以作为不同网络结构的比较,相对数与绝对数的区别),此时小明的相对点中心度就是3/3=1。

id1 di2 小明 小红 小张 小白 小红 小胖 小胖 小蓝 小白 小明 小白 小张 小明 小胖

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
degree(g,mode="in")      #mode=in点入度;out=点出度;total点度中心度,三者统称绝对点中心度
degree(g,normalized = T) #相对点中心度=绝对点中心度/最大度数(可以作为不同网络结构的比较,相对数与绝对数的区别)

代码解读:Mode是点入度、点出度的区别;normallized=T是计算相对点中心度。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
degree.distribution(g)  

点度频率每种点度数的个数/所有点个数(比如(1,2,4,4)点度数分别为1,1,0,2,密度是1/4,1/4,0/4,2/4)。

点度频率跟相对点中心度有一定的相似性,相对来说,点度频率、相对数比绝对数更好,因为相对数可以跨越不同网络进行比较。实战中,点度频率以及相对数中心度比较有用。

2、接近中心度——点出度、点入度、相对接近中心度

该点与网络中其他点距离之和的倒数,越大说明越在中心,越能够很快到达其他点。与点度中心度不同的是,点度更强调某点的相对价值;而接近中心度是某点在网络的价值。

在g的1-2 2-1 3-4中,点2的接近中心度为1/(1+4+4)(1为2与1的距离,4为2到3的距离,因为没有指向3的,所以用网络点的总数量)

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
closeness(g,vids=which(V(g)$label=="c"))  #某点四周的接近中心度,mode="out"是有向图,默认是无向图为in
   #设置normalized = T为相对接近中心度

与点度中心度一样,有出度、入度还有相对中心度之分。

3、中间中心度——点的中心度以及线的中心度

中心度可以说明,哪些点、线中介效应最强。

(1)点的中心度——betweenness

点的中心度,代表最短距离是否都经过该点,如果都经过说明这个点很重要。也是强调点与网络的价值,而且更能说明转发、中介的情况。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
betweenness(g,normalized = T)
   #normalized = T代表相对数,默认值为F为绝对值
   #mode有Out和in分别代表有向和无向

点的中心度也有点出、点入以及相对数情况。

这里可以看到某点的中间中心度,某点betweenness(g,V(g)$label=="c") 同时igraph包在操作过程中,会返回所有点的中心度,比如(1,2,4,5)则会返回5个数字,没有的3也会有位置。

(2)线的中间中心度——edge.betweenness

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
edge.betweenness(g)
   #normalized = T代表相对数,默认值为F为绝对值
   #mode有Out和in分别代表有向和无向

如果你要返回某条线的中间中心度,edge.betweenness(g,e=E(g,path=c(which(V(g)$label=="a"),which(V(g)$label=="c")))),e就代表起点,终点的线。

4、点的特征向量中心度——evcent

如果某人四周都是大牛人,那么这个人也很牛逼,这个方法是根据相邻点的重要性来衡量该点的价值。首先计算邻接矩阵,然后计算邻接矩阵的特征向量。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
evcent(g,scale = F)$vector  #系统不论是否重要,都会计算所有点四周的相邻矩阵,根据矩阵求得点的特征向量,耗时巨大
   #scale=F没有归一化,T代表输出数据进行标准化
   #mode有Out和in分别代表有向和无向

该函数会计算所有点的相邻矩阵,所以耗时巨大。算法原理中的,如果计算邻接矩阵,每个邻接点的权重笔者还不是很能看懂。。。

同时,scale=T,可以将输出的数据归一化。

另外一个机遇特征向量中心度的指标是:page.rank特征向量中心度。这个是谷歌开发的,对于一些搜索的竞价排名做的指标。原理跟特征向量中心度差不多:

计算邻接矩阵——按行标准化——计算矩阵的特征向量。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
page.rank(g,scale=F)$vector
   #scale=F没有归一化,T代表输出数据进行标准化
   #mode有Out和in分别代表有向和无向

——————————————————————————————————————————————————

二、中心势

中心度都是在说点-点,点-网络。如果单论网络的话,有哪些指标呢? 用中心势来表示。前叙述的三个中心度指标都可以分别打造一款中心势。

中心势的原理就是比较一个网络的边缘点以及中心点的中心度的情况,

如果一个网络很集中,那么势必是中心点,中心度高;而边缘点中心度低。

如果一个网络很稀疏,那么中心点、边缘点的中心度没有多少差异。

这边笔者么有看到太多的关于中心势的指标,在这从网络中找到了这两个:网络聚类系数、网络密度。

1、网络聚类系数——transitivity

按照图形理论,聚集系数是表示一个图形中节点聚集程度的系数,一个网络一个值。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
transitivity(g)

可以衡量网络中关联性如何,值越大代表交互关系越大。说明网络越复杂,越能放在一块儿,聚类。 比如c(1,2,2,3,3,1)=1;c(1,2,2,3,3,1,1,4,4,3)=0.75,他是衡量是否有loop,能否找到循环到自己的线,三元组。

2、网络密度——graph.density

跟网路聚类系数差不多,也是用来形容网络的结构复杂程度。越大,说明网络越复杂,说明网络越能够放在一块。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
graph.density(g.zn)
graph.density(group1)
graph.density(group2)
#从中可以看到不同社群与整体之间的网络密度情况(关联程度)

以上两个汉字表,都是比较好的用来描述社群划分是否合理的指标,社群之中的密度越大,三元组聚类系数越多,越好。

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2016年05月18日,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
SNA中:中心度及中心势诠释(不完整代码)
 SNA社会关系网络分析中,关键的就是通过一些指标的衡量来评价网络结构稳定性、集中趋势等。主要有中心度以及中心势两大类指标。 以下的代码都是igraph包中的。 ———————————————————————————————————————————————— 中心度指标的对比 指标名称 概念 比较 实际应用点度中心度 在某个点上,有多少条线 强调某点单独的价值 ★作为基本点的描述接近中心度 该点与网络中其他点距离之和的倒数,越大说明越在中心,越能够很快到达其他点 强调点在网络的价值,越大,越在中心 ★★
学到老
2018/03/16
2.5K0
文本挖掘:社交网络、社群划分
作者:Matt 自然语言处理实习生 http://blog.csdn.net/sinat_26917383/article/details/51444536 一、关系网络数据类型 关系网络需要什么样子的数据呢? 笔者接触到了两种数据结构,擅自命名:平行关系型、文本型。根据数据关联,也有无向数据、有向数据。 并且关系网络生成之后,R里面就不是用真实的名字来做连接,是采用编号的。例如(小明-小红)是好朋友,在R里面就显示为(1-2),所以需要单独把名字属性加到序号上。 1、平行关系型 (1)无
机器学习AI算法工程
2018/03/13
2K0
文本挖掘:社交网络、社群划分
R语言︱SNA-社会关系网络—igraph包(社群划分、画图)(三)
社群划分跟聚类差不多,参照《R语言与网站分析》第九章,社群结构特点:社群内边密度要高于社群间边密度,社群内部连接相对紧密,各个社群之间连接相对稀疏。
悟乙己
2019/05/27
3.3K0
R语言︱SNA-社会关系网络 R语言实现专题(基础篇)(一)
版权声明:博主原创文章,微信公众号:素质云笔记,转载请注明来源“素质云博客”,谢谢合作!! https://blog.csdn.net/sinat_26917383/article/details/51436643
悟乙己
2019/05/26
1.8K0
相关性网络节点度分析
承接前一篇文章,接下来我们利用复杂网络理论对相关网络数据进行深入的分析。在网络分析中的节点度(node degree)是指和该节点关联的边的条数,或者说连接的个数,又称关联度;显然网络节点越多,节点度越大,为了去除网络规模的影响,使得不同网络可以相互比较,可以使用度中心性(degree centrality)概念。度中心性是在网络分析中刻画节点中心性的最直接度量指标,其值为该节点节点度除以该节点最大可能节点度,也即该节点实际连接数占与其他节点可能连接总数目的比例,如下所示:
SYSU星空
2022/05/05
2.5K0
相关性网络节点度分析
基于Python的社交网络分析与实践
社交网络分析(Social Network Analysis,简写为SNA),又称为社会网络分析,是指基于信息学、数学、社会学、管理学、心理学等多学科的融合理论和方法,为理解人类各种社交关系的形成、行为特点分析以及信息传播的规律提供的一种可计算的分析方法。社交网络是由多个节点及其关系所组成的集合,节点通常代表个人或组织,节点之间的边则代表他们的联系或交互。社交网络分析涉及的理论很广泛,有网络科学、复杂网络分析、图神经网络等。
Coder-ZZ
2024/07/25
8010
基于Python的社交网络分析与实践
小世界网络
在网络理论 的研究中,复杂网络是由数量巨大的节点 和节点之间错综复杂的关系共同构成的网络 结构。用数学的语言来说,就是一个有着足够复杂的拓扑 结构特征的图 。复杂网络具有简单网络,如晶格网络 、随机图 等结构所不具备的特性,而这些特性往往出现在真实世界的网络结构中。复杂网络的研究是现今科学研究中的一个热点,与现实中各类高复杂性系统,如的互联网 、神经网络 和社会网络 的研究有密切关系。
Defu Li
2019/03/12
3.7K0
小世界网络
R语言复杂网络分析:聚类(社区检测)和可视化
原文链接:http://tecdat.cn/?p=18770 为了用R来处理网络数据,我们使用婚礼数据集。 > nflo=network(flo,directed=FALSE)> plot(nf
拓端
2020/12/30
1.4K0
R语言复杂网络分析:聚类(社区检测)和可视化
R语言学习笔记-Day10
R^2越大,越接近无标度网络,选择使R^2第一次到达0.8/0.85/0.9的β值
用户11190095
2024/07/17
1260
图神经网络06-基于Graph的传统机器学习方法
能使得一个特征方程有非零解存在。然而,考虑到特征向量中的所有项均为非负值,根据佩伦-弗罗贝尼乌斯定理,只有特征值最大时才能测量出想要的中心性。然后通过计算网络中的节点
致Great
2021/04/02
8160
【图神经网络】数学基础篇
能够将数据转换到欧几里德空间的便是欧几里德结构化数据,如时间序列数据,图像数据,上图则是图像数据的一个例子
阿泽 Crz
2021/03/10
1.6K0
【图神经网络】数学基础篇
理解谱聚类
聚类是典型的无监督学习问题,其目标是将样本集划分成多个类,保证同一类的样本之间尽量相似,不同类的样本之间尽量不同,这些类称为簇(cluster)。与有监督的分类算法不同,聚类算法没有训练过程,直接完成对一组样本的划分。
SIGAI学习与实践平台
2019/03/08
1.5K0
视频】复杂网络分析CNA简介与R语言对婚礼数据聚类社区检测和可视化|数据分享|附代码数据
CNA 研究和应用爆炸式增长的突出原因是两个因素 - 一个是廉价而强大的计算机的可用性,使在数学、物理和社会科学方面接受过高级培训的研究人员和科学家能够进行一流的研究;另一个因素是是人类社会、行为、生物、金融和技术方面不断增加的复杂性。
拓端
2023/05/16
2850
【视频】复杂网络分析CNA简介与R语言对婚礼数据聚类社区检测和可视化|数据分享|附代码数据
CNA 研究和应用爆炸式增长的突出原因是两个因素 - 一个是廉价而强大的计算机的可用性,使在数学、物理和社会科学方面接受过高级培训的研究人员和科学家能够进行一流的研究;另一个因素是是人类社会、行为、生物、金融和技术方面不断增加的复杂性。
拓端
2023/05/18
3650
【生物信息学】计算图网络中节点的中心性指标:聚集系数、介数中心性、度中心性
本实验实现了计算图网络中节点的中心性指标,包括聚集系数、介数中心性、度中心性等
Qomolangma
2024/07/30
2940
【生物信息学】计算图网络中节点的中心性指标:聚集系数、介数中心性、度中心性
轻知识库︱apple.Turicreate关系网络分析以及社群发现
号外,最近公众号刚刚接入聊天机器人,由于没有充值每天只能对话1000句...目前可以讲段子、查天气、故事大全、测星座、斗图、菜谱、列车查询、附近饭店等功能。 SNA笔者是在R语言之前有学过一阵子。来稍微回顾一下关系网络点入度、点出度的大致结构。 . 1.点度中心度——triple_apply() triple_apply是可以输入三个图元素并进行计算的函数,比较灵活。 从结果看到,deree就是每个顶点的总点度 . 2.点入度、点出度 degree_counting启动计算图计数函数,in_degr
企鹅号小编
2018/01/26
6980
从图嵌入算法到图神经网络
近几年来,伴随着计算机算力的急剧提升,神经网络从历史的尘埃中走出,横扫各大领域,完成一次次颠覆性的创新。依托高度弹性的参数结构,线性与非线性的矩阵变换,神经网络能适用于各式各样的数学场景,在各个类别的应用上我们都能看到神经网络的影子。其中著名的应用方向,包括自然语言处理、计算机视觉、机器学习、生物医疗、推荐系统、自动驾驶等等。图神经网络,广泛应用于社交关系、知识图谱、推荐系统、蛋白质分子建模,同样源自于对传统领域的创新,它的前身是图嵌入算法;而图嵌入算法又以图数据作为载体。这一关系,将贯穿本文始末,成为我们的展开线索。
张小磊
2020/04/21
1.9K0
从图嵌入算法到图神经网络
社会网络分析相关概念概述
互惠性指的是网络中成员之间的关系是否具有相互性,也就是说任何一对成员之间是否相互“选择”,是否为邻接点。
用户8870853
2021/07/27
1.5K0
​cytoscape的十大插件之五--Centiscape(计算多个中心值)
五一劳动节,连续五天,在钉钉群直播互动授课带领大家系统性掌握cytoscape软件的使用方法和技巧,课程已经结束啦。文末有录播回放学习方式,以及配套授课资料!
生信技能树
2021/05/27
7.9K0
​cytoscape的十大插件之五--Centiscape(计算多个中心值)
从原始芯片.cel数据到权重基因共表达网络(WGCNA)详细流程
看这个之前,可以先看WGCNA的一些理论背景知识 看完整个之后可以去看WGCNA关键模块和hub基因筛选
Y大宽
2018/10/11
3.4K1
从原始芯片.cel数据到权重基因共表达网络(WGCNA)详细流程
推荐阅读
相关推荐
SNA中:中心度及中心势诠释(不完整代码)
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
本文部分代码块支持一键运行,欢迎体验
本文部分代码块支持一键运行,欢迎体验