一 简介

社会网络分析中,中心度表示点的中心度,中心势表示整个网络的中心度(趋势)。中心度常用的有三种,点度中心度、中间中心度和接近中心度。

二 三种中心度

点度中心度表示与该点直接相连的点的个数,无向图为(n-1),有向图为(入度,出度)。分为绝对和相对。

点度中心势表示网络图的整体中心性。体现整体网的集中程度。星形网络图核心点点度中心度为n-1,其余点为1,中心势为1;完备图每个点中心度都是n-1,中心势为0。

中间中心度表示该点的“中间人”程度,即媒介程度。分为相对和绝对。计算方法为其他任何两点的测地线,以及过该点的测地线数目之比。(测地线表示两点之间的最短距离)

中间中心势表示整个网的中间性。星形网的中间中心势为1,环形网的中间中心势为0。星形网核心点可以控制其他所有点的交往,中间中心度最大。而其余点在网的边缘,无法控制其他点的交往,故中间中心度为0。

接近中心度表示一种对不受他人控制的测度。通俗讲就是一个点和所有其他点的接近性程度。分为绝对和相对。计算方法是该点与其他所有点的测地线距离之和。(绝对)

接近中心势表示整体网的接近集中趋势。同点度中心势类似,星形网接近中心势为1,环形和完备图接近中心势为0。

三 计算公式汇总

  度数中心性 中间中心性 接近中心性
绝对点度中心度
相对点度中心度(标准化)
图的中心势

注:以上公式都是针对无向图,如果是有向图则根据定义相应修改公式即可

四 算法实现

这几个中心度的计算中,点度中心度最为简单,就是邻接矩阵的行和列代表出度和入度,然后对每个元素进行计算即可。比较难的是中间中心度和接近中心度,因为涉及测地线的计算。我稍微找了一下网上关于这方面的算法,没有找到,所以就自己想了一下,觉得想出解决方法了。首先我们要知道一个知识点,就是“矩阵之积”在SNA中的含义。

在SNA中,矩阵的乘法是非常重要的。它可以用来研究图中“途径”的个数。简单来说,邻接矩阵一次方(即邻接矩阵本身)表示一个行动者到另一个行动者之间存在多少条距离为1的途径;同理,邻接矩阵的平方表示。。到。。存在多少条距离为2的途径,以此类推。那么,当一个矩阵的某一个行动者到另一个行动者的途径,第一次由0突变为非0时,就是这两个行动者的“距离”(最短距离,即测地线)的产生!

那么我们就可以先实现接近中心度的算法:简单描述为计算邻接矩阵的乘积(对角线初始为0,因为一个点到它本身不存在一条距离为1的途径),记录下每次乘后的矩阵以及乘前的矩阵,进行每个元素的比较,如果由0->非0,则在测地线长度矩阵中保存对应位置的值为邻接矩阵的次数,如二次方就记为2,三次方就记为3,表示该位置的两个点的测地线长度为2或3。同时,还要在测地线条数矩阵中保存测地线的条数(求中间中心度需要用到)。直到测地线矩阵中所有的值都求出后停止矩阵相乘。

利用测地线长度矩阵,我们可以求出绝对接近中心度,即矩阵每一行进行求和,相对中心度和中心势按公式也好求。

那么如何求中间中心性?这个算法的主要问题就是如何求每条测地线途经的点!我们又没必要使用最短路径算法来计算这样一个有规律的图,而且最短路径算法计算量大,最重要的是这个算法最终给出的是一条路径,如果测地线有多条,那就无法解决这个问题。

那么问题如何解决?我们可以使用测地线条数矩阵和邻接矩阵来实现!描述如下:遍历测地线条数矩阵,对于每一个点首先可以得到中心度的分母,即测地线的条数。然后以测地线的长度为循环次数,对邻接矩阵进行以下操作:从起点开始,列出为相邻的节点,并保存到向量中,此为一次循环,接下来以相邻节点为起点,继续列出相邻节点,存入向量中,此为二次循环,直到循环结束。循环过程中,如果回到循环的点,则不存入向量,起点本身也排除。这样本质就是列出了所有途径的树。至于这个树怎么实现,我自己想了一个,到时候再发个帖子。感兴趣的朋友可以关注一下。

这样我们根据树的层数判断距离然后从终点反推到起点,得到路径判断是否经过判断节点即可。统计经过判断节点的数量,就是中间中心度的分子。这样三个中间性指标都可以求出。

以上是自己今天学习的一些总结和想法,供各位参考。如有错误,请指正!谢谢。

转载请注明本贴网址!

SNA(社会网络分析)——三种中心度总结相关推荐

  1. 【SNA】社会网络分析三 图论与图学习

    社会网络分析--三.图论与图学习 中间被很多人转了,我是从机器之心公众号(almosthuman2014)看到的,最初来源应该是 Maël Fabien 大佬的博客,致谢 https://github ...

  2. 三种中心化Mean Centered

    内容来源链接:http://blog.sina.com.cn/s/blog_6d078e2b0101f9bn.html 中心化Centering HLM提供两种中心化的选项.HLM offers th ...

  3. [SNA社会网络分析]基于R的ndtv、network包实现社会网络动态可视化

    本文所涉及的内容是在做传染病领域的科研时做的一些探索性的工作,肯定还是有一些不完善的地方,欢迎讨论. 本文最终的目的是实现一个社会网络的动态演变过程,如下图所示,这是程序最终生成的视频,导出的一小段G ...

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

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

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

    每每以为攀得众山小,可.每每又切实来到起点,大牛们,缓缓脚步来俺笔记葩分享一下吧,please~ --------------------------- SNA社会关系网络分析中,关键的就是通过一些指 ...

  6. 结合网页排名来做社会网络分析,挖掘核心人物

    基于中心论的社会网络分析法 基于中心论的分析主要有三个点: 1.点度中心度(考虑点的出入度,可直接找出网络中的中心点) 2.中介中心度(考虑路径的中介点,可发现网络中的中介者,或者叫桥梁) 3.接近中 ...

  7. 社会网络分析(四) | 快速上手Gephi,绘制小说人物关系网络

    本次是社会网络分析专辑的第四篇文章,往期文章请查阅-- 社会网络分析(一) | python的Networkx库基础知识 社会网络分析(二) | 论文阅读:中国与国际媒体互引的社会网络分析 社会网络分 ...

  8. 【社会网络分析_04】ucinet中心度密度测量与凝聚子群发现

    文章目录 1.中心度/中心势分析 2.影响力分析 3.将多值网络转换为二值网络 4.网络密度计算 5.凝聚子群分析 6.核心边缘分析 1.中心度/中心势分析 2.影响力分析 3.将多值网络转换为二值网 ...

  9. networkx 中心势计算_社会网络分析法(UCINET6.0)

    一 .社会网络分析相关指针描述及意义. (一)网络个体属性相关指针 1.可达性(Reachability) 指节点能够连接到每一个其他节点的难易程度,可用任意两节点之间交流所需经过的连线数来表征,以节 ...

最新文章

  1. php 使用sendgrid api 发送邮件_linux - 使用命令发送邮件
  2. 在服务器使用mysql_Linux服务器---使用mysql
  3. CoffeeScript 1.9发布,引入对生成器的支持
  4. 直观秒懂:这波动图全是泵,应有尽有!
  5. 计算机组成原理个人笔记(一)
  6. 56秒看完131年英格兰顶级联赛冠军排行:利物浦时隔30年再夺冠
  7. 影响SQL server性能的关键
  8. html动态创建table不成功的一个问题
  9. 【瑕疵检测】基于matlab瓶盖瑕疵检测【含Matlab源码 730期】
  10. SSCOM的模拟连接测试及服务器连接
  11. matlab三相逆变电路仿真,matlab三相逆变电路设计与仿真介绍.doc
  12. 目标检测(二):OverFeat
  13. 企业微信商户号是什么?如何开通?
  14. Ordinal Regression with Multiple Output CNN for Age Estimation-(系列一_年龄估计)
  15. c语言中的内存4区域模型(堆,栈,全局区,代码区)
  16. 令人心动的HTTP知识点大全
  17. SolidWorks弹簧扣与弹簧扣凹槽使用技巧
  18. 如何关闭WPS烦人广告
  19. IOS AutoFill Extension 使用
  20. 用友YonSuite荣膺2020中国企业服务SaaS年度产品创新奖

热门文章

  1. 2009,新展望!站得稳雄得起!
  2. 推荐假期看的几部黑客电影
  3. 未来科学大奖迎首位女性得主:密码学家王小云获百万美元奖金
  4. CCNP-IGP综合:多域多协议修改AD和Rou-map标签的区别
  5. 基于 Golang 的 K8s 二次开发细节汇总
  6. 计算机未来的发展趋势
  7. 【美股接口】新浪港股、美股行情接口
  8. 如何快速获取美拍视频
  9. 美拍高颜值短视频一键解析批量保存到电脑中
  10. 京东方校园招聘项目总结