我在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
答案 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的标量倍数。