特征向量中心性算法/伪代码

我想知道是否有人可以将我指向某个特征向量中心伪代码或算法(用于社交网络分析)。 我已经在维基百科和谷歌搜索了一些信息,但我找不到任何广义算法或伪代码的描述。

谢谢!


图G中的顶点v的特征向量中心性似乎是G的邻接矩阵A的主特征向量的第v个条目,该特征向量由该特征向量的条目的和来缩放。

从任何严格正向量开始的幂迭代将倾向于A的主导特征向量。

请注意,功率迭代需要做的唯一操作是将A乘以一个向量重复。 这很容易做到; Av的第i个条目仅仅是对应于顶点i所连接的顶点j的条目的总和。

功率迭代的收敛速率在最大特征值与绝对值第二大的特征值的比率上是线性的。 也就是说,如果最大特征值是lambdamax,第二大绝对值特征值是lambda2,那么特征值估计中的误差会减小λmax/ |λ2|。

在实践中出现的图(例如社交网络图)通常在lambdamax和lambda2之间存在很大差距,所以功率迭代通常会快速收敛; 在几十次迭代中并且几乎不考虑出发点,您将有一个在10-9之内的特征值估计。

所以,考虑到这个理论,下面是一些伪代码:

Let v = [1, 1, 1, 1, ... 1].
Repeat 100 times {
  Let w = [0, 0, 0, 0, ... 0].
  For each person i in the social network
    For each friend j of i
      Set w[j] = w[j] + v[i].
  Set v = w.
}
Let S be the sum of the entries of v.
Divide each entry of v by S.
链接地址: http://www.djcxy.com/p/22731.html

上一篇: Eigenvector Centrality Algorithm/Pseudocode

下一篇: What scalability issues are associated with NetworkX?