大規模ネットワーク解析・可視化
プログラム
Pajek
北陸先端科学技術大学院大学
知識科学研究科林研究室
佐藤 恵介
S0650028@Jaist.ac.jp
説明の手順
Pajekの概要の説明
Pajekとは、どのようなプログラムであるかの概要を
説明する。
Pajek利用の手順の説明
Pajekを利用するに当たっての手順を、それを追って
説明する。
Pajek
• 主に、Windows用のフリーソフトウエア
• http://vlado.fmf.unilj.si/pub/networks/pajek/
でダウンロードし使用することが出来る。
Pajek対象のネットワーク
• 普通ネットワーク(有向、無向、有向無向混
合)
• マルチリレーションネットワーク
• 2部グラフネットワーク
• 動的ネットワーク
2部グラフ
• 2部グラフのことを、Pajekでは「2-mode」と呼
ぶ。
動的ネットワーク
• 動的ネットワークとは、時間によるトポロジー
の変化を表したものである。
• *.timファイルによって表現される。
*.tim
ネットワーク
A
ネットワーク
B
ネットワーク
C
*.timのコマンド
設定項目
コマンド
意味
TI t
tステップ目のイベントを以下に書くことを宣言
TE t
・・・・・・・・・・・・・・・・・を以上で終了する宣言
AV v n s
頂点を作る
HV v
・・・・を見えなくする
SV v
・・・・を見えるようにする
DV v
・・・・を消す
CV v s
・・・・の特徴を変える
AA u v s
有向線を引く
HA u v
・・・・・・を見えなくする
SA u v
・・・・・・を見えるようにする
DA u v
・・・・・・を消す
CA u v s
・・・・・・の特徴を変える
CD u v
・・・・・・の方向を変更する
AE u v s
無向線を引く
HE u v
・・・・・・を見えなくする
SE u v
・・・・・・を見えるようにする
DE u v
・・・・・・を消す
CE u v s
・・・・・・の特徴を変える
EP u v s
・・・・・・を両向有向線に変更する
PE u v s
両向有向線を無向線に変更する
AP u v s
・・・・・・・・・・を引く
両向有向線
DP u v
・・・・・・・・・・を消す
有向線と無向線
CT u v
有向線と無向線の変更
タイム
頂点(Vertices)
有向線(Arcs)
無向線(Edges)
*.timのコマンド(1)
設定項目
タイム
頂点(Vertices)
有向線(Arcs)
コマンド
意味
TI t
tステップ目のイベントを以下に書くことを宣言
TE t
・・・・・・・・・・・・・・・・・を以上で終了する宣言
AV v n s
頂点を作る
HV v
・・・・を見えなくする
SV v
・・・・を見えるようにする
DV v
・・・・を消す
CV v s
・・・・の特徴を変える
AA u v s
有向線を引く
HA u v
・・・・・・を見えなくする
SA u v
・・・・・・を見えるようにする
DA u v
・・・・・・を消す
CA u v s
・・・・・・の特徴を変える
CD u v
・・・・・・の方向を変更する
*.timのコマンド(2)
AE u v s
無向線を引く
HE u v
・・・・・・を見えなくする
SE u v
・・・・・・を見えるようにする
DE u v
・・・・・・を消す
CE u v s
・・・・・・の特徴を変える
EP u v s
・・・・・・を両向有向線に変更する
PE u v s
両向有向線を無向線に変更する
AP u v s
・・・・・・・・・・を引く
両向有向線
DP u v
・・・・・・・・・・を消す
有向線と無向線
CT u v
有向線と無向線の変更
無向線(Edges)
Pajek使用の手順
Step1
Step2
Step3
*.Netのデータをそろえる
*.Net形式にする
Pajekに*.Netを読み込む
Step4
Pajekに処理をさせる
Step5
Userの目的に一致するまで、処理をさせ、
目的達成で完了
本日の手順説明の対象
Step1
Step2
Step3
*.Netのデータをそろえる
本日は一連の
流れを追う
*.Net形式にする
Pajekに*.Netを読み込む
Step4
Pajekに処理をさせる
Step5
Userの目的に一致するまで、処
理をさせ、目的達成で完了
処理につ
いての詳
細はマニ
ュアル参
照のこと
Step1
Step1
Step2
Step3
*.Netのデータをそろえる
*.Net形式にする
Pajekに*.Netを読み込む
Step4
Pajekに処理をさせる
Step5
Userの目的に一致するまで、処理を
させ、目的達成で完了
*.Netファイル
計算モデル
(アルゴリズム)
数理モデル
(数式)
実測調査
仮想ネットワー
クデータ
*.netファイル
Pajek
各種処理
各種ファイル
ネットワーク可
視化
統計処理
(R・SPSS)
*.Netファイルのデータ
• *.Netファイルのデータは、ネットワークトポロジー
(グラフ)を表す基本的なデータのみでよい。
(eg.頂点、出と入のリンクなど)
つまり、*.netファイルを作成することを意識しなくても
よく、基本的なデータの*.netに従った並べ替えで
*.netは作成できる。
注:UCINETを介せば、隣接行列をインポートできる。
Step2
Step1
Step2
Step3
*.Netのデータをそろえる
*.Net形式にする
Pajekに*.Netを読み込む
Step4
Pajekに処理をさせる
Step5
Userの目的に一致するまで、処理を
させ、目的達成で完了
*.netファイルの構成(1)
*Verteces 頂点数
頂点の宣言部分
ラインの宣言部分
*Arcs
有向線の宣言部分
*Edges
無向線の宣言部分
EdgesとArcs
• ラインには、Edges(無向線)とArcs(有向線)
の2種類が存在する。
*.netファイルの構成(2)
頂点宣言部分の構成
• はじめに、『*Vertices 頂点数』で、頂点の宣
言をする。
注:宣言文は必ず空白で、TABではだめ。
• 基本的に『頂点番号 “ラベル” 3次元座標』の
5列N行(Nは頂点数)の行列である。
(3次元でなく、2次元座標でもよい)
• 基本情報の他に、頂点に形・色などの頂点の
詳細情報を付与することも出来る。
*.netファイルの構成(3)
頂点の宣言部分
頂点の詳細設定
設定項目
形の設定
大きさの設
定
色の設定
コマンド
意味
例
elipse
楕円形にする
box
四角形にする
diamon
d
菱形にする
triangle
三角形にする
empty
ノードを表示しない
x_fact
x軸方向に何倍拡大す
るか
x_fact 3:x方向に3倍拡大
y_fact
y軸方向に何倍拡大す
るか
x_fact 5:y方向に5倍拡大
ic
ノードの内側の色を設 ic Red:ノード内を赤色にす
定
る
bc
bc Blue:ノードの枠を青色
にする
ノードの枠の色を設定
*.netファイルの構成(4)
ラインの宣言部分
• 基本的に
『出頂点番号 入頂点番号 ラインの値(重み)』
の3列行列である。
• Arcs(有向線)とEdges(無向線)をそれぞれ
別の宣言の箇所で行う。
宣言方法:*Arcsまたは*Edges
• ラインの形・色などの詳細な設定を、ライン毎
に付けることが出来る。
*.netファイルの構成(5)
ラインの宣言部分
ラインの詳細設定のコマンド
設定項目
コマンド
意味
例
ラベルの設定
l
ラベルを付ける
l nakama
色の設定
c
紐帯の色を設定する
c Green
p Solid
紐帯を実線にする
p Dots
紐帯を点線にする
形の設定
*.netファイルの作成
• ネットワークの基本的データを、*.netファイル
の形式に従い並び替えればよい。
ネットワークの
基本的データ
*.net形式にデータを
並び替え
*.net
Step3
Step1
Step2
Step3
*.Netのデータをそろえる
*.Net形式にする
Pajekに*.Netを読み込む
Step4
Pajekに処理をさせる
Step5
Userの目的に一致するまで、処理
をさせ、目的達成で完了
Pajekの4つのWindow(1)
• Pajekには、主に4つのWindowによって成り
立っている。
1、メインスクリーン:ファイルの読み書き・
コマンド入力
2、可視化:ネットワークを可視化する
3、Report:処理情報を表示
4、Edit:ファイル情報を表示
Pajekの4つのWindow(2)
Pajekのメインスクリーン
メインスクリーン・Networks
ボックスから*.netを読み込
む。
Step4
Step1
Step2
Step3
*.Netのデータをそろえる
*.Net形式にする
Pajekに*.Netを読み込む
Step4
Pajekに処理をさせる
Step5
Userの目的に一致するまで、処理
をさせ、目的達成で完了
Step4の細分化
Step4-1
Step4-2
メインスクリーンと各種ファイル
各種ファイルの意味
Step4-3
Pajekの処理の種類
Step4-4
Pajekの処理の例
Step4 を 細
分化して説
明する。
Step4-1
Step4-1
Step4-2
メインスクリーンと各種ファイル
各種ファイルの意味
Step4-3
Pajekの処理の種類
Step4-4
Pajekの処理の例
Step4 を 細
分化して説
明する。
メインスクリーンの構造
• メインスクリーンには、6つのボックスが存在
する。
Networks、Partitions、Vectors、
Permutations、Clsters、Hierarchy
それぞれに、対応するファイルが読み書きさ
れる。
• メインスクリーン上に、Pajekの処理を行うた
めのメニューが存在する。
ボックスとメニュー
メニュー
6つの
ボックス
各ボックスと読み込まれるファイル
*.net
*.clu
*.vec
*.per
*.cls
*.hie
Step4-2
Step4-1
Step4-2
メインスクリーンと各種ファイル
各種ファイルの意味
Step4-3
Pajekの処理の種類
Step4-4
Pajekの処理の例
Step4 を 細
分化して説
明する。
*.netの意味
*.net
ネットワークデータのファイル
可視化
ネットワークが可視化される。
*.cluの意味
*.clu
*.net
*.netの各頂点にクラス番号
を与える。
可視化
クラス番号毎に色分けして可視化される。
*.cluと可視化
*.cluの可視化
*.cluファイルの構造
上から頂点番号1のク
ラス番号1、頂点番号
2のクラス番号3・・
・と いう構成で ある
。頂 点番号はデ ータ
から 省略されて いる
。
*Vertices 327
1
3
3
1
3
1
1
2
3
3
1
3
1
1
2
3
3
図:clsファイルの構成
*.vec
*.vec
*.net
*.netの各頂点にVectorの量
を与える。
可視化
頂点がVectorの量に従い拡大される
Vector量と頂点の大きさ
頂点
Vector量大
*.vecファイルの構造
上から頂点1のVector量、
頂点2のVector量・・・と
いう構成になっている。
頂点番号はデータから省
略されている。
*Vertices 327
0.00000000000000000
0.02436998584237848
0.03633789523360075
0.00000000000000000
0.01225106182161397
0.00000000000000000
0.00000000000000000
0.04215195847097688
0.06586125530910807
0.07703633789523361
0.00000000000000000
0.01225106182161397
0.00000000000000000
0.00000000000000000
図:*.vecファイルの構成
*.vecの可視化
*.perの意味
*.per
*.net
*.netの各頂点の並び替えを行う。
図:*.perファイルの役割
Permutation
“Tanaka”
3 4
“kikuchi”
4 6
“Tanaka”
3 4
2
1
“yamada”
4 5
再配置
1→2
2→3
3→1
“yamada”
4 5
3
1
“kikuchi”
4 6
2
3
座標を反
映すると
ラインはまったくいじらないが
、頂点のすべての情報を入れ替
える(座標情報も)
“Tanaka”
3 4
“kikuchi”
4 6
2
1
つまり、処理としては頂点の再配置で
あるが、やっていることはラインの張
替えである(Rewire)
“yamada”
4 5
3
*.perのファイル構造
上から頂点番号1の
再配置頂点、頂点2
の再配置頂点である
。 つ ま り 、 1→102
、2→35・・・とな
る。張替え元の頂点
番号はデータから省
略されている。
*Vertices 327
102
35
308
285
225
15
12
59
188
306
66
85
240
327
図:*.perのファイル構造
*.clsの意味
*.cls
*.net
*.netの各頂点の部分集合
図:*.clsの役割
*.clsの生成
ネットワーク
抽出
ネットワー
クの部分集
合
*.cls
*.clsファイルの構造
このファイルの場合、
頂 点 数 ( 327 ) は 、
1~10 ま で の 頂 点 が ク
ラスターを形成してい
るといえる。もちろん
、連続の頂点番号でな
くても、クラスターを
形成することが出来る
。
*Vertices 327
1
2
3
4
5
6
7
8
9
10
図:*clsのファイル構造
*.hieの意味
*.hie
*.net
*.netの階層性データ
図:*.hieファイルの役割
*.hieから*.netを生成し可視化した
Step4-3
Step4-1
Step4-2
メインスクリーンと各種ファイル
各種ファイルの意味
Step4-3
Pajekの処理の種類
Step4-4
Pajekの処理の例
Step4 を 細
分化して説
明する。
Pajekの処理の種類
• Pajekの処理には、大別して4種類存在する。
1、各種ファイルを生成する処理
2、各種ファイルを修正する処理
3、各種ファイルを可視化する処理
4、各種ファイルをエクスポートする処理
処理(その1)
下記ファイルのいずれか
(または、複数)
各種ファイル
Pajek
*.net
*.hie
*.clu
*.cls
*.vec
*
.per
Pajekの処理により、これらのファイルが生成される
処理(その2)
修正
Pajek
*.net
*
*.clu
*.cls
*.vec
*.per
.hie
処理(その3)
*.net
*.clu
Pajek
可視化ネットワーク
*.vec
*.vec
2つのVectorファイ
ルを可視化すること
も可能
処理(その4)
*.net
可視化ネットワーク
*.clu
*.vec
Pajek
各種画像
ファイル
Bitmap
SVGなど
SPSS・Rのシ
ンタックスフ
ァイル
*.per
Step4-3
Step4-1
Step4-2
メインスクリーンと各種ファイル
各種ファイルの意味
Step4-3
Pajekの処理の種類
Step4-4
Pajekの処理の例
Step4 を 細
分化して説
明する。
各種メニュー
1.File
2.Net
3.Nets
各種ファイルの読み書きのメニュー
*.Netファイルを基にした、
生成と修正のためのメニュー
2つの*.Netファイルを基にした、
生成と修正のためのメニュー
4.Operations
各種ファイルを基にした、
生成と修正のためのメニュー
5.Pertiton
*.cluファイルを基にした、
生成と修正のためのメニュー
6.Pertitons
2つの*.cluファイルを基にした、
生成と修正のためのメニュー
7.Vector
*.Vecファイルを基にした、
生成と修正のためのメニュー
8.Vectors
2つの*.Vecファイルを基にした、
生成と修正のためのメニュー
9.Permutation
*.perファイルを基にした、
生成と修正のためのメニュー
10.Cluster
*.clsファイルを基にした、
生成と修正のためのメニュー
11.Hierarchy
*.hieファイルを基にした、
生成と修正のためのメニュー
12.Options.
Pajekのファイル読み書きなどに関する
設定を行うためのメニュー
13.info
各種ファイル情報をReportに
表示するためのメニュー
14.Tool
15.Draw
各種ファイルのエクスポートや
Pajekプログラムの追加・削除をするための
メニュー
各種ファイルの可視化を行うためのメニュー
デモ(その3)
• 実際にPajekを動かしてみる。
目的:1、処理手順の体感
2、Pajekの効果・特徴の把握
例その1
例その2
Step5(最終Step)
Step1
Step2
Step3
*.Netのデータをそろえる
*.Net形式にする
Pajekに*.Netを読み込む
Step4
Pajekに処理をさせる
Step5
Userの目的に一致するまで、処理
をさせ、目的達成で完了
Step5について
• コマンド詳細は、コマンドレファレンスを参照
• 複数のコマンドを組み合わせて、目的を達成
する。
(コマンドは数が多いため、説明できない。
各々で試してください。)
ダウンロード

Pajekプレゼン用資料 - ネットワーク科学