こんにちは,DSOC R&Dグループ インターン生の吉田と申します.
2017年のサマーインターンに参加して以来,1年半程こちらでお世話になっておりますが,この春に就職を控えていることもあり、この度2月末で退社させていただくことになりました.従って,これが最初で最後のエントリーとなります.
大学では主に時系列のセンサデータ等を扱った研究を行っていますが,インターンでは名刺のネットワーク分析に携わらさせていただきました.大学の研究とは性質の異なるデータの分析は非常に刺激的であり,また大変興味深かったです.
本稿では,これからネットワーク分析を始める人向けに,インターンを通じて学んだネットワークの分析手法の基礎指標を紹介していきます.ただ紹介してもつまらないので,関東地方の路線図データ を用いて,その特徴を様々な指標毎に分析していきます.なお,本稿の分析は全てpythonライブラリのnetworkxを用いて行いました.
ネットワークの全体の特徴を表す指標 ネットワーク分析には,実に様々な指標が存在します.分析を始めた頃は(今でもですが)各指標がそれぞれ何を表しているのか混乱することが多かったです.
ここではまず,ネットワークの全体の特徴を表す,基本的な指標とその意味について見ていきます.
密度(density) ネットワーク分析における密度\(density\)は以下の式で定義されます.
\[density = \frac{m}{n(n-1)/2}\ =\frac{2m}{n(n-1)}\]
ただし,\(n\) はネットワーク中のノードの総数で,\(m\)はネットワーク中のエッジの総数です.この式は,張ることの出来るエッジ数に対する、実際のエッジ数の比率を表しています.
「密度」というからには,人的ネットワークなら密度が高い程噂話の伝達速度は早そうですし,電車の路線ネットワークなら密度が高い程各駅へのアクセスは良さそうな印象を受けます.分析を始めた時の吉田少年は,この式を見てネットワークの密度について分かった気でいましたが,この「密度」の定義が自分の想像していたような指標ではないことをすぐに思い知ります.
下の図は,東京都,神奈川県,千葉県,埼玉県,茨城県の各県の電車路線図の密度を示しています.
各県の路線図の密度(density) 直感的には東京都の方が各駅へのアクセスは良く,密度がたかそうですが,実際には東京都の密度が一番低くなっています.因みに,東京都と埼玉県のネットワークを図示すると以下のようになります.
埼玉県(左)と東京都(右)の路線図 エッジの数は東京都の方が明らかに多いにも関わらず,東京都の密度は埼玉県よりも低くなっています.これは,定義式からも分かるように,密度はノード数の2乗の逆数の関数になっているため,ノード数が大きいと密度は低くなりやすいためです.よって,密度が高いからといって,各駅へのアクセスがよくなるとは限らないことが分かります.
続きを読む