如何计算无向网络的特征向量中心性

时间:2016-01-19 13:36:13

标签: graph-theory igraph eigenvector

我在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 个答案:

答案 0 :(得分:2)

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的标量倍数。