小世界网络评估

小世界网络评估

1、网络小世界定义

现实中许多网络巨型组件都发现了“小世界特性”。小世界特性是指

  • 网络节点间最短路径通常较小
  • 网络聚集系数较高

网络最短路径L计算公式为
L = 1 n ( n − 1 ) ∑ i ⩾ j d i j L=\frac{1}{n(n-1)}\sum_{i\geqslant j}{d_{ij}} L=n(n1)1ijdij
其中 n n n为节点数, d i j d_{ij} dij为任意节点间的最短距离。(有向)网络聚集系数计算公式为
c l T ( G t ) = ( A + A T ) i i 3 2 [ d i t o t ( d i t o t − 1 ) − 2 ( A 2 ) i i ]   cl_T\left( \mathcal{G}_t \right) =\frac{\left( A+A^T \right) _{ii}^{3}}{2\left[ d_{i}^{tot}\left( d_{i}^{tot}-1 \right) -2\left( A^2 \right) _{ii} \right]} \ clT(Gt)=2[ditot(ditot1)2(A2)ii](A+AT)ii3 
其中 A A A表示网络的邻接矩阵, A T A^{T} AT表示 A A A的转置, d i t o t d_i^{tot} ditot表示节点 i i i的总度。


2、网络评估R代码

library(igraph)
library(igraphdata) # 加载网络数据包
data("macaque") # 调用系统数据
summary(macaque)
plot(macaque,layout = layout.kamada.kawai,
     edge.arrow.size = 0.1) # 打印网络图
#---------------有向网络的聚集系数函数定义---------------
clust.coef.dir <- function(graph){
  A <- as.matrix(get.adjacency(graph))
  S <- A+t(A)
  deg <- degree(graph,mode = c("total"))
  num <- diag(S %*% S %*% S)
  denom <- diag(A %*% A)
  denom <- 2*(deg * (deg-1)-2*denom)
  cl <- mean(num / denom)
  return(cl)
}

# 抽样500次,在相同网络规模与边数条件下生成500个随机网络
ntrials <- 500
N <- seq(1,ntrials)
nv <- vcount(macaque)
ne <- ecount(macaque)
cl.rg <- numeric(ntrials)
apl.rg <- numeric(ntrials)
par(mfrow = c(2,1))
# 聚类系数抽样生成500次
for(i in (1:ntrials)){  
  g.rg <- erdos.renyi.game(nv,ne,type = 'gnm', 
                           directed = TRUE)
  cl.rg[i] <- clust.coef.dir(g.rg)
  print(paste("循环次数:",i))
}
plot(N,cl.rg,col = "red",ylim = c(0.2,0.6))
abline(h = mean(cl.rg))  # 添加随机网络聚类系数均值
abline(h = clust.coef.dir(macaque)) # 添加macaque网络聚类系数

# 平均路径长度抽样生成500次
for(i in (1:ntrials)){
  g.rg <- erdos.renyi.game(nv,ne,type = 'gnm',
                           directed = TRUE)
  apl.rg[i] <- average.path.length(g.rg)
  print(paste("循环次数:",i))
}
plot(N,apl.rg,col = "blue",ylim = c(1.7,2.2))
abline(h = mean(apl.rg))
abline(h = average.path.length(macaque))

图形输出
在这里插入图片描述

聚类系数与平均路径长度

在这里插入图片描述

红色为500次随机网络的聚类系数

summary(cl.rg)
#----以下是结果--------
 Min. 1st Qu.  Median    Mean 3rd Qu.    Max. 
 0.2187  0.2300  0.2332  0.2338  0.2374  0.2505 
#---------------
# macaque的聚类系数是
clust.coef.dir(macaque)
#  0.5501073

蓝色为500次随机网络的平均路径长度

summary(apl.rg)
#----以下是结果--------
   Min. 1st Qu.  Median    Mean 3rd Qu.    Max. 
  1.815   1.828   1.833   1.833   1.838   1.863 
#---------------
# macaque的平均路径长度
average.path.length(macaque)
# 2.148485

对比发现,网络macaque的聚集系数与相同规模的随机网络相比更高,而平均路径程度差异不大,故网络macaque具有小世界特性。


-END-

[美] 埃里克·D`克拉泽克等.网络数据的统计分析:R语言实践,西安:西安交通大学出版社45-91,2016

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值