ネットワークのランダム化

Rで学ぶネットワーク分析

James Curley

Associate Professor, University of Texas at Austin

ランダムグラフ

erdos.renyi.game(n = gorder(g), p.or.m = edge_density(g), type = "gnp")
Rで学ぶネットワーク分析

ランダムグラフとランダム化検定

  1. 元のネットワークを基に1000個のランダムグラフを生成する - 例:同じ頂点数・近似密度を持つグラフ。

  2. 元のネットワークの平均経路長を計算する。

  3. 1000個のランダムネットワークの平均経路長を計算する。

  4. 元のネットワークより平均経路長が大きい・小さいランダムネットワークの数を求める。

Rで学ぶネットワーク分析

1000個のランダムグラフを生成する:

gl <- vector('list',1000)

for(i in 1:1000){
    gl[[i]] <- erdos.renyi.game(
                    n = gorder(g), 
                    p.or.m = edge_density(g), 
                    type = "gnp"
                     ) 
}

1000個のランダムグラフの平均経路長を計算する:

gl.apls <- unlist(
  lapply(gl, mean_distance, directed = FALSE) 
)
Rで学ぶネットワーク分析

元のネットワークとの比較

hist(gl.apls, breaks = 20)

abline(
  v = mean_distance(
    g, directed=FALSE
    ),
      col = "red", 
      lty = 3, 
      lwd = 2
)

Rで学ぶネットワーク分析

練習しましょう!

Rで学ぶネットワーク分析

Preparing Video For Download...