はてなスタークラスタのクラスタリング係数について考えてみた

昨日の日記ではクラスタリング係数のところが尻切れとんぼで終わってしまったので改めて日記を書く。

クラスタリング係数とは

昨日の訂正部分に書いたとおり「あるk 本のリンクを持つノードにおいて、リンク先のそれぞれのノード間に存在するリンク数をA とし、k(k-1)/2=B とおくと、A/B がクラスタリング係数となる。」なんですが、これはどういうことか。

あるユーザAが5人Friendを持っていました。その5人のFriend同士はお互いにFriendかもしれないしFriendではないかもしれません。もしその5人が5人全員Friend同士だとすると、あるユーザAとその5人のFriendを結ぶネットワークは下図のようになります。

黒い線がユーザAとそのFriendをつなぐリンク、赤い線がユーザAのFriend同士をつなぐリンクですが、赤い線は10本。5人のFriendから2人を選ぶ組み合わせなので5C2=10ですわな(tex記法ワカンネ)。

しかしながら実際のリンクはそうじゃない。実際にはユーザAのFriend同士は以下の図のようにしかリンクされていなかった。

とすると、ほんとは全員つながれば10本のリンクがあるのに実際には6本しかなかったから6/10=0.6、クラスタリング係数は0.6ということになるわけです。

算出したよ

で、これをはてなスター最大のクラスタを構成するノード1773Friends(2007/08/09時点)全員について算出して平均を出しました。

|*-|*2007/08/10|

- 0.575

追記:僕、k=1のユーザのクラスタリング係数を1にして数えるという数学的暴挙をしておりました。で、k=1の時はどうしたらいいのかわからんのでとりあえず計算から省いたところ、0.474になりました。上の数字は間違っていると思います。k=1のときはどうすりゃいいんでしょうか。誰か教えてえらい人!

これってどうなんでしょうね。mixiのクラスタリング係数が2005/02/15時点で0.328だった(リンク先はPDFですよ注意)っていうんで、はてなスターFriendネットワークは2年前のmixiと比べてより密なネットワークと言うことができる、ってことっすかね。

これで

間違ってたら超はずかしい!