如何计算无向网络的特征向量中心性
Posted
技术标签:
【中文标题】如何计算无向网络的特征向量中心性【英文标题】:How to calculate Eigenvector centrality of an undirected network 【发布时间】:2016-01-19 13:36:12 【问题描述】:我在 R 中使用 igraph
库来计算我的网络的特征向量中心性。
通过使用evcent
函数,我得到了网络特征向量中心性的结果。
但是它是如何被数学计算的,正如它的定义所说,它的算法是迭代的。
任何机构都可以展示如何通过网络进行数学计算的方法吗?
让我们考虑下图是我的网络以及我得到的值作为特征向量中心性的结果是如何计算这些值的。
library(igraph)
g2 <- graph.formula(A:B - A:C, X:Z - X:Y - X:B, C:Z , C:X )
ec <- evcent(g2)
ec <- ec$vector
【问题讨论】:
我已经编辑了您的问题以使其更具可读性,但我仍然不明白您的问题是什么。 我不清楚特征向量中心性是如何计算的。所以我想知道特征向量中心性的数学计算。 【参考方案1】:evcent,等效于 eigen_centrality,计算邻接矩阵的最大特征值及其对应的特征向量。它使用 C 例程“R_igraph_eigenvector_centrality”进行更高效的计算。有关特征向量中心性背后动机的更多信息,请参见Social and Economic Networks。您还可以使用 R 中的特征函数通过矩阵的内置谱分解来计算特征向量中心性,
library(igraph)
g2 <- graph.formula(A:B - A:C, X:Z - X:Y - X:B, C:Z , C:X )
ec <- evcent(g2)
ec <- ec$vector
ed <- eigen(as.matrix(get.adjacency(g2)))
ec2 <- ed$vectors[,1]
请注意,eigen 将返回归一化向量,而 evcent 不会。因此 ec2 将是 ec 的标量倍数。
【讨论】:
谢谢瑞恩,我了解计算方法。它有帮助..谢谢..:)以上是关于如何计算无向网络的特征向量中心性的主要内容,如果未能解决你的问题,请参考以下文章