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

一 简介

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

二 三种中心度

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

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

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

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

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

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

三 计算公式汇总

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

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

四 算法实现

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

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

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

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

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

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

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

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

       转载请注明本贴网址!

 

基于SNA(Social Network Analysis,社会网络分析)的网络舆情的群体极化动态演化研究,旨在通过分析社交媒体上用户之间的互动关系,探讨群体极化现象的产生、演化及其影响机制。 具体研究方法可以包括以下步骤: 1. 数据采集:通过社交媒体平台的API接口或网络爬虫工具,采集用户在特定时间段内发布的微博、推特或Facebook等社交媒体内容,并提取其中的用户ID、文本内容、时间等信息。 2. 构建网络:将采集到的用户ID作为节点,分析用户之间的转发、评论、@等关系,构建用户之间的社交网络。 3. 社区发现:通过社区发现算法,将社交网络划分为不同的社区,以便分析不同社区之间的关系。 4. 群体极化分析:基于社交网络分析的指标,比如中心、聚集系数等,分析社交网络中不同社区的极化程,以及极化的原因、趋势等。 5. 动态演化模拟:通过模拟社交网络的动态演化过程,探讨群体极化的演化机制及其影响因素,进一步研究如何降低群体极化现象的发生和影响。 6. 结果展示与应用:将研究结果以可视化的方式展示出来,为政策制定者、媒体从业者等提供参考,帮助其更好地理解社交媒体上的舆情现象,制定相应的应对措施。 总之,基于SNA的网络舆情的群体极化动态演化研究,可以帮助我们更好地理解社交媒体上的舆情现象及其影响机制,为促进社会和谐稳定、维护网络生态健康提供有益的参考。
评论 8
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

HouGISer

HouGiser需要你的鼓励~

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值