ARISE analyticsのTwitterのフォロワーをグラフ理論で分析した話

DX Technology Unitの福嶋です。
突然ですが、ARISE analyticsTwitterアカウントをフォローしていますか?

近年、Twitterに代表されるSNSは、企業の認知拡大・ブランディングを行ううえで重要な接点となっています。

ARISE analytics(以下ARISE)のTwitterのフォロワーも2020年7月にアカウントが開設されて以来、フォロワーが2021/7に128人、そして現在277人と順調に増えてきています(モットフエロ-)。

さらなるフォロワーの獲得のために必要なのは現状の把握です。現在フォローしていただいてるアカウントに刺さるコンテンツを提供することにより、拡散とフォローのサイクルを獲得できる可能性があります。

そのためには、
「どのような人がARISEをフォローしてくれているのか」
を知る必要があります。

仮説としては、「データサイエンティストに興味がある人」、「ベンチャー企業に興味がある人」などが考えられますが、定かではありません。この問を解き明かすことで、さらなる認知拡大につなげられるでしょう。

グラフ理論

さて、この分析を行う上で一つ課題があります。それは、
「フォロワーは個人アカウントであることが多く、直接その人の属性を知ることは困難である」
ということです。

そこで、アカウントの属性は、そのアカウントがフォローしているアカウントによって形成される1という仮説を基に分析を行っていきます。

ここで用いるのがグラフ理論です。
グラフ理論は、「ノード」と呼ばれる構成要素と「エッジ」と呼ばれる構成要素間の相互作用によって表される「グラフ」に関する数学の理論です。

グラフ

インターネット網・電力網・論文の引用・友人関係・俳優の共演など様々なものをグラフ構造に置き換えることができるため、業務でもたびたび用いられます。

今回はアカウントをノード、あるARISEをフォローしているアカウント(以下、ARISEフォロワー)“に一緒にフォローしている二つのアカウント同士をエッジを結ぶ「同時フォローグラフ」を作成することで分析を行っていきます。

同時フォローグラフ

グラフ理論における一般的な分析軸

本題に入る前に、グラフ理論において特に分析する観点について、「ザカリーの空手クラブ」2のデータセットを用いて簡単に説明します(ノードは部員、エッジは友人関係)。

ザカリーの空手クラブ

次数

次数は、各ノードが持つエッジの数のことです。

次数が大きいノードは、別ノードと多くの関係があることを示しています。

このデータのグラフ構造だけ見ると、0番、32番、33番の次数が大きいことから、この3人が中心的な役割を持っていることが推定できます。

ノードのサイズ=次数

距離と直径

グラフは各ノードから複数のエッジが出ていることから、二つのノード間を繋ぐ経路は複数存在しえます。そのため、相異なる二つのノードi,j間の距離は、「ノードi,jを繋ぐ最短経路に上に存在するエッジ数」で定義されています。

特に、あるノードAから別のノードへの距離の中で最も長いものをノードAの離心数グラフ内の全ノードにおける離心数の最大値をグラフの直径、最小値を半径と呼び、重要な指標となります。

空手クラブのグラフの直径は5(半径は3)であり、ノード16-20間が最大の距離の一つとなります(16-5-0-19-32-20)。

同一離心数のノードを同一円上に配置した図

中心性指標

中心性指標は、ノードの重要度を評価する指標です。

特に以下4つ(及びその派生)の指標が比較的人間の感覚に近く、分析においても使われる印象です。

・次数中心性
・近接中心性
・媒介中心性
・固有ベクトル中心性

次数中心性

次数中心性は、ノードの次数が大きいほど、中心性が高いとする指標です。「より多くの人と親密である=中心」というのはよくある考え方でしょう。

この指標では、各コミュニティのリーダ的存在であるノード0,32(あと33)が高くなっています。

近接中心性

近接中心性は、各ノードから自身以外すべてのノードへの距離の平均が短いほど、中心性が高いとする指標です。「比較的だれとでも仲良くできる人=中心」と考える指標だといえそうです。

この指標では、両リーダや両リーダと関わりのあるノード2,31,33の重要度が高くなっています。

媒介中心性

媒介中心性は、全ノード間の最短経路のうち自身を経由する必要がある回数が多いほど、中心性が高いとする指標です。 互いに接点がなさそうな様々なコミュニティ間に交流がある顔が広い人=中心」という考え方です。

この指標は、次数中心性と上位の傾向は近く、0,32,33が高く算出されています。

固有ベクトル中心性

固有ベクトル中心性は、グラフにおける隣接行列3の第一固有ベクトル4の各値が高いほど、中心性が高いとする指標です。少しイメージしにくいですが、この値は中心性が高いノードに隣接しているほどど高くなる性質を持っています。これは「リーダの仲介役=中心」と考えられるかもしれません。

今回は近接中心性と同じく、両リーダとかかわりがある、2,31,33が高い傾向が確認できます。

コミュニティ

コミュニティとは、ノード間のつながりがグラフ全体と比較して密であるような部分グラフのことを指します。

このコミュニティを計算する手法もまたいくつか存在し、例えば以下のようなものが挙げられます。

クリーク・パーコレーション

1つ目は、クリーク・パーコレーションと呼ばれる方法です。これは、k-クリークと呼ばれるノード数kの完全部分グラフと(k-1)個のノードが重なり合う別のk-クリークを同一コミュニティとする方法になります。

クリーク(完全グラフ)

赤枠部分がk-1(=2)個の共通部分を持つため、0,1,2,3は同じコミュニティ

空手クラブ

モジュラリティ

もう一つはモジュラリティを用いる手法になります。これは 「同一ノード/エッジ数を持つランダムなグラフと比較した際のリンク数の差」であるモジュラリティと呼ばれる指標を用い、モジュラリティが最大化された部分グラフ群を各コミュニティとする方法です。

今回は左の分割方法が望ましい

空手クラブ

空手クラブのデータでは、元々二つのコミュニティ(0と32がリーダ)が存在しています。リーダ同士(0,32)の距離が近いことから、クリーク・パーコレーションでは同じコミュニティに属すると判断されていますが、モジュラリティでは二つのコミュニティ・中間のコミュニティの系3つとまだ綺麗に分かれているようです。個人的にはモジュラリティで行う方が示唆を出しやすい印象があります。

本題

それでは、本題であるARISEフォロワーの分析に入りましょう。

分析データ

Twitter API5を用いARISEフォロワーのフォローアカウントのデータを抽出します。

・ARISEフォロワー: 179人(鍵アカウント除く)
・ARISEフォロワーのフォローアカウント: 102,229人(鍵アカウント除く)

※ ただし、3人以上のARISEフォロワーにフォローされているアカウントを対象とし、5人以上のARISEフォロワーが同時フォローしているかつJaccard係数6が一定の値を超えたアカウントペアのみエッジを張っています。

グラフ

グラフはGephi7というツールを用いて描画しています。大きな中央部と角が一本生えた感じになりました。

・ノード数8,549個
・エッジ数41,564個

同時フォローグラフ

ノード・エッジの重み

まずは、ノードとエッジの件数を確認します。

※ただし、「ノードの件数」は そのアカウントをフォローしているARISEフォロワー数、「エッジの件数」はエッジの紐づいている二つのアカウントペアを同時にフォローしているARISEフォロワー数のことを指します。

ノードの件数は、Data ScientistやKaggler、研究者などが上位に来ており、幣社の業務内容から想定できるものとなっています。

※ 個人情報保護のためプロフィールからわかる属性を掲載しています。2023/3/20時点。

フォロワーのフォロー人数

エッジ件数の上位も、ノードの件数上位のアカウント同士の共起が非常に多いことが確認できます。Data Scienceに興味のあるフォロワーさんは、多くのData Scientistを同時フォローしている可能性が高そうです。

フォロワーの同時フォロー人数

次数

続いて次数です。印象としては、書籍・勉強会などコミュニティを形成されているアカウントが上位に来ているように見受けられます。

次数

直径/半径

このグラフの直径は12と大きく、最大距離は赤丸間になります。 また半径は7と直径の約半分で、中心は黄丸付近になります。

直径と半径

中心性

次数中心性は次数と変わらないため、他の3つの中心性について確認していきます。

近接中心性

近接中心性は、全てのノードの平均値のような意味合いがあるため、Data Scientist群が中心に来るかと思いましたが少し違うようです。外資系(?)アカウント群と呼ぶのが良いのでしょうか。

「角」部分があるため少しその方向に中心が寄っている可能性がありそうです。

媒介中心性

媒介中心性は中心部と周辺部(今回だと「角」の部分)を繋ぐ境界ほど高くなる傾向が有ります。

固有ベクトル中心性

グラフ作成方法上、上位が個人アカウントになるため省略します。

コミュニティ

最後に「モジュラリティ」を用いてグラフを複数のコミュニティに分割したいと思います。

50アカウント以上あるコミュニティ13個に分離することができましたので、コミュニティに属するアカウントの傾向から(適当に)名前を付けました。

特筆すべき各コミュニティを見ていきましょう。

DS/コンサル

グラフのほぼ中間地点に存在するData Scientist群です。 件数Top10と顔ぶれは変わらず、ARISEフォロワーの属性の核といえそうで、Data Scienceに興味を持っていることがうかがえます。コミュニティこそ分かれていますが、数学/物理、学者コミュニティとも密接に繋がっており、修士/博士卒とDSの親和性を感じさせれられます。

Kaggler

Kaggleに限らないですが、データ分析コンペに出場している人が多いグループです。金メダルが欲しい!

セキュリティ

少し意外ではありますが、セキュリティ業界のコミュニティも存在しているようです。ARISEとしてもセキュリティ分野に取り組んでいますのでそこが一因でしょうか。

人事

就転職に関する企業/人事系アカウントがメインのコミュニティです。就活生の他働き方関連に携わっている人が確認できますので、ARISE analyticsが参加しているGreat Place to Work®(以下GPTW)への取り組みなどに興味を持ってフォローしている可能性もありそうです。

まとめ

ARISE analyticsのフォロワーは、

・「大学や大学院」「数学/物理・ CS・経済(株)」といった分野を選考(or 興味を持っている)

・「Data Science、コンサルティング、セキュリティ、ソフトウェアエンジニア」といった業界に興味を持っている(or 所属している)

・Kaggleや競プロに取り組んでいる

・Corp領域就活/転活/GPTWなどのCorp運営に興味を持っている

に大きく四分されているといえそうです。

元々の仮説からは大きくは外れていませんでしたが、セキュリティに興味を持っているアカウントやCorp系に興味を持っているアカウントがいるのは少し意外でした。

ARISEのテックブログは、Data Scienceに関する内容が多いですが、セキュリティ領域に関する内容も今後発信していきたいですね。

最後に

グラフ理論を用いARISEのフォロワーを分析してみました。グラフ理論による分析はテーブルデータによる分析とはまた違った示唆を得ることができますので皆さんも勉強してみてはいかがでしょうか。

参考文献

  1. Why we twitter: understanding microblogging usage and communities(Akshay Java et al. 2007) 
  2. Zachary’s karate club 
  3. 例えば無向グラフGにおいて、隣接行列Aの(i,j)成分及び(j,i)成分を、ノードiとノードjとを結ぶエッジが存在する場合は1、存在しない場合0としたもの 
  4. 行列Aに対して、Ax = λxとなる実数λのうち絶対値が最大となる数λ_maxに対応するxのこと(|x|=1) 
  5. Twitter API 。 
  6. Jaccard Index 集合同士の近さを判定する指標。 
  7. Gephi オープンソースのグラフ描画ツール。 

関連記事