复杂网络中衡量网络中节点中心性的几种度量指标
1、Degree Centrality(度中心性)
1.1 定义
度中心性(Degree Centrality)是在网络分析中刻画节点中心性(Centrality)的最直接度量指标。一个节点的节点度越大就意味着这个节点的度中心性越高,该节点在网络中就越重要。
1.2 计算方法
在无向图(Undirected Graph)中,度中心性测量网络中一个节点与所有其它节点相联系的程度。对于一个拥有g个节点的无向图,节点iii的度中心性是iii与其它g−1g-1g−1个节点的直接联系总数,用矩阵表示如下:
CD(Ni)=∑J=1gxij(i≠j)C_{D}\left(N_{i}\right)=\sum_{J=1}^{g} x_{i j}(i \neq j) CD(Ni)=J=1∑gxij(i=j)
其中CD(Ni)C_{D}\left(N_{i}\right)CD(Ni)表示节点iii的度中心度, 用于计算节点iii与其它g-1个j节点(i≠j)(i\neq j)(i=j),排除i与自身的联系;也就是说,主对角线的值可以忽略)之间的直接联系的数量。CD(Ni)C_{D}\left(N_{i}\right)CD(Ni)的计算就是简单地将节点i在网络矩阵中对应的行或列所在的单元格值加总。(因为无向关系构成一个对称性数据矩阵,因此行和列相同的单元格的值相同)。
2、 Closeness Centrality(近性中心性)
2.1 定义
一个点的近性中心度较高,说明该点到网络中其他各点的距离总体来说较近,反之则较远。假如一个物流仓库网络需要选某个仓库作为核心中转站,需要它到其他仓库的距离总体来说最近,那么一种方法就是找到近性中心度最高的那个仓库。
2.2 计算方法
一个点的近性中心度是到其他所有结点距离的平均值。
Cv=∣V∣−1∑i≠vdviC_{v}=\frac{|V|-1}{\sum_{i \neq v} d_{v i}}Cv=∑i=vdvi∣V∣−1
其中CvC_{v}Cv表示节点iii的近性中心度, 用于计算节点iii与其它节点(i≠vi≠vi=v,排除iii与自身的联系;也就是说,主对角线的值可以忽略)之间的直接联系的数量。∑i≠vdvi{\sum_{i \neq v} d_{v i}}∑i=vdvi的计算就是简单地将节点i在网络矩阵中对应的行或列所在的单元格值加总。(因为无向关系构成一个对称性数据矩阵,因此行和列相同的单元格的值相同)。
3、betweenness(介性中心性)
3.1 定义
以经过某个节点的最短路径数目来刻画节点重要性的指标,中介中心性指的是一个结点担任其它两个结点之间最短路的桥梁的次数。一个结点充当“中介”的次数越高,它的中介中心度就越大。如果要考虑标准化的问题,可以用一个结点承担最短路桥梁的次数除以所有的路径数量。一个点的介性中心度较高,说明其他点之间的最短路径很多甚至全部都必须经过它中转。假如这个点消失了,那么其他点之间的交流会变得困难,甚至可能断开(因为原来的最短路径断开了)。
3.2 计算方法
CB(v)=∑s≠v≠t∈Vσst(v)σstC_{B}(v)=\sum_{s \neq v \neq t \in V} \frac{\sigma_{s t}(v)}{\sigma_{s t}}CB(v)=s=v=t∈V∑σstσst(v)
其中σst(v)σst(v)σst(v)表示经过节点v的s→ts→ts→t的最短路径条数,σstσstσst表示s→ts→ts→t的最短路径条数。具体计算过程请看https://blog.csdn.net/betarun/article/details/51168259
4、Eigenvector Centrality(特征向量中心度)
4.1 定义
特征向量中心度衡量节点的重要性,同时考虑其邻居的重要性。例如,在Facebook上拥有300个相对不受欢迎的朋友的节点比拥有300个非常受欢迎的朋友(例如巴拉克·奥巴马)的人具有较低的特征向量中心性。特征向量中心度算法是一个用来度量节点之间的传递影响和连通性的算法,在特征向量中心度算法中,其认为与具有高得分的节点相连接比与具有低得分的节点相连接所得的贡献更大。
其主要原理是,来自重要节点的链接(通过Degree Centrality来衡量)比不重要节点的链接更有价值。所有节点的起点都相等,但是随着计算的进行,边缘更多的节点开始变得越来越重要。它们的重要性传播到它们所连接的节点。经过多次重新计算后,这些值稳定下来,从而得出了特征向量中心性的最终值。
4.2 计算方法
令A=(ai,j)A =(a_ {i,j})A=(ai,j)为图的邻接矩阵。则有
xi=1λ∑kakixkx_i = \frac {1} {\lambda} \sum_k a_ {ki} \ x_k xi=λ1k∑aki xk
其中λ≠0\lambda \neq 0λ=0是一个常数。以矩阵形式,我们有:λx=xA\lambda x = x Aλx=xA
因此,中心向量xxx是与特征值λ\lambdaλ相关联的邻接矩阵AAA 的左侧特征向量。选择λ\lambdaλ作为矩阵AAA的绝对值中最大的特征值。
5、各中心度python代码
# 需要导入模块: import networkx [as 别名]
# 或者: from networkx import eigenvector_centrality [as 别名]
def CentralityMeasures(G):# Betweenness centralitybet_cen = nx.betweenness_centrality(G)# Closeness centralityclo_cen = nx.closeness_centrality(G)# Eigenvector centralityeig_cen = nx.eigenvector_centrality(G)# Degree centralitydeg_cen = nx.degree_centrality(G)#print bet_cen, clo_cen, eig_cenprint "# Betweenness centrality:" + str(bet_cen)print "# Closeness centrality:" + str(clo_cen)print "# Eigenvector centrality:" + str(eig_cen)print "# Degree centrality:" + str(deg_cen)#main function
>>> import networkx as nx
>>> G = nx.path_graph(4)
>>> centrality = CentralityMeasures(G)
复杂网络中衡量网络中节点中心性的几种度量指标相关推荐
- 衡量 DevOps 成功与否的重要度量指标
简介 DevOps 理念已经掌握了软件交付流程的许多方面.因此,我们值得深入了解能够表明成功标志和需要改进方面的日常运营,而不是仅仅关注表明"正常状态"的日常报告.如今的 DevO ...
- 【深度学习】网络中隐含层神经元节点的个数(需要学习的特征数目)
http://blog.csdn.net/zouxy09/article/details/9983399 1.网络中隐含层神经元节点的个数(需要学习的特征数目),采集的密度(也就是convolutio ...
- 用ARP探测网络中的混杂模式节点
用ARP探测网络中的混杂模式节点 作者:Refdom 由于sniffer的危害,检测网络中是否存在sniffer也非常重要.Anti-Sniff就相应地产生,来检测网络中的sniffer. 检测sni ...
- [C#搜片神器] 之P2P中DHT网络爬虫原理
继续接着上一篇写:使用C#实现DHT磁力搜索的BT种子后端管理程序+数据库设计(开源)[搜片神器] 昨天由于开源的时候没有注意运行环境,直接没有考虑下载BT种子文件时生成子文件夹,可能导致有的朋友运行 ...
- 《亿级流量JAVA高并发与网络编程实战》笔记--------更新中
<亿级流量JAVA高并发与网络编程实战>笔记 第一章 高并发概述 "高并发技术" 是一个广义的概念,是指一种高效的地实现并发需求的解决方案,是技术领域的名称,可以包含架 ...
- 计算机网络中网络拓扑,计算机网络基础知识:不同的网络拓扑结构对网络的影响...
导语:中公小编今天带大家了解计算机网络拓扑结构的相关知识,并认识不同的网络拓扑结构对网络影响有哪些.通过思考题与解答的形式,希望考生可以开拓思维,一起思考.加强对计算机网络基础知识的认识与记忆. 思考 ...
- 深度学习中的网络表征学习的算法目标简介
https://www.toutiao.com/a6639983875458073095/ 2018-12-28 18:08:39 深度学习网络表征学习算法的目标是获得网络的低维稠密表示.对于大规模网 ...
- OSPF详解(三):OSPF中的网络类型
并不是ospf网络上一定存在DR和BDR,ospf根据链路层媒体不同可以划分为四种网络类型(或者叫接口工作模式). 1. 如果路由器接口连接的是ethernet网络,那么默认ospf网络类型是Bro ...
- P2P中DHT网络原理
2019独角兽企业重金招聘Python工程师标准>>> DHT网络爬虫基于DHT网络构建了一个P2P资源搜索引擎.这个搜索引擎不但可以用于构建DHT网络中活跃的资源索引(活跃的资源意 ...
最新文章
- 剑指offer:矩形覆盖 python 实现
- 在 Lua 里 使用 Cocos Studio 导出的 .csb 文件
- 聊聊storm的IWaitStrategy
- 使用Apache POI插入内容
- 商业模式新生代_业务分析基础 - 商业模式新生代01篇
- UI2Code智能生成Flutter代码——版面分析篇
- 计算机专业论文要交源代码吗,计算机毕业论文源代码.doc
- WORD如何将标题编号设置为汉字编号?
- 【codevs1041NOIP01TG】Car的旅行路线,最短路中的数学题
- Spark-Kudu报错:kudu.client.NonRecoverableException: The table was deleted: Table deleted at xxx
- Python用20行代码实现一个验证码的输入与验证(完整源码)
- 从零开始搭二维激光SLAM --- 前言
- 2016年我的学习记录与搜索到的网站,将持续更新,主要介绍我在公司应用ecshop的学习记录...
- 嵩天python测验_考试 嵩天老师 :测验3: Python语法程序与设计(第3周)
- 如何在Linux上下载MongoDB
- SPSS实现多因素方差分析
- Python体重指数计算器源代码
- 线程有哪些状态?创建、就绪、运行、阻塞和死亡
- 4002 构造数组(可重复组合数问题--隔板法)
- 用ffmpeg将视频转成gif动图
热门文章
- 在Win10|Win11中安装ArcGIS10.2时遇到缺少.NET Framework 3.5问题的解决办法
- R语言查看版本 R包查看版本
- 免费开源.net的pdf操作控件PdfiumViewer
- Java基础语法-条件语句
- 史上最污的技术解读,我竟然秒懂了(下)
- QIIME 2 2020.8 版本更新学习
- linux 查看日志的基础命令
- 记录nltk的stem操作
- 基于Java毕业设计高校共享机房管理系统的设计与实现源码+系统+mysql+lw文档+部署软件
- 东北大学acm暑期夏令营结构体