第1章 分析できる環境を用意する-ツールや言語の把握 1 [教員] (12ページ)
1.1 ネットワークとは
1.2 ネットワーク分析ツール
1.2.1 NetworkX
1.2.2 Gephi
1.2.3 graph-tool
1.2.4 igraph
1.3 ネットワーク可視化ツール
1.3.1 Matplotlib
1.3.2 Bokeh
1.4 プログラミング言語-Python
1.5 代表的なPythonの実行環境-Jupyter Notebook
1.6 本書で使用するPythonの実行環境-Colaboratory
練習問題
Andrea Lancichinetti, Mikko Kivela, Jari Saramaki, Santo Fortunato: Characterizing the community structure of complex networks, PLoS One 5(8), e11976 (2010).
第2章 ネットワーク分析の流れを知る-小説の人間関係を紐解く 13 [赤尾] (22ページ) [Colaboratory]
2.1 データの入力
2.1.1 実ネットワーク
2.1.2 人工ネットワーク
2.1.3 データ構造
2.2 ネットワークの可視化
2.3 中心性の計算
2.4 特徴量の計算
2.5 コミュニティの抽出
2.6 結果の出力、保存
練習問題
第3章 必要な用語を学ぶ-ネットワークの基礎知識 35 [山本] (19ページ)[Colaboratory]
3.1 隣接行列、辺リスト
3.2 次数
3.2.1 次数、次数分布
3.2.2 有向グラフ、無向グラフ
3.2.3 多重辺、自己ループ
3.2.4 有向グラフから無向グラフへの変換
3.2.5 2部グラフ
3.3 パス 54 [宇川] (18ページ)
3.3.1 パスの概要
3.3.2 サイクル
3.3.3 非循環グラフ
3.3.4 直径
3.4 連結成分 64
3.4.1 連結、連結成分
3.4.2 強連結成分
3.4.3 連結性
3.5 グラフラプラシアン 72 [中北] (11ページ)
3.6 クラスタ係数
3.7 次数相関
練習問題
第4章 中心を見つける-さまざまな中心性 83 [葛西] (14ページ)[Colaboratory]
4.1 さまざまな中心性の定義
4.2 次数中心性
4.3 固有ベクトル中心性
4.4 Katz中心性
4.5 PageRank
4.6 媒介中心性
4.7 近接中心性
4.8 中心性の比較
練習問題4
第5章 経路を見つける-ネットワークの探索 97 [鈴木] (16ページ)[Colaboratory]
5.1 幅優先探索と深さ優先探索
5.2 ダイクストラのアルゴリズム
5.3 最大流最小カット
練習問題
第6章 グループを見つける-分割と抽出 113 [藤兼] (16ページ)[Colaboratory]
6.1 ネットワーク分割
6.1.1 Kernighan-Linアルゴリズム
6.1.2 スペクトラル分割
6.2 コミュニティ抽出
6.2.1 ラベル伝搬
6.2.2 モジュラリティ最適化
6.2.3 スペクトラルなモジュラリティ最適化
練習問題
第7章 似たネットワークを作る-モデル化 129 [小林] (16ページ)[Colaboratory]
7.1 次数分布
7.2 ランダムグラフ
7.3 コンフィギュレーションモデル
7.4 スケールフリーグラフ
7.5 スモールワールドグラフ
練習問題
第8章 似た頂点を見つける-将来の構造予測 145 [嶋田] (16ページ)[Colaboratory]
8.1 頂点間の類似度
8.2 リンク予測
8.3 network embeddingによるリンク予測
練習問題
第9章 病気や口コミの広がりをモデル化する-感染、情報伝搬 161 [那須] (12ページ)[Colaboratory]
9.1 SI model
9.2 SIR model
9.3 NDlibによるシミュレーション
9.4 その他の感染モデル
練習問題
第10章 ネットワークを俯瞰する-可視化による分析 173 [清水] (10ページ)[Colaboratory]
10.1 静的なネットワーク可視化
10.2 インタラクティブなネットワーク可視化
10.3 本書で使用した可視化ツール
練習問題
第11章 リファレンス 183
11.1 参考文献
11.2 ネットワークデータ
11.3 ネットワーク分析の関連情報
11.4 本書の追加情報
練習問題解答