昨日のWSモデルの検証ですが平均距離についてサテ室のパソコンでさえ無限に時間がかかりそうなので、Nを減らして検証することにする。とにかくスモールワールド性ができているかが確認できればいいのです。
ということN=100にしたところ、平均距離を計算するのにサテ室のPCだと18秒、自分のPCだと200秒くらいかかるのでやはりサテ室で作業するのがはかどりますな。これなら現実的な時間である。
次にクラスター係数を求めようということでクラスター係数を求める関数。
-----------------------------------------
def cal_C(list, N):
triangle=np.zeros(N)
link=list2matrix(list, N)
for i in range(N):
neighbor_list=extract_neighborlist(list, i)
k=neighbor_list.shape[0]
if k>1:
for x in range(neighbor_list.shape[0]):
y=x
while y<neighbor_list.shape[0]:
if link[np.int(neighbor_list[np.int(x), 1]), np.int(neighbor_list[np.int(y), 1])]==1:
triangle[i]=triangle[i]+2.0
y=y+1
triangle[i]=triangle[i]/(k*(k-1))
C=np.float(np.sum(triangle))/N
return C
------------------------------------------
これを1回計算するのに、サテPCで現在70分経過。。。
非常に厳しい。とりあえず待って統計赤本読んでゐる。
そして150分が経過。
もう嫌になったので'python complex network analysis'でググったところNetworkXというパッケージがヒット。早速pipでインストールしようとしたらもうすでに入ってたよ!!水曜日の報告会までにちょろちょろと触って感触だけ確かめておこう。
(7/10追記)修正しました。どうりで時間かかるわけだよ!
0 件のコメント:
コメントを投稿