有向グラフにおいて、ノードAからノードBに対してある関係
があり、また逆にノードBからノードAに対してもその関係があるとき、すなわち「両想い」の状態になっているとき、関係が
相互的(mutual)あるいは
対称(symmetric)であるといいま
す。ネットワークの
相互性と
は、ネットワーク全体での両想いの割合で、
(相互性)=(両想いの数)÷
(片想いの数+両想いの数)
で求められます。相互性の値は最大で1、最小で0です。
中
心性(centrality)
日常的な社会生活の中でも、集団の「中心人物」などという言い方がありますが、その意味は場合によって様々です。社会ネットワーク分析では、この「中心的
である」という意味を数学的に厳密に定義しています。
Simple Network Analysis
Toolでは、代表的な4つの中心性指標である、次数中心性、媒介中心性、近接中心性、ボナチッチ(固有ベクトル)中心性を算出することができます。
次
数中心性(degree centrality)
次数中心性とは、ノードがも
つリンクの数によって中心性を評価したものです。例えば、「知人が多い」「友達が多い」といったような意味での中心性です。
有向グラフの場合は、関係が出ていくのか、入ってくるのかが区別されます。例えば、「AはBに助言や命令をする」、という関係をA→Bで表すと、矢印が出
ていく数がAの集団内での重要性を表しているでしょうから、リンクの出る数(
出
次数
outdegree)が中心性の指標となります。逆に、「BはAに相談をする」という関係をB→Aで表すと、矢印が入ってくる数がAの集団内での重要性を
表しているでしょうから、リンクの入る数(
入次数
indegree)が中心性の指標となります。
Simple
Network Analysis
Toolでは有向(非対称)グラフについては出次数と入次数のどちらを算出するか選択することができます([ファイルを開く]ボタンをクリックする前に、
メニュー[ファイル]→[有向]をチェックしておいてください)。無向グラフでは出次数と入次数は一致します(というか区別しません)。
ノードのもつことのできる
次数(リ
ンク数)は、ネットワークの規模に(社会ネットワークであればネットワークに属する人数など)によって変わるので、ネットワークの規模が異なるネットワー
クどうしでは単純に次数だけを比較することはできません。
そこで、最大でもつことのできる次数に対して、実際にもっている次数の割合を算出したものを、標準化した次数中心性といいます。あるノードが最大でもつこ
と
のできる次数は、自分を除いたネットワーク他者の数、すなわち(ノード数−1)ですから、この数でノードの実際の次数を割ったものが、ノードの標準化した
次数中心性となります。つまり、ネットワーク内の自分以外の全ての他者と関係がある場合、標準化した次数中心性は1になります。
媒
介中心性(betweenness centrality)
媒介中心性とは、あるノード
が他の2つノードをつなぐ最短の経路上にいる程度により、中心性を評価したものです。例えば、互いに知り合いでない2人の間に入って、2人の仲をとりもっ
たり、逆に2人の関係を邪魔したりすることによって発揮されるような影響力のイメージです。具体的な例で算出してみましょう。
図6 媒介中心性の算出例
図6でAは、BとC、BとD、BとE、CとEという4組の
ノード間をつなぐ最短距離上に位置しています。ですから、Aには4点あげたいところですが、CとEの間に関してはDもAと同じく最短距離上にいるので、C
からEへ(またはEからCへ)至るためには、AかDのどちらかを通ればよいことになります。よって、ここはAとDにそれぞれ0.5点ずつあげることにしま
す。その他3つの組に関しては、最短距離は必ずAを通るのでそれぞれ1点ずつにします。こうして、Aの媒介数は3.5と決まります。
Simple Network Analysis Toolを使って、全てのノードについて媒介中心性を算出すると次のように出力されます。
中心性
媒介数
(標準化)
A
3.5 0.583
B
0 0
C
1 0.167
D
0.5 0.083
E
1 0.167
ここで標準化された媒介中心性とは最小値が0、最大値が1となるように値を調整したものです。これによりノード数の異なるネットワークの間でも媒介中心性
を比較することができます。
※補足説明 無向グラフにおける媒介中心性の厳密な定義は次のとおり。
CB
( ni ) はノード i の
媒介数
C'B ( ni )
はノード
i の標準化された媒介中心性
g j k は
ノード
j とノード
k の最短経路の数で、
g
j k( ni ) はそのうち経路上にノード
i を含むものの数
( i ≠ j, k )
g はグラフに含まれるノードの総数で、
( g - 1 ) ( g - 2
) / 2はノード
i を除いた全ノードから2つ選んでできる組の数
このように、媒介中心性はあるノードが他のノード間の最短経路上に位置する程度を示していますが、その際、最短経路以外の経路は考慮しません。また、最短
経路の数は考慮しても、最短経路の距離は考慮しません。
近
接中心性(closeness centrality)
近接中心性とは、あるノード
がネットワークに含まれる他の全てのノードとどれくらい近いか、という点からノードの中心性を評価するものです。ですから、ネットワークに含まれる成員全
員と顔見知りであるような「顔の広い」ノードは近接中心性が最大になります。そこまで顔が広くなくても、なるべく少ない人を介して他のノードにたどりつけ
るノードほど近接中心性は大きくなります。
近接中心性は、具体的には、あるノードから他のノードへのネットワーク上の距離の総和の逆数として定義されます。標準化された近接中心性とは最小値0、最
大値1になるように値を調整したものです。近接中心性は、算出に他の全ノードとの距離の総和を用いますが、ネットワークに他のノードとリンクを全くもたな
い孤立点が含まれたり、ネットワークが他のグループとリンクをもたないいくつかのグループに分かれたりするとき(分離グラフといいます)、距離の総和はど
のノードにとっても∞になってしまうので、近接中心性は算出することができません。
図6を例に近接中心性を算出してみましょう。
図6(再掲) 近接中心性算出の例
Simple Network
Analysis Toolを用いて、図6のネットワークの距離行列と近接中心性を算出すると次のようになります。
距離行列
A
B
C
D E
A
0
1
1
2 1
B
1
0
2
3 2
C
1
2
0
1 2
D
2
3
1
0 1
E
1
2
2
1 0
中心性
近接性 (標準化)
A
0.2 0.8
B
0.125 0.5
C
0.167 0.667
D
0.143 0.571
E
0.167 0.667
この隣接行列で、Aの行(横の並び)はAから各ノードへの距離を表していますが、これらの数字を全て足すと5になります。ですから、Aの近接中心性は5の
逆数である1/5=0.2になります。ここでもし、AがDとも直接の関係をもっていれば、近接中心性は最大の0.25ですが、この値を1として実際のAの
近接中心性を標準化すると、0.2÷0.25=0.8になります。
※補足説明 近接中心性の厳密な定義は次のとおり。
CC ( ni )は
ノード
i の標準化されない近接中心性
C’C ( ni )は
ノード
i
の標準化された近接中心性
g はグラフに含まれるノードの総数
d ( ni , nj )は
ノード
i からノード
j へのネットワーク
距離
( j ≠ i )
中
心化傾向(centralization, graph
centrality)
中心化傾向あるいは
集中度とは、ネットワークにおいて各ノードが
もつ中心性の値が、特定のノードだけ大きな値をもっているのか、あるいはどのノードも同じような値をもっているのかといった、ネットワーク全体での中心性
の値のバランスを見る指標です。
Simple Network Analysis
Toolでは、無向グラフについて次数中心性、媒介中心性、近接中心性を算出すると同時に算出されます(ver.1.0.3.0以降)ので、ここでは無向
グラフを前提として話を進めます。これらのどの中心性指標の場合でも、1つのノードから他の全てのノードに放射状にリンクが張られている(そしてそれ以外
のリンクはない)、「スター構造」(図7)において、中心化傾向は最大値の1をとります。これは中心性の偏りが最も大きいということを意味します。全ての
ノードが相互に連結しているような完全グラフでは中心性の値は全ノードで一定ですから、中心化傾向は最小値の0をとります。
図7 スター構造
※補足説明 無向グラフにおける中心化傾向の厳密な定義は次のとおり。
次数中心性の中心化傾向
媒介中心性の中心化傾向
近接中心性の中心化傾向
C*は
それぞれ中心化傾向を意味し、添え字はD(次数中心性)、B(媒介中心性)、C(近接中心性)。以下同様。
C*( n*)
は標準化されない中心性における全ノード中での最大値
C'*( n*)
は標準化された中心性における全ノード中での最大値
C*(
ni ) はノード
i
の標準化されない中心性
C'*( ni
)はノード
i の標準化された中心性
g はグラフに含まれるノードの総数
詳しくは文献[1][2]など参照。
ボ
ナチッチ中心性(Bonacich
centrality)
固有ベクトル中心性(eigenvector centrality)
ボナチッチ中心性または
固有ベクトル中心性とは、フィリップ・ボナ
チッチによって提案された中心性指標で、その特徴は、単に次数の多いノードを評価するだけでなく、次数の多いノードとつながったノードについても、その分
だけ高く評価する点にあります。例えば、「あなたが最も信頼できる相談相手を挙げてください」という質問をして、次のような有向のネットワークが得られた
とします。
図8 信頼できる相手の指名ネットワーク
A B C D E F G H I J
A 0 0 0 0 0 0 0 0 0 0
B 1 0 0 0 0 0 0 0 0 0
C 1 0 0 0 0 0 0 0 0 0
D 0 1 0 0 0 0 0 0 0 0
E 0 1 0 0 0 0 0 0 0 0
F 0 1 0 0 0 0 0 0 0 0
G 0 1 0 0 0 0 0 0 0 0
H 0 0 1 0 0 0 0 0 0 0
I 0 0 1 0 0 0 0 0 0 0
J 0 0 1 0 0 0 0 0 0 0
図8の隣接行列
このネットワークで最も信頼されているのはどのノードでしょうか?
指名されている数が最も多いのは4人から指名されているBで、次に3人から指名されているC、2人から指名されているAが続きます。残りは誰からも指名さ
れていません。このように被指名数から中心性を評価するのであれば、次数中心性を用います。
Simple Network Analysis
Toolでは、メニューから[ファイル]→[有向]をチェックし、図8の隣接行列を入力したファイルを開きます。[有向]がチェックされると、「次数中心
性」で「出次数」「入次数」のどちらかが選択可能になりますので、「入次数」を選択します。図8のネットワークの入次数による中心性は次のようになりま
す。
中心性
次数
(標準化)
A
2 0.222
B
4 0.444
C
3 0.333
D
0 0
E
0 0
F
0 0
G
0 0
H
0 0
I 0 0
J
0 0
ところで、Aは入次数こそ2ですが、その2つはこのネットワーク内で最も多くから信頼されているBとCからの指名です。ということは、Aは全体のなかでそ
れほど目立つわけではないけれども、有力者から信頼されている陰の実力者である可能性があります。あるいは、B派とC派に分かれている集団内で、両方の派
閥のリーダーから信頼されている長老格の存在かもしれません。このような場合、次数中心性の高いノードから指名されたノードの中心性をより高く評価する方
法が求められます。そのような方法こそ、ボナチッチ中心性なのです。図8のネットワークのボナチッチ中心性をSimple Network
Analysis Toolによって算出すると次のようになります。
ボナチッチ中心性
A 1
B 0.033
C 0.025
D 0
E 0
F 0
G 0
H 0
I 0
J 0
ここでは、最大の中心性が1となるように調整されていますので、Aが最大の中心性をもっており、続いて入次数の違いによりB、Cの順となっています。
インターネットのサーチエンジンとして有名なGoogleは、ウェブサイトを評価するのにPageRankという方法を使っていると言われていますが、こ
れも基本的にはボナチッチ中心性と同様の発想に基づく方法です。
※補足説明 ボナチッチ中心性は、数学的には隣接行列の第1固有ベクトルを中心性指標として用いています。固有ベクトルとは、次のような式を満たす縦ベク
トルcです。
A c = λc
Aは正方行列で、ここでは隣接行列になります。λ(ラムダ)は固有値と呼ばれる数値で、ここでは実数とします。
今、固有ベクトルcの成分を各ノードの中心性を表す得点だとすると、上の式の左辺は、各ノードについて、それと隣接するノードの中心性得点の和をとった値
を成分とするベクトルになります。また、右辺は各ノードの中心性得点を実数倍した値を成分とするベクトルになります。
このことから、固有ベクトル中心性における各ノードの中心性得点は、その点と隣接するノードの中心性得点の和に比例することが分かります。ボナチッチ中心
性(固有ベクトル中心性)が、隣接するノードの中心性を反映しているということが、ここからも分かります。
なお、Simple Network Analysis
Toolは基本的に隣接行列の対角要素を全て0としていますが、ボナチッチ中心性においてのみ、内部的に対角要素を全て1としています(文献[5]参
照)。
また、Simple Network Analysis
Toolでは、有向グラフの場合、例に示したように入次数あるいは被指名関係に基づいて中心性を算出していますので、「より多くのリンクが出るもとになっ
ている」という点から中心性を評価したい場合には、エクセルなどを用いて隣接行列の行と列を入れ替えてから分析してください。
UCINETなど他のネットワーク分析ソフトにあるBonacich Power Centralityとは、Simple Network
Analysisにおけるボナチッチ中心性とは異なります(厳密には、より拡張されたモデルです。詳しくは文献[1]の第6章2節などを参照)。
構
造同値性(structural equivalence)
社会ネットワークに注目すると、物事を今までとは別の角度から見ることができます。例えば、学校や職場で何かと張り合っているライバル関係の2人を見て、
どうしてそんなに競い合うのか不思議に思うことがあるでしょう。きっと負けず嫌いな性格なんだとか、あの2人は性格的に合わないんだとか思うかもしれませ
ん。
しかし、このように個人の性格に原因を求めるのではなく、2人をとりまく人間関係に注目すると、2人にある共通点があることに気づくかもしれません。例え
ば、同じ取引先に営業をかけているとか、共通の上司をもっている、あるいは同じ異性に好意を抱いている…。つまり、人間関係の上で同じような位置にいるこ
とで、共通の限られた資源獲得を競い合う仲になっている可能性があります。あるいは、全く逆に、人間関係上同じような位置にある2人が一致協力することも
あるかもしれません。「敵の敵は見方」というやつです。
このように、人間関係のネットワークにおいて位置が似ていることが、個人の行為に影響を与えうることを考えると、ネットワーク構造上の位置が同じであるこ
と(同値性)の重要性が見えてきます。最も単純な構造同値は図9のようなイメージです。図9のネットワークの隣接行列を考えると、Aの行(列)とBの行
(列)は全く同じで入れ替え可能になっています。
図9 AとBは構造同値関係
実際の社会ネットワークはもっと複雑で、構造上の位置が全く同じということは少ないでしょうから、構造同値性もネットワーク上の位置、すなわち他者との間
のリンクの張り方がどれくらい似ているかという、関係の類似性の程度と考えた方が役に立ちます。また、構造同値性を使うことで、同値関係や類似関係にある
ノードをひとまとめにすることができるので、複雑なネットワークをより簡単にすることもできます。
Simple Network Analysis
Toolは、構造同値性の指標として、有向グラフ・無向グラフともに、二値であればユークリッド距離、相関係数、φ係数を、多値であればユークリッド距離
と相関係数を算出することができます。
ユー
クリッド距離(Euclidean distance)
ユークリッド距離は、中学校
や高校の数学で、座標平面上の2点間の距離を三平方の定理を使って求めた方法です。そこでは、2点のx座標とy座標それぞれの値の差をとって2乗したもの
を足し、その平方根を2点間の距離としていました。例えば、2点
( x 1
, y1) , (
x 2 , y2)の
間のユークリッド距離
d は次式で求められました。
ネットワーク上でユークリッド距離を求めるとき、
x座標や
y座
標の値にあたるのは、隣接行列において他者との関係を表している値です。隣接行列は二値でも多値でもかまいませんし、対称(無向)でも非対称(有向)でも
かまいません。
具体的な例でその算出方法を見てみましょう。次のような隣接行列における2点、AとBの間のユークリッド距離を求めます。ただし、AとBに関するところ
(Aの行と列、およびBの行と列)以外は省略しています。
A
B
C
D E
A
0
0
1
3 2
B
0
0
0
1 2
C
1
3
・
・ ・
D
2
3
・
・ ・
E
2
1
・
・ ・
まず、A行とB行に注目し、それぞれの列の値の差をとります(つまり縦方向に引き算する)。ただし、距離を求めたい当事者であるA列とB列の値は計算に入
れません。
A
B
C
D E
A
0
0
1
3 2
B
0
0
0
1 2
差
× ×
1
2 0
次にA列とB列に注目し、それぞれの行の値の差をとります(つまり横方向に引き算する)。ここでもA行とB行は算入しません。
A
B 差
A
0
0
×
B
0
0
×
C
1
3 -2
D
2
3 -1
E
2
1 1
こうして、行と列それぞれに求めた差を2乗して全て足します。
12 + 22 + 02 + (-2)2 + (-1)2 + 12 = 11
その平方根√11≒ 3.317がAとBのユークリッド距離となります。
ユークリッド距離は、距離といっても
距離行列で表されるような、ネットワー
ク上の経路をたどる距離ではなく、他者との関係のもち方がどれくらい似ているかという類似性の指標です。ただし、「距離」ですから、その値が小さいほど互
いに似ているということになります。2点の間のユークリッド距離が0のとき、両者は自分たち以外のネットワーク内の他者との関係が全く同じ、つまり構造同
値となります。また、ユークリッド距離においては、AのBに対する距離とBのAに対する距離は同一に、つまり対称になります。
※補足説明 ユークリッド距離の厳密な定義は次のとおり。
dij はノード
i
とノード
j の間のユークリッド距離
g はグラフに含まれるノードの総数
x ik は隣接行列における
i
行
k 列の要素を意味する。他も同様。ただし、
k≠i , j
相
関係数(correlation coefficient)
相関係数とは、一般には2変
数間の連関の程度を表す指標、特にピアソンの積率相関係数を指すのが普通ですが、ここではネットワーク内の2つのノードの間の構造同値性の指標としての相
関係数を紹介します。
基
本的には隣接行列の行要素と列要素に積率相関係数を適用したものと考えることができます。相関係数で構造同値性を評価する際にも、ユークリッド距離と同様
に、2つのノードがそれ以外のノードとの関係において、どの程度似通っているかを考えます。その際、行と列はそれぞれ類似性が評価されますので、例えば、
相談相手のネットワークのような非対称なネットワークでは、「誰に相談するか」と「誰から相談されるか」の両方を合わせた関係の類似性が評価されます。通
常の相関係数と同じく、その値は-1から1の間の値をとり、類似性が最大のとき相関係数は1です。
ただし、相関係数が1でも、隣接行列の行要素と列要素が全く同一であるとは限りません。例えば次のような隣接行列から相関行列を算出してみます。
隣接行列
A
B
C D
A
0
1
2 3
B
1
0
3 4
C
2
3
0 0
D
3
4
0 0
相関行列
A
B
C D
A 1
1 -1 -1
B 1
1 -1 -1
C -1 -1 1 1
D -1 -1 1 1
ここでは、隣接行列
におけるBの行と列の要素は、Aの行と列の要素に1を加えたものですが(対角要素を除く)、AとBの相関係数は1になっています。このように行や列の要素
に同じ数をかけたり足したりした場合、相関係数は1になります。これは相関係数の特性によるものです(ちなみに、AとCの相関係数が-1なのも、隣接行列
におけるAの行または列の要素をa、Cの行または列の要素をcとすると、c = −1.5a+4.5という線形の関係があるからです)。
※補足説明 ネットワークにおける構造同値性の指標としての相関係数の厳密な定義は次のとおり。
※見づらい場合はクリックすると大きく表示されます。
φ
係数(phi coefficient)
φ(ファイ)係数とは、二値
のデータの相関を示す指標です。Simple Network Analysis
Toolでは、上の相関係数よりも簡便な指標としてφ係数を使うことができます。φ係数はその性質上、二値のデータにしか適用できません。よって、適用可
能なネットワークは要素に0か1しか含まない隣接行列によって表されるネットワークです。
また、Simple Network
Analysis
Toolの他の構造同値性指標と違い、行の類似性しか評価しません。非対称なネットワークの場合、例えば「誰に相談するか」の類似性は評価するが、「誰か
ら相談されるか」の類似性は評価しないということです。「誰から相談されるか」の類似性を知りたい場合には、行と列を入れ替えてから分析してください。関
係に向きのない、対称なネットワークであれば行の類似性は列の類似性と一致しますのでφ係数で十分です。無向かつ二値のネットワークであればφ係数による
類似性評価と相関係数による類似性評価は完全に一致します。
φ係数は下のような四分表の各セルに当てはまるAとB以外のノードの数から算出します。
|
ノードBと関係あり |
ノードBと関係なし |
計 |
| ノードAと関係あり |
a |
b |
e |
| ノードAと関係なし |
c |
d |
f |
| 計 |
g |
h |
|
ここから、
となります。φ係数も-1から1の間の値をとります。
次の隣接行列から実際にφ係数を算出してみましょう。
隣接行列
A
B
C
D
E F
A
0
0
1
1
0 1
B
0
0
1
0
1 1
C
1
1
0
0
0 0
D
1
0
0
0
0 0
E
0
1
0
0
0 1
F
1
1
0
0
1 0
AとBの間のφ係数を求めるためにAとBの行に注目します。それぞれの列について四分表の各セルに当てはまるノードの数を数えます。
ただし、AとBは除きます。
A B C D E F
A 0 0 1 1 0 1
B 0 0 1 0 1 1
セル × × a b c a
よって、a=2、b=1、c=1、d=0となり、ここからe=3、f=1、g=3、h=1となりますから、
となります。Simple Network Analysis Toolを使って算出すると次のようになります。
φ係数
A
B
C
D
E F
A 1 -0.333 -0.577 NaN
(非数値) -0.577 -1
B -0.333 1 -0.577 -1 0.577 0
C -0.577 -0.577 1 0.577 0 0.577
D NaN (非数値) -1 0.577 1 -0.577 0.333
E -0.577 0.577 0 -0.577 1 0.577
F -1 0 0.577 0.333 0.577 1
A
とDの間のφ係数はNaN
(非数値)となっています。これはDと関係のあるノードの数がAを除くと0になってしまい、φ係数算出式の分母が0になってしまうためです。また、表示が
ずれて行列が読み取りにくくなっていますが、このような場合はエクセルなどのスプレッドシートに貼り付けると見やすくなります。