SNA中:中心度及中心势诠释(不完整代码)
以下的代码都是igraph包中的。
————————————————————————————————————————————————————
中心度指标的对比
指标名称 | 概念 | 比较 | 实际应用 |
点度中心度 | 在某个点上,有多少条线 | 强调某点单独的价值 | ★作为基本点的描述 |
接近中心度 | 该点与网络中其他点距离之和的倒数,越大说明越在中心,越能够很快到达其他点 | 强调点在网络的价值,越大,越在中心 | ★★基本描述,用户价值 |
中间中心度 | 代表最短距离是否都经过该点,如果都经过说明这个点很重要,其中包括线的中心度 | 强调点在其他点之间调节能力,控制能力指数,中介调节效应 | ★★推荐算法,用户的控制力 |
特征向量中心度 | 根据相邻点的重要性来衡量该点的价值。首先计算邻接矩阵,然后计算邻接矩阵的特征向量。 | 强调点在网络的价值,并且比接近中心度厉害的是,点价值是根据近邻点来决定的 | ★★★推荐算法,用户潜在价值 |
————————————————————————————————————————————————————
一、中心度
中心度指标有四类点度中心度、接近中心度、中间中心度、特征向量中心度。
1、点度中心度——点出度、点入度、相对点中心度、点度频率
有两个部分:绝对中心度+相对中心度。是最基本的概念,就是在某个点上,有多少条线。比如以下这个数列,“小明”这个点,有三个度(小明-小红,小白-小明,小明-小胖)。
绝对中心度中,在有向图中还有点出度、点入度之分。比如“小明”这个点,有两个点出度(小明-小红,小明-小胖);一个点入度(小白-小明)。
相对点中心度中,相对点中心度=绝对点中心度/最大度数(可以作为不同网络结构的比较,相对数与绝对数的区别),此时小明的相对点中心度就是3/3=1。
id1 di2
小明 小红
小张 小白
小红 小胖
小胖 小蓝
小白 小明
小白 小张
小明 小胖
- degree(g,mode="in") #mode=in点入度;out=点出度;total点度中心度,三者统称绝对点中心度
- 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是计算相对点中心度。
- 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的,所以用网络点的总数量)
- closeness(g,vids=which(V(g)$label=="c")) #某点四周的接近中心度,mode="out"是有向图,默认是无向图为in
- #设置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
点的中心度,代表最短距离是否都经过该点,如果都经过说明这个点很重要。也是强调点与网络的价值,而且更能说明转发、中介的情况。
- betweenness(g,normalized = T)
- #normalized = T代表相对数,默认值为F为绝对值
- #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
- edge.betweenness(g)
- #normalized = T代表相对数,默认值为F为绝对值
- #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
如果某人四周都是大牛人,那么这个人也很牛逼,这个方法是根据相邻点的重要性来衡量该点的价值。首先计算邻接矩阵,然后计算邻接矩阵的特征向量。
- evcent(g,scale = F)$vector #系统不论是否重要,都会计算所有点四周的相邻矩阵,根据矩阵求得点的特征向量,耗时巨大
- #scale=F没有归一化,T代表输出数据进行标准化
- #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特征向量中心度。这个是谷歌开发的,对于一些搜索的竞价排名做的指标。原理跟特征向量中心度差不多:
计算邻接矩阵——按行标准化——计算矩阵的特征向量。
- page.rank(g,scale=F)$vector
- #scale=F没有归一化,T代表输出数据进行标准化
- #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
按照图形理论,聚集系数是表示一个图形中节点聚集程度的系数,一个网络一个值。
- 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
跟网路聚类系数差不多,也是用来形容网络的结构复杂程度。越大,说明网络越复杂,说明网络越能够放在一块。
- graph.density(g.zn)
- graph.density(group1)
- graph.density(group2)
- #从中可以看到不同社群与整体之间的网络密度情况(关联程度)
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
以上两个汉字表,都是比较好的用来描述社群划分是否合理的指标,社群之中的密度越大,三元组聚类系数越多,越好
SNA中:中心度及中心势诠释(不完整代码)相关推荐
- R语言︱SNA-社会关系网络—igraph包(中心度、中心势)(二)
每每以为攀得众山小,可.每每又切实来到起点,大牛们,缓缓脚步来俺笔记葩分享一下吧,please~ --------------------------- SNA社会关系网络分析中,关键的就是通过一些指 ...
- OpenCV序列中创建矩阵cv :: Mat的实例(附完整代码)
OpenCV序列中创建矩阵cv :: Mat的实例 OpenCV序列中创建矩阵cv :: Mat的实例 OpenCV序列中创建矩阵cv :: Mat的实例 #include "opencv2 ...
- 通过VBA在excel中实现股票当日走势数据查询表(完整代码截图在文章最后,完整的excel原件可以在我的资源中下载)
需求: 1.通过excel看盘: 2.输入不同的股票代码都可以自动爬取实时行情数据. 实现方案: 1.通过VBA从网上实时爬取行情数据: 2.通过VBA实现定时5s刷新一次数据: 3.通过VBA自动创 ...
- 5、matlab中求函数的一阶和二阶导数(完整代码)
使用matlab内置的函数diff来求解函数的一阶和二阶导数. 以下是一个示例代码: syms x f(x) = x^3 + 2*x^2 + 3*x + 4; % 定义一个函数 f1(x) = dif ...
- SNA(社会网络分析)——三种中心度总结
一 简介 社会网络分析中,中心度表示点的中心度,中心势表示整个网络的中心度(趋势).中心度常用的有三种,点度中心度.中间中心度和接近中心度. 二 三种中心度 点度中心度表示与该点直接相连的点的个数,无 ...
- R语言学习-复杂网络中心度计算
中心度概念说明: 指标名称 概念 比较 实际应用 点度中心度 在某个点上,有多少条线 强调某点单独的价值 ★作为基本点的描述 接近中心度 该点与网络中其他点距离之和的倒数,越大说明越在中心,越能够很快 ...
- pajek06-09:中心度
06 点度中心度: (刻画的是局部的中心指数,测量的是网络实体自身的交易能力,未考虑到对信息流转,资源的配置的控制) 1.局部中心度 2.整体中心度 3.Network>Create Vecto ...
- 【社会网络分析_04】ucinet中心度密度测量与凝聚子群发现
文章目录 1.中心度/中心势分析 2.影响力分析 3.将多值网络转换为二值网络 4.网络密度计算 5.凝聚子群分析 6.核心边缘分析 1.中心度/中心势分析 2.影响力分析 3.将多值网络转换为二值网 ...
- neo4j中心度算法(Centrality algorithm)-2.Betweenness Centrality algorithm
一.介绍 中介中心性(Betweeness Centrality),又叫中间中心性.中间性.居间中心性 中介中心性主要是由美国社会学家林顿·弗里曼(Freeman,1979)教授提出来的一个概念,它测 ...
最新文章
- jieba分词实现原理(C++版 + python篇)(二)
- [SAP ABAP开发技术总结]权限对象检查
- java中实现线程的方法_Java中实现线程的方法
- 深圳蛇口人民医院办理健康证,免费体检,2017年后国家承担体检费用
- java fields是_一个快速生成R2.java中fields的插件
- web.xml filter 不包含_Elasticsearch 之 Filter 与 Query 有啥不同?
- 英语总结系列(七):Spring
- Laravel-事件简单使用
- Senparc.Weixin.MP SDK 微信公众平台开发教程(二):成为开发者
- lvcreate 创建逻辑卷
- iOS商户进件之【营业执照编号校验】18位社会信用代码验证 unified social credit identifier
- 【bug解决】上传图片后,取消这次上传 再次执行上传,上次的图片还存在
- python 路由追踪_tracert跟踪路由
- 知识:什么是进销存软件系统?
- 使用Microsoft Office Publisher制作海报Poster
- Lambda表达式效率低
- 【微信】h5跳转微信小程序
- java枚举和容器(一)
- 无需编程经验,这份Python自动聊天机器人代码帮你玩转对话交流!
- 【Day8.3】黄河第一桥
热门文章
- PAT A1062 Talent and Virtue
- KUKA.WorkVisual仿真软件 下载分享
- 现代人工智能走在仿生学的大道上
- java用一张一元票换一分,把一元纸币换成一分、二分、五分硬币(每种至少一枚),有多少种换法?使用递归...
- (十五)覆盖率数据采样、交叉覆盖率_覆盖选项
- 【视频】机器人直接爬货架取货
- 密钥策略的属性基加密(KP-ABE)
- 【属性基加密】Ubuntu下CP-ABE库安装及调用教程详解
- 『每周译Go』那些年我使用Go语言犯的错
- 论文阅读笔记 | 目标检测算法——FSAF算法