[R][ネットワーク分析] ネットワークにおいてどれくらい中心的かの指標
ネットワーク分析で最も良く用いられる指標として、中心性というものがある
今回は、その中でも3つの指標に絞って紹介
次数中心性
友達が多い人が高く評価される指標
友達の数を数えるだけなので、計算も簡単
- データの入力と描画
A <- matrix(c( 0,1,1,1,1,1,1,0, 1,0,1,1,1,1,0,0, 1,1,0,0,0,0,0,1, 1,1,0,0,0,0,1,0, 1,1,0,0,0,1,0,0, 1,1,0,0,1,0,0,0, 1,0,0,1,0,0,0,0, 0,0,1,0,0,0,0,0), nrow = 8, byrow = TRUE) g <- graph.adjacency(A, mode = "undirected") plot(g)
- 次数中心性の算出
> degree(g) [1] 6 5 3 3 3 3 2 1
PageRank
単純に友達が多いだけではなく、その友達の友達の数も考慮した指標
たくさん友達はいるんだけど、自分以外の友達がいない人とばかりつながっている人と、同じ数の友達がいて、その友達にもまたたくさん友達がいる人とでは、やっぱり後者の方が重要だと考えられる
- データの入力と描画
A <- matrix(c( 0,0,0,0,0,0,0,0,0, 1,0,0,0,0,0,0,0,0, 1,0,0,0,0,0,0,0,0, 0,1,1,0,0,0,0,0,0, 1,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0, 0,0,0,0,0,1,0,0,0, 0,0,0,0,0,1,0,0,0, 0,0,0,0,0,1,0,0,0), nrow = 9, byrow = TRUE) g <- graph.adjacency(A, mode = "directed") plot(g,edge.arrow.size=.1)
- Page Rankの算出
> page.rank(g, directed = TRUE)$vector [1] 0.40153809 0.07480774 0.07480774 0.03799515 0.03799515 0.25887070 0.03799515 0.03799515 [9] 0.03799515
-
- 0番と5番の人は、同じ次数だが0番の人の方がスコアが高くなっている
媒介中心性
その人がいないと情報が伝わらなかったり、おそくなったりするような位置の人を重要とする指標
複数のコミュニティに所属してるような人が該当する (その人がいないと、コミュニティ間のつながりが薄くなるような人)
- データの入力と描画
A <- matrix(c( 0,1,1,1,1,1,1,0, 1,0,1,1,1,1,0,0, 1,1,0,0,0,0,0,1, 1,1,0,0,0,0,1,0, 1,1,0,0,0,1,0,0, 1,1,0,0,1,0,0,0, 1,0,0,1,0,0,0,0, 0,0,1,0,0,0,0,0), nrow = 8, byrow = TRUE) g <- graph.adjacency(A, mode = "undirected") plot(g)
- 媒介中心性の算出
> betweenness(g) [1] 8.5 4.0 6.0 0.5 0.0 0.0 0.0 0.0