Upgrade to Pro — share decks privately, control downloads, hide ads and more …

ネットワーク可視化の世界

Yosuke Onoue
December 28, 2024

 ネットワーク可視化の世界

ネットワークデータの可視化のツールは世にたくさん出回っていますが、ただ使うだけでは「よくわからないけどすごそうな画」が出るだけで活用が進みません。このトークでは、ネットワークデータから知見を見出し活用する手助けになるように、ネットワーク可視化の原理について主要なものを紹介します。

Yosuke Onoue

December 28, 2024
Tweet

More Decks by Yosuke Onoue

Other Decks in Technology

Transcript

  1. ネットワークデータの作成 • ネットワークデータ ◦ 2要素間の関係性の有無を集約 ◦ 例:SNSのフォロー・被フォロー関係   ECサイトの購入履歴 • 非ネットワークデータ

    ◦ 要素間の関係性を定義することで ネットワークデータに変換できる ◦ 例:単語の共起関係   ベクトルデータの類似度 • サンプリング・粗視化 ◦ 大規模なネットワークデータを 全体的な構造を保ったまま削減 A B C D E データ(要素の集合) B C BとCが友達 etc.
  2. ネットワークデータの視覚的表現 • 視覚属性 ◦ ノードの大きさ、色、etc. ◦ リンクの太さ・色、etc. • 反映する情報 ◦

    データの属性を反映 ◦ ネットワークから特徴を計算 eg. 中心性、コミュニティ • エッジバンドリング
  3. ネットワーク可視化ツール ネットワーク可視化ソフトウェア • Gephi https://gephi.org/ • Cytoscape https://cytoscape.org/ • Tulip

    https://tulip.labri.fr/site/ • GraphViz https://graphviz.org/ ネットワーク可視化ライブラリ • NetworkX(Python) https://networkx.org/ • igraph(C、Python、R) https://igraph.org/ • OGDF(C++) https://ogdf.uos.de/ • d3-force(JavaScript) https://d3js.org/d3-force • cola.js(JavaScript) https://marvl.infotech.monash.edu/webcola/ • sigma.js(JavaScript) https://www.sigmajs.org/
  4. グラフ描画 • グラフ:G = (V, E) 頂点(ノード)集合:V 辺(エッジ、リンク)集合:E • グラフ描画:グラフを入力して

    頂点の空間への埋め込みを出力する • 用途に応じて様々なアルゴリズム が存在 https://cs.brown.edu/people/rtamassi/gdhandbook/ プレプリント版PDFは無料公開
  5. Force-directedアルゴリズム • ノード間にはたらく力学的な力から エネルギーの停留点を求める ◦ フックの法則 • Spring-electricモデル ◦ リンクで結ばれた頂点ペアを

    バネで結ぶ ◦ 全ての頂点間にクーロン力による 斥力がはたらく • Springモデル ◦ 全ての頂点ペアをバネで結ぶ 自然長 伸びたとき 縮んだとき
  6. Spring-electricモデル • 全頂点ペアの斥力の計算に時間計算量O(|V|2) ➡ Barnes-Hut近似を用いてO(|V|log|V|) • 初期配置の影響を受けやすい • 主要なアルゴリズム ◦

    Fruchterman-Reingold(Fruchterman and Reingold 1991)、 Fast Multipole Multilevel Method(Hachul and Junger 2004)、 ForceAtlas2(Jacomy et al. 2014)、 etc. • 解説:https://computing2.vdslab.jp/docs/network/graph-drawing
  7. Springモデル(ストレスモデル) • 自然長を理想距離としたバネで全頂点ペアを結ぶ ◦ グラフ理論的最短経路長が理想距離として用いられる ◦ バネの弾性エネルギー(ストレス関数)を最小化 ◦ 非凸非線形最適化問題 ➡

    最適解を得ることは理論的に難しい ◦ 全頂点対最短経路問題が必要 ➡ 時間計算量 O(|V|3) or O(|V|2log|V|) • 主要なアルゴリズム ◦ Kamada-Kawai(Kamada and Kawai 1989)、Stress Majorization(Gansner et al. 2005)、 MDS(Brandes and Pich 2006)、SGD(Zheng et al. 2018)
  8. Stress Majorization • 優関数法(Majorization Technique)を用いたストレス関数の最小化 • デモ:https://egraph.vdslab.jp/stress-majorization • 解説:https://qiita.com/_likr/items/a7070f6188a7a11ad89e Gansner,

    E. R., Koren, Y., & North, S. (2005). Graph drawing by stress majorization. In Graph Drawing: 12th International Symposium, GD 2004, New York, NY, USA, September 29-October 2, 2004, Revised Selected Papers 12 (pp. 239-250). Springer Berlin Heidelberg.
  9. SGD • 確率的勾配降下法(SGD:Stochastic Gradient Descent)を 用いたストレス関数の最小化 ◦ 質の低い局所的最小解に陥りにくい ◦ 実装が容易

    ◦ 拡張が容易 • デモ:https://egraph.vdslab.jp/sgd Zheng, J. X., Pawar, S., & Goodman, D. F. (2018). Graph drawing by stochastic gradient descent. IEEE transactions on visualization and computer graphics, 25(9), 2738-2748.
  10. MDS • 重みなしストレス関数の最小化問題を古典的多次元尺度構成法 (MDS:Multi-dimensional Scaling)で解く • 初期配置に依存しない ➡他のグラフ描画アルゴリズムの初期配置として利用可能 • デモ:https://egraph.vdslab.jp/mds

    Brandes, U., & Pich, C. (2006, September). Eigensolver methods for progressive multidimensional scaling of large data. In International Symposium on Graph Drawing (pp. 42-53). Berlin, Heidelberg: Springer Berlin Heidelberg.
  11. 余談:グラフ描画と次元削減 • MDSによるグラフ描画は次元削減手法の古典的MDSと等価 • Stress Majorizationによるグラフ描画は 次元削減手法のメトリックMDSと等価 • 次元削減手法のRadVizはバネを用いて各点の位置を決定する •

    次元削減手法のUMAPは内部的にSpring-electricモデルを用いる • (主にForce-directedアルゴリズムを用いた)グラフ描画は、 高次元ネットワークデータの低次元への埋め込み と解釈できる
  12. 制約付きストレスモデル • ノードの配置に制約を加えたストレスモデル • IPSep-CoLA(Dwyer et al. 2006) ◦ 階層制約

    ◦ 重なり除去 ◦ クラスタグループ ◦ etc. • デモ:https://marvl.infotech.monash.edu/webcola/ Dwyer, T., Koren, Y., & Marriott, K. (2006). IPSep-CoLa: An incremental procedure for separation constraint layout of graphs. IEEE transactions on visualization and computer graphics, 12(5), 821-828.
  13. 非ユークリッド空間でのグラフ描画 • リーマン多様体上でのノードに 働く力は接平面で計算可能 • ノード位置の差がベクトルとして 得られたら計算可能 ➡ SGDを用いて位置を決定 •

    実用例 ◦ 球面、双曲面、(平坦)トーラス面 Kobourov, S. G., & Wampler, K. (2005). Non-Eeuclidean spring embedders. IEEE Transactions on Visualization and Computer Graphics, 11(6), 757-767. Kobourov and Wampler 2005
  14. 平坦トーラス面でのグラフ描画 • 上下・左右がそれぞれつながった平面上 でのグラフ描画 • デモ :https://ialab.it.monash.edu/~kche0088/WebCola/examples/torusgraphex ample.html Chen, K.

    T., Dwyer, T., Marriott, K., & Bach, B. (2020, April). Doughnets: Visualising networks using torus wrapping. In Proceedings of the 2020 CHI Conference on Human Factors in Computing Systems (pp. 1-11). Chen et al. 2020
  15. Force-directedアルゴリズムの主要な実装 • Fruchterman-Reingold ◦ NetworkX(spring_layout)、GraphViz(fdp) • FMMM ◦ OGDF(FMMMLayout) •

    ForceAtlas2 ◦ NetworkX(forceatla2_layout)、Gephi、Sigma.js • Kamada-Kawai ◦ NetworkX(kamada_kawai_layout) • Stress Majorization ◦ GraphViz(naeto)