2016-01-19 204 views
1

我使用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

我编辑了你的问题,使其更具可读性,但我仍然不明白你的问题是什么。 – eliasah

+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] 

注意计算特征向量中心是本征将返回单位向量,而evcent不会。因此ec2将是ec的一个标量倍数。

+0

感谢瑞恩我明白了它的计算方法。它帮助..谢谢你.. :) –