我使用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
发布于 2016-01-19 15:30:41
evcent和等价的eigen_centrality计算邻接矩阵的最大特征值及其对应的特征向量。它使用C例程"R_igraph_eigenvector_centrality“进行更有效的计算。有关特征向量中心性背后的动机的更多信息,请参见例如,社会经济网络。你也可以利用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]
请注意,本征将返回一个归一化向量,而evcent则不会。因此,ec2将是ec的标量倍数。
https://stackoverflow.com/questions/34878227
复制相似问题