SNA中:中心度及中心势诠释(不完整代码)

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

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

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

中心度指标的对比

指标名称

概念

比较

实际应用

点度中心度

在某个点上,有多少条线

强调某点单独的价值

★作为基本点的描述

接近中心度

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

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

★★基本描述,用户价值

中间中心度

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

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

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

特征向量中心度

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

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

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

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

一、中心度

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

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

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

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

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

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

  1. degree(g,mode="in") #mode=in点入度;out=点出度;total点度中心度,三者统称绝对点中心度
  2. degree(g,normalized = T) #相对点中心度=绝对点中心度/最大度数(可以作为不同网络结构的比较,相对数与绝对数的区别)
de_snippet_id="1687869"  snippet_file_name="blog_20160518_1_7883287"    >degree(g,mode="in")      #mode=in点入度;out=点出度;total点度中心度,三者统称绝对点中心度
degree(g,normalized = T) #相对点中心度=绝对点中心度/最大度数(可以作为不同网络结构的比较,相对数与绝对数的区别)

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

  1. degree.distribution(g)
de_snippet_id="1687869"  snippet_file_name="blog_20160518_2_3706593"    >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的,所以用网络点的总数量)

  1. closeness(g,vids=which(V(g)$label=="c")) #某点四周的接近中心度,mode="out"是有向图,默认是无向图为in
  2. #设置normalized = T为相对接近中心度
de_snippet_id="1687869"  snippet_file_name="blog_20160518_3_6356551"    >closeness(g,vids=which(V(g)$label=="c"))  #某点四周的接近中心度,mode="out"是有向图,默认是无向图为in
   #设置normalized = T为相对接近中心度

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

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

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

(1)点的中心度——betweenness

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

  1. betweenness(g,normalized = T)
  2. #normalized = T代表相对数,默认值为F为绝对值
  3. #mode有Out和in分别代表有向和无向
de_snippet_id="1687869"  snippet_file_name="blog_20160518_4_2594561"    >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

  1. edge.betweenness(g)
  2. #normalized = T代表相对数,默认值为F为绝对值
  3. #mode有Out和in分别代表有向和无向
de_snippet_id="1687869"  snippet_file_name="blog_20160518_5_6324315"    >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

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

  1. evcent(g,scale = F)$vector #系统不论是否重要,都会计算所有点四周的相邻矩阵,根据矩阵求得点的特征向量,耗时巨大
  2. #scale=F没有归一化,T代表输出数据进行标准化
  3. #mode有Out和in分别代表有向和无向
de_snippet_id="1687869"  snippet_file_name="blog_20160518_6_8974273"    >evcent(g,scale = F)$vector  #系统不论是否重要,都会计算所有点四周的相邻矩阵,根据矩阵求得点的特征向量,耗时巨大
   #scale=F没有归一化,T代表输出数据进行标准化
   #mode有Out和in分别代表有向和无向

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

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

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

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

  1. page.rank(g,scale=F)$vector
  2. #scale=F没有归一化,T代表输出数据进行标准化
  3. #mode有Out和in分别代表有向和无向
de_snippet_id="1687869"  snippet_file_name="blog_20160518_7_9672384"    >page.rank(g,scale=F)$vector
   #scale=F没有归一化,T代表输出数据进行标准化
   #mode有Out和in分别代表有向和无向

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

二、中心势

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

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

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

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

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

1、网络聚类系数——transitivity

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

  1. transitivity(g)
de_snippet_id="1687869"  snippet_file_name="blog_20160518_8_8385629"    >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

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

  1. graph.density(g.zn)
  2. graph.density(group1)
  3. graph.density(group2)
  4. #从中可以看到不同社群与整体之间的网络密度情况(关联程度)
de_snippet_id="1687869"  snippet_file_name="blog_20160518_9_1035588"    >graph.density(g.zn)
graph.density(group1)
graph.density(group2)
#从中可以看到不同社群与整体之间的网络密度情况(关联程度)

http://blog.csdn.net/sinat_26917383/article/details/51443846 以上两个汉字表,都是比较好的用来描述社群划分是否合理的指标,社群之中的密度越大,三元组聚类系数越多,越好。

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏数据科学与人工智能

【数据挖掘】数据挖掘面试题汇总 测测你的专业能力是否过关?

单选题 1. 某超市研究销售纪录数据后发现,买啤酒的人很大概率也会购买尿布,这种属于数据挖掘的哪类问题?(A) A. 关联规则发现 B. 聚类 C. 分类 D....

3146
来自专栏数据派THU

教你用PyTorch实现“看图说话”(附代码、学习资源)

6316
来自专栏PPV课数据科学社区

数据挖掘150道试题 测测你的专业能力过关吗?

100个iOS开发/设计程序员面试题汇总,你将如何作答? 大数据技术Hadoop面试题,看看你能答对多少?答案在后面 单选题 1. 某超市研究销售纪录数据后发现...

2714
来自专栏华章科技

数据挖掘150道试题,测测你的专业能力过关吗

2.以下两种描述分别对应哪两种对分类算法的评价标准?(A) (a)警察抓小偷,描述警察抓的人中有多少个是小偷的标准。 (b)描述有多少比例的小偷给警察抓了的标准...

791
来自专栏大数据挖掘DT机器学习

【案例】SPSS商业应用系列第2篇: 线性回归模型

商业保险公司希望通过分析以往的固定资产保险理赔案例,能够预测理赔金额,借以提高其服务中心处理保险理赔业务的速度和服务质量,并降低公司运营风险。业界领先...

4067
来自专栏华章科技

从1维到6维,一文读懂多维数据可视化策略

本文经机器之心(微信公众号:almosthuman2014)授权转载,禁止二次转载

904
来自专栏程序员叨叨叨

2.1 几何阶段第 2 章 GPU 图形绘制管线

图形绘制管线描述 GPU 渲染流程,即“给定视点、三维物体、光源、照明模式,和纹理等元素,如何绘制一幅二维图像”。本章内容涉及 GPU 的基本流程和实时绘制技术...

1003
来自专栏AI科技大本营的专栏

“史上最强”BigGAN公开TensorFlow Hub demo!

还记得前些日子轰动一时的 BigGAN 模型吗?生成对抗网络(GAN)作为当前最热门的技术之一,最近在图像生成方面的成果颇受人关注。近日,由 DeepMind ...

1502
来自专栏AI研习社

深度解密换脸应用 Deepfake

Deepfake 就是前一阵很火的换脸 App,从技术的角度而言,这是深度图像生成模型的一次非常成功的应用,这两年虽然涌现出了很多图像生成模型方面的论文,但大都...

7616
来自专栏机器之心

教程 | Keras+OpenAI强化学习实践:行为-评判模型

选自Medium 作者:Yash Patel 机器之心编译 参与:乾树、黄小天 本文先给出行为-评判模型(actor-critic model)的基本原理,包括...

4489

扫码关注云+社区

领取腾讯云代金券