中心性(centrality)

时间:2024-05-20 14:54:10

参考资料

  1. 《社会媒体挖掘》

中心性(centrality)用来度量结点在网络中的重要性。对于单个结点或由多个结点组成的群体都可以定义中心性。

单个结点中心性

单个结点中心性主要分为度中心性、特征向量的中心性、Katz中心性、PageRank、中间中心性、接近中心性。

中心性(centrality)

度中心性

针对无向图,结点 v i v_i vi的度中心性为 C d ( v i ) = d i C_{d}\left ( v_{i}\right )=d_{i} Cd(vi)=di,即为结点的度;
针对有向图,中心性既可以是入度(视为声望) C d ( v i ) = d i i n C_{d}\left ( v_{i}\right )=d_{i}^{in} Cd(vi)=diin,也可以是出度(视为合群性) C d ( v i ) = d i o u t C_{d}\left ( v_{i}\right )=d_{i}^{out} Cd(vi)=diout,还可以是二者的和 C d ( v i ) = d i i n + d i o u t C_{d}\left ( v_{i}\right )=d_{i}^{in}+d_{i}^{out} Cd(vi)=diin+diout

特征向量中心性

特征向量中心性是想结合结点邻居的中心性作为该结点的中心性:

c e ( v i ) = 1 λ ∑ j = 1 n A j , i c e ( v j ) c_{e}\left ( v_{i}\right )=\frac{1}{\lambda }\sum_{j=1}^{n}A_{j,i}c_{e}\left ( v_{j}\right ) ce(vi)=λ1j=1nAj,ice(vj)

其中, λ \lambda λ是个常量, c e ( v i ) c_{e}\left ( v_{i}\right ) ce(vi)是结点 v i v_{i} vi的中心性。
将上式写成矩阵形式,特征向量中心性实际上是对网络的邻接矩阵 A A A进行特征分解,选择最大特征值对应的特征向量作为各结点的中心性。

λ C e = A T C e \lambda C_{e}=A^{T}C_{e} λCe=ATCe

其中, C e C_{e} Ce是邻接矩阵 A T A^{T} AT的特征向量, λ \lambda λ是对应的特征值。
但是中心性要求大于0,所以引入Perron-Frobenius Theorem:
假设 A ∈ R n × n A \in \textrm{R} ^{n\times n} ARn×n是[强]连通图的邻接矩阵,或者 A : A i , j > 0 A:A_{i,j}> 0 A:Ai,j>0(即一个正的 n × n n\times n n×n的矩阵),存在一个正实数(Perron-Frobenius特征值) λ m a x \lambda_{max} λmax,满足 λ m a x \lambda _{max} λmax是矩阵 A A A的特征值,并且 A A A的其余特征值均严格小于 λ m a x \lambda _{max} λmax λ m a x \lambda _{max} λmax所对应的特征向量为 v = ( v 1 , v 2 , ⋅ ⋅ ⋅ , v n ) \mathbf{v}=\left ( v_{1},v_{2},\cdot \cdot \cdot ,v_{n}\right ) v=(v1,v2,,vn),满足 ∀ v i > 0 \forall v_{i}> 0 vi>0

Katz中心性

对于入度为0的结点,其特征向量中心性为0。为了解决这个问题,加入了一个偏差项 β \beta β

c K a t z ( v i ) = α ∑ j = 1 n A j , i c K a t z ( v j ) + β c_{Katz}\left ( v_{i}\right )=\alpha \sum_{j=1}^{n}A_{j,i}c_{Katz}\left ( v_{j}\right )+\beta cKatz(vi)=αj=1nAj,icKatz(vj)+β

写为向量形式:

C K a t z = α A T C K a t z + β 1 C_{Katz}=\alpha A^{T}C_{Katz}+\beta \textbf{1} CKatz=αATCKatz+β1

移项得:

C K a t z = β ( I − α A T ) − 1 ⋅ 1 C_{Katz}=\beta \left ( I-\alpha A^{T}\right )^{-1}\cdot \textbf{1} CKatz=β(IαAT)11

注意:当 det ( I − α A T ) = 0 \textbf{det}\left ( I-\alpha A^{T}\right )=0 det(IαAT)=0时,矩阵 I − α A T I-\alpha A^{T} IαAT将不可逆。实际中,一般选择 α < 1 / λ \alpha < 1/\lambda α<1/λ以便正确计算中心性。

PageRank

PageRank则是在Katz中心性的基础上,对结点传递出的中心性对其出度作了归一化,这显然是合理的。

C p ( v i ) = α ∑ j = 1 n A j , i C p ( v j ) d j o u t + β C_{p}\left ( v_{i}\right )=\alpha \sum_{j=1}^{n}A_{j,i}\frac{C_{p}\left ( v_{j}\right )}{d_{j}^{out}}+\beta Cp(vi)=αj=1nAj,idjoutCp(vj)+β

表示为矩阵形式:

C p = α A T D − 1 C p + β 1 C_{p}=\alpha A^{T}D^{-1}C_{p}+\beta \textbf{1} Cp=αATD1Cp+β1

改写为:

C p = β ( I − α A T D − 1 ) − 1 ⋅ 1 C_{p}=\beta \left ( I-\alpha A^{T}D^{-1}\right )^{-1}\cdot \textbf{1} Cp=β(IαATD1)11

类似于Katz中心性,实际上,选取 α < 1 / λ \alpha < 1 / \lambda α<1/λ,其中 λ \lambda λ是矩阵 A T D − 1 A^{T}D^{-1} ATD1的最大特征值。在无向图中,由于矩阵 A T D − 1 A^{T}D^{-1} ATD1的最大特征值为 λ = 1 \lambda =1 λ=1,所以 α < 1 \alpha < 1 α<1

中间中心性

中间中心性计算其他结点间通过结点 v i v_{i} vi的最短路径数。

C b ( v i ) = ∑ s ≠ t ≠ v i σ s t ( v i ) σ s t C_{b}\left ( v_{i}\right )=\sum_{s\neq t\neq v_{i}}^{}\frac{\sigma _{st}\left ( v_{i}\right )}{\sigma _{st}} Cb(vi)=s=t=viσstσst(vi)

通俗地讲,结点 s s s与结点 t t t间存在许多条最短路径,共 σ s t \sigma _{st} σst,其中有 σ s t ( v i ) \sigma _{st}\left ( v_{i}\right ) σst(vi)条是通过结点 v i v_{i} vi的,如果这个数量越大,说明该结点越重要,极端情况下,所有路径都需要经过它,那么它也就是枢纽站,比值就为1。所以结点 v i v_{i} vi的最大值为:

C b ( v i ) = ∑ s ≠ t ≠ v i 1 = 2 ( n − 1 2 ) C_{b}\left ( v_{i}\right )=\sum_{s\neq t\neq v_{i}}^{}1=2 \binom{n-1}{2} Cb(vi)=s=t=vi1=2(2n1)

则归一化后的中间中心性:

C b n o r m ( v i ) = C b ( v i ) 2 ( n − 1 2 ) C_{b}^{norm}\left ( v_{i}\right )=\frac{C_{b}\left ( v_{i}\right )}{2\binom{n-1}{2}} Cbnorm(vi)=2(2n1)Cb(vi)

对无向图,有 ∑ s ≠ t ≠ v i σ s t ( v i ) σ s t = 2 ∑ s ≠ t ≠ v i , s < t σ s t ( v i ) σ s t \sum_{s\neq t\neq v_{i}}^{}\frac{\sigma _{st}\left ( v_{i}\right )}{\sigma _{st}}=2\sum_{s\neq t\neq v_{i},s< t}^{}\frac{\sigma _{st}\left ( v_{i}\right )}{\sigma _{st}} s=t=viσstσst(vi)=2s=t=vi,s<tσstσst(vi),所以中心性乘以2。

接近中心性

接近中心性的思想是,趋于中心的结点,满足与其他结点之间有最小平均最短路径。接近中心性定义为:

C c ( v i ) = 1 l ˉ v i C_{c}\left ( v_{i}\right )=\frac{1}{\bar{l}_{v_{i}}} Cc(vi)=lˉvi1

其中, l ˉ v i = 1 n − 1 ∑ v j ≠ v i l i , j \bar{l}_{v_{i}}=\frac{1}{n-1}\sum_{v_{j}\neq v_{i}}^{}l_{i,j} lˉvi=n11vj=vili,j是结点 v i v_{i} vi与其他结点之间的平均最短路径。最短路径越小,那么结点的中心性会越高。

群体中心性

群体中心性的定义与单个结点的中心性相差不大,就是将一个群体视为一个结点。

群体度中心性

群体度中心性,是群体外部的结点连接到群体内部结点的数目。

C d g r o u p ( S ) = ∣ { v i ∈ V − S ∣ v i 连 接 到 v j ∈ S } ∣ C_{d}^{group}\left ( S\right )=\left | \left \{v_{i}\in V-S|v_{i}连接到v_{j}\in S\right \}\right | Cdgroup(S)={viVSvivjS}

与度中心性相似,可以利用有向图中的入度或出度。同样,该值可以进行归一化。

群体中间中心性

和中间中心性相似,将群体中间中心性定义为:

C b g r o u p ( S ) = ∑ s ≠ t , s ∉ S , t ∉ S σ s t ( S ) σ s t C_{b}^{group}\left ( S\right )=\sum_{s\neq t,s\notin S,t\notin S}^{}\frac{\sigma _{st}\left ( S\right )}{\sigma _{st}} Cbgroup(S)=s=t,s/S,t/Sσstσst(S)

群体接近中心性

群体接近中心性定义为:

C c g r o u p ( S ) = 1 l ˉ S g r o u p C_{c}^{group}\left ( S\right )=\frac{1}{\bar{l}_{S}^{group}} Ccgroup(S)=lˉSgroup1

其中, l ˉ S g r o u p = 1 ∣ V − S ∣ ∑ v i ∉ S l S , v j \bar{l}_{S}^{group}=\frac{1}{\left | V-S\right |}\sum_{v_{i}\notin S}^{}l_{S,v_{j}} lˉSgroup=VS1vi/SlS,vj l S , v j l_{S,v_{j}} lS,vj是群体 S S S与群体外的元素 v j v_j vj的最短路径的长度。该长度可以以多种方式定义,一种方法是寻找 S S S中距离 v j v_{j} vj最近成员元素,另一种是使用最大距离或平均距离。