中心性算法用于理解特定节点的作用及其对网络的影响。这些算法可以识别最重要的节点,帮助我们了解群组动态,例如可信度、可访问性、事物的传播速度以及群组之间的桥梁等。
degree(度中心性算法)
度量节点拥有的关系数量,例如,通过研究入度来评估某人的受欢迎程度,使用出度评估其社交情况。
eigenvector(特征向量中心性算法)
特征向量中心性算法是用来度量节点之间的传递影响和连通性的算法。它的基本思想是:一个节点的重要性既取决于其相邻节点的重要性。换言之,在一个网络中,如果一个人拥有很多重要的朋友,那么他也很重要。
记
x
i
x_i
xi为节点
i
i
i的重要性度量值,则
x
i
=
c
∑
j
=
1
N
a
i
j
x
j
x_i=c\displaystyle\sum_{j=1}^{N}a_{ij}x_j
xi=cj=1∑Naijxj
记
x
=
[
x
1
,
x
2
,
.
.
.
,
x
N
]
T
x=[x_1,x_2,...,x_N]^T
x=[x1,x2,...,xN]T,其中
c
c
c是一比例常数,
A
=
(
a
i
j
)
A=(a_{ij})
A=(aij)是网络的邻接矩阵。
例如:
假设有一个图
则有其对应的邻接矩阵为:
A
=
[
0
1
1
1
0
1
0
1
0
0
1
1
0
1
0
1
0
1
0
1
0
0
0
1
0
]
A=\left[\begin{matrix} 0&1&1&1&0\\ 1&0&1&0&0\\ 1&1&0&1&0\\ 1&0&1&0&1\\ 0&0&0&1&0 \end{matrix}\right]
A=⎣
⎡0111010100110101010100010⎦
⎤
假设每个点的度中心性为
x
=
[
3
2
3
3
1
]
x=\left[\begin{matrix} 3\\ 2\\ 3\\ 3\\ 1 \end{matrix}\right]
x=⎣
⎡32331⎦
⎤
则
A
∗
x
=
[
8
6
8
7
3
]
A*x=\left[\begin{matrix} 8\\ 6\\ 8\\ 7\\ 3 \end{matrix}\right]
A∗x=⎣
⎡86873⎦
⎤
这个过程可以理解为每一个节点
v
i
v_i
vi根据矩阵
A
A
A获取了与该节点相连的节点集
V
i
,
n
e
i
g
h
b
o
u
r
V_{i,neighbour}
Vi,neighbour,然后根据
V
i
,
n
e
i
g
h
b
o
u
r
V_{i,neighbour}
Vi,neighbour的点值(连接数、点度中心性)加起来,作为
v
i
v_i
vi的特征向量中心性。
katz centrality
katz centrality计算的方法与eigenvector centrality类似,并且实际上是eigenvector centrality方法的一般化。计算公式如下:
x
i
=
α
∑
j
A
i
j
x
j
+
β
x_i=\alpha\displaystyle\sum_jA_{ij}x_j+\beta
xi=αj∑Aijxj+β
其中
A
A
A是图
G
G
G的邻接矩阵,假设
λ
\lambda
λ是其特征值,
β
\beta
β控制节点的初始中心性,并且
α
<
1
λ
m
a
x
\alpha<\frac{1}{\lambda_{max}}
α<λmax1
closeness centrality(紧密中心性)
度中心性利用网络的局部特征,即节点的连接数有多少来判断节点的中心性。但一个人连接数多,并不代表处于核心位置,紧密中心性利用整个网络的特征,即一个节点在整个结构中所处的位置。
如果节点到其他节点的最短距离都很小,那么它的接近中心性就越高。紧密中心性的值定义为这个平均距离的倒数:
C
(
u
)
=
n
−
1
∑
v
=
1
n
−
1
d
(
v
,
u
)
C(u)=\frac{n-1}{\sum_{v=1}^{n-1}d(v,u)}
C(u)=∑v=1n−1d(v,u)n−1
其中,
d
(
v
,
u
)
d(v,u)
d(v,u)是
v
v
v和
u
u
u的最短距离,而
n
n
n是能到达
u
u
u的所有节点的数量。
(electrical)current flow closeness (基于电流的中心性度量算法)
基于最短路径的中心性算法可以转换成基于电流(electrical current)的中心性算法,将两个节点的“电势差”来代替它们之间的距离
d
(
v
,
u
)
d(v,u)
d(v,u)
C
c
c
=
n
−
1
∑
s
≠
t
p
s
t
(
s
)
−
p
s
t
(
t
)
C_{cc}=\frac{n-1}{\sum_{s\neq t}p_{st}(s)-p_{st}(t)}
Ccc=∑s=tpst(s)−pst(t)n−1
其中
(
n
−
1
)
(n-1)
(n−1)是归一化因子,
p
s
t
(
s
)
p_{st}(s)
pst(s) 表示节点
s
s
s的绝对电势(基于从节点
s
s
s到节点
t
t
t之间的电流供应),而
p
s
t
(
s
)
−
p
s
t
(
t
)
p_{st}(s)-p_{st}(t)
pst(s)−pst(t)表示有效电阻,而这个电阻经常用于测量电压。
betweeness centrality(介数中心性算法)
从每块中的任一节点到其他某块中的任一节点的最短路径必然要经过节点
v
i
v_i
vi。这种以经过某个节点的最短路径的数目来刻画节点重要性的指标称为介数中心性,简称介数(BC)。最基本的介数中心性是通过最短路径(shortest path)来计算的,如果这些最短路径中有很多条都经过
v
i
v_i
vi,则认为节点的介数高。
一个节点
v
i
v_i
vi的介数定义为:
B
C
i
=
∑
v
s
≠
v
i
≠
v
t
,
s
<
t
σ
s
t
(
v
i
)
σ
s
t
BC_i=\displaystyle\sum_{v_s\neq v_i\neq v_t,s<t}\frac{\sigma_{st}(v_i)}{\sigma_{st}}
BCi=vs=vi=vt,s<t∑σstσst(vi)
其中,
σ
s
t
\sigma_{st}
σst表示从节点
s
s
s到节点
t
t
t的最短路径的总数量,
σ
s
t
(
v
i
)
\sigma_{st}(v_i)
σst(vi)表示这些最短路径中经过节点
v
i
v_i
vi的路径的数量。
current-flow betweeness centrality(电流介数中心性)
电流介数中心性的计算公式如下:
C
C
B
(
v
)
=
∑
s
≠
t
∈
V
I
v
(
s
t
)
1
2
n
(
n
−
1
)
C_{CB}(v)=\frac{\displaystyle\sum_{s\neq t \in V}I_v^{(st)}}{\frac{1}{2}n(n-1)}
CCB(v)=21n(n−1)s=t∈V∑Iv(st)
其中
n
(
n
−
1
)
/
2
n(n-1)/2
n(n−1)/2是归一化因数,
I
v
(
s
t
)
I_v^{(st)}
Iv(st)是经过节点
v
v
v的,从源节点
s
s
s到目标节点
v
v
v的电流。
communicability betweenness centrality
假设有一个简单无向图
G
=
(
V
,
E
)
G=(V,E)
G=(V,E),其中有
n
n
n个节点和
m
m
m条边。
A
A
A是图
G
G
G的邻接矩阵。
G
(
r
)
=
(
V
,
E
(
r
)
)
G(r)=(V,E(r))
G(r)=(V,E(r))表示,去除所有连接节点
r
r
r的边后得到的图。
G
(
r
)
G(r)
G(r)的邻接矩阵是
A
+
E
(
r
)
A+E(r)
A+E(r),其中
E
(
r
)
E(r)
E(r)除了第
r
r
r行和第
r
r
r列的元素之外,其他的元素都是0。
节点
r
r
r的Communicability betweenness centrality是
w
r
=
1
C
∑
p
∑
q
G
p
r
q
G
p
q
w_r=\frac{1}{C}\displaystyle\sum_p\displaystyle\sum_q\frac{G_{prq}}{G_{pq}}
wr=C1p∑q∑GpqGprq
其中,
p
≠
q
,
p
≠
r
,
q
≠
r
p\neq q,p\neq r,q\neq r
p=q,p=r,q=r(未完待续)
group betweenese centrality
集团介数中心性计算的是一个节点集
C
C
C的介数中心性。
C
B
(
v
)
=
∑
s
,
t
∈
V
σ
(
s
,
t
∣
v
)
σ
(
s
,
t
)
C_B(v)=\displaystyle\sum_{s,t\in V}\frac{\sigma(s,t|v)}{\sigma(s,t)}
CB(v)=s,t∈V∑σ(s,t)σ(s,t∣v)
其中,
V
V
V是节点集,
σ
(
s
,
t
)
\sigma(s,t)
σ(s,t)是最短路径的数量,
σ
(
s
,
t
∣
C
)
\sigma(s,t|C)
σ(s,t∣C)是经过
C
C
C中任意一个节点的最短路径数量。注意
(
s
,
t
)
(s,t)
(s,t)不在
C
C
C中。
subgraph centrality
这个指标说明了一个节点在一个网络的所有子图中的参与程度。
S
C
(
v
)
=
∑
k
=
0
∞
μ
k
(
v
)
k
!
SC(v)=\displaystyle\sum_{k=0}^\infty \frac{\mu_k(v)}{k!}
SC(v)=k=0∑∞k!μk(v)
其中
μ
k
(
v
)
\mu_k(v)
μk(v)表示以
v
v
v作为起点和终点,并且长度为
k
k
k的封闭通路的数量。
harmonic centrality(谐波中心性)
节点
u
u
u的谐波中心性是所有其他节点与
u
u
u的最短路径的倒数的和。
C
H
(
x
)
=
∑
y
≠
x
1
d
(
y
,
x
)
C_H(x)=\displaystyle\sum_{y\neq x}\frac{1}{d(y,x)}
CH(x)=y=x∑d(y,x)1