Betweenness Centrality

10.5.1 The Ego Network

Twitterのよくある使い方は、家族、同僚、知人など個人のソーシャルネットワークと連絡を取り続けることです。 Twitter上の友人やフォロワーの中には、確実に親しい人がいる一方で、遠くの知人や全く知らない人もいるかもしれません。 我々は、Twitterユーザーの友人やフォロワーの集合を、”egocentric network “と呼んでいる。 Twitterユーザーの自己中心的なネットワークについて話すとき、そのユーザーを「エゴ」、その友人やフォロワーを「アルター」と呼ぶことが多い(ただし、これらの関係の1つについて話すときは「友人」または「フォロワー」という用語を使用する)。

自己中心的なネットワークでは、自我が分身を、分身が自我をフォローするという相互関係があり、両者は互いの近況を知ることができる。 社会科学における相互関係の研究によると、このような関係は遠い知人同士よりも、親しい友人や家族の間に存在することが多いようです。 この研究に従い、本節では、相互の結びつきが多いネットワークは、互いの更新に関心を持つような強い社会的関係の集合を示し、一方、一方通行の結びつきが多いネットワークは、Twitterの有名人のように、自我がフォロワーを知らないかもしれない、弱い社会的結びつきを示すと仮定する

社会ネットワークにおける強い結びつきのもう一つの指標は、自我の二つの分身の間に結びついた「閉じられた三つ組」だ。 この「クローズド・トライアド」についても、相互の結びつきと同様に、強い社会的結びつきの緊密なコミュニティほど、弱い社会的結びつきの緩やかなコミュニティよりも多くのクローズド・トライアドを特徴とすることが研究により示されている。 この研究結果を受け、私たちは、自分の分身である分身に多くのクローズド・トライアドが存在する分身は、全員がお互いを知っているような緊密なコミュニティに属している可能性が高いと推測しています。 一方、アルター間のクローズド・トライアドが少ないエゴは、孤独であるか、まったく個人でない可能性が高い。 たとえば、ビジネス マーケティング担当者の Twitter アカウントには、自社の製品に関心を持つ多くのフォロワーがいるかもしれませんが、それらのフォロワーはお互いを知らないことがよくあります。

開発または広告プラットフォームとして Twitter を使用したい場合、自己中心的ネットワークの分析が、しばしば実行可能な結果につながる可能性があります。 一方、一方通行の接続が多い疎な自己中心的ネットワークは、ネットワークの「ハブ」、つまり、フォロワーは多いが友達が少ないTwitterユーザーの行動に大きく影響される可能性があります。 特に、Twitter 上の有名人の自己中心的なネットワークを分析することにより、今日の金持ちや有名人が、何千人もの(何百万人もいないとしても)熱烈なファンにアプローチするために、どのようにソーシャルメディアを使用しているかを垣間見ることができます。 ほとんどの自己中心的なネットワークは、強い社会的関係と弱い社会的関係が混在しているため、相互関係やトライアドを単一の数字にまとめると、ソーシャル サークルについて誤った結論になることがよくあります。

多くの Twitter ユーザーは、些細なこと (食習慣) から旅行の手配、人生の大きなイベントなどの重要なことまで、自分の人生におけるイベントを発信しています。 これらのイベントは、短期的には、彼女の自己中心的なネットワークの一部を構成するユーザーのすべてのフォロワーに表示されます。 非常に小さな自己中心的ネットワーク(例えば、フォロワーが家族に限られている場合)では、海外旅行や引っ越しをした親族と連絡を取るために、このような形のブロードキャストが有用である。 しかし、アクティブなユーザーの中には、自分中心のネットワークを持つ人も多く、自分のツイートが全く興味のない人にまで伝わってしまうことも少なくありません。 また、Twitterはフォロワー数が多いため、誰が読んでいるのか把握しにくいという問題もあります。 NodeXLを使えば、同僚と家族というように、自己中心的なネットワークの中で異なるグループを比較的容易に識別することができます。 新しい Twitter リスト機能を利用して、これらのグループをフォローしたり、ツイートで参照するのに便利なリストに整理することができます。 そのための1つの方法として、NodeXLの「Twitterユーザーのネットワークからインポート>」機能を使います。 ExcelメニューのNodeXLタブをクリックし、NodeXLリボンの左側にあるインポート・ドロップダウンリストをクリックすると、いくつかのインポートオプションが表示されます(チェックボックス「Clear NodeXL Workbook First」がチェックされていることを確認してください)。 ドロップダウンリストから「From Twitter User’s Network」オプションを選択すると、ダイアログボックスが表示されます(図10.12)

Figure 10.12. NodeXLのTwitter User’s Networkインポート画面。 選択したレベルオプションは、@vlad43210の友人とフォロワーの両方、およびそれらの間の友人/フォロワーのつながりをインポートします。

ボックスの上部には、その自画像ネットワークを収集したいTwitterユーザーのテキストフィールドがあります。 この例では、@vlad43210という自分のTwitterアカウントの1つを使用します。 テキストフィールドの下には、3つのチェックボックスがあります。 ツイートにおけるフォロー、リプライ、メンションの関係に対してエッジを追加する。 他の2つのチェックボックスは、後で調査する情報ネットワークに関連するものです。 また、[友人とフォロワーの両方を取得] チェックボックスがチェックされていることを確認し、友人やフォロワーだけでなく、すべての alter についてデータを収集できます。

さらに下に、「X 度までのつながりを取得」ドロップダウン リストが表示されます。 ドロップダウン リストで “1.5” を選択すると、すべてのアルターと、それらの間のすべてのフォローと友人の関係をキャプチャできます。 後者の関係は、自己中心的なネットワークにおける閉じた三角形の存在を観察するために必要である。 次に、「Add statistic columns to the Vertices workheet (slower) 」と「Add a tweet column to the Vertices workheet」のチェックボックスが外れていることを確認する。 これらは、自己中心的なネットワークでの Twitter の活動に関するデータを収集するために非常に便利ですが、現在の例の目的のために、活動ではなく、関係に焦点を当てています。

最後の 2 つのテキスト フィールドでは、ホワイトリストの Twitter アカウント(前述)を持つ場合に、ユーザー名とパスワードを指定できます。 これらを入力してもしなくても、次に[OK]をクリックすると、データのインポート処理が開始されます。 プロセスが完了すると、スプレッドシートが再び表示され、Twitterユーザーのペアの行とそれらの間の関係で満たされます。 これらのユーザーと関係をグラフ・キャンバスに表示するには、「グラフを更新」をクリックする必要があるかもしれません。 この例では、@vlad43210を中心とする自我が、多数の分身に取り囲まれていることに注意してください。 これは、@vlad43210が、互いにフォローし合っていない多くのアルターを持っているためです。 これらは、彼の社会的なつながりが弱く、そのほとんどが見知らぬ人であると考えられる(図10.13)

図10.13. vlad43210の1.5度エゴセントリック・ツイッターネットワーク。 中心の頂点は@vlad43210で、端の多くの頂点は@vlad43210の弱い社会的つながりを表し、そのほとんどは全く知らない人です。

友人またはフォロワーのいずれかの方向に他の人と少なくとも二つのつながり(両方のつながりは同じ人であってもよい)を持つ@vlad43210の自分中心ネットワーク内のアルターを探すことによって、強い社会的つながりに注目することができます。 私たちがデータを収集したすべての人が、@vlad43210と少なくとも1つの結びつきを持つことになります。 少なくとも2つの結びつきがある分身は、@vlad43210の別の分身と結びついているか(閉じた3人組の一員であることを示す)、@vlad43210と相互に友人/フォローの結びつきがあるかのいずれかである。 先に述べたように、これらの要因はいずれも@vlad43210と当該個人の間に、より強い社会的関係が存在することを示している可能性があります。 ネットワークのグラフ表現では、他の人と2つの結びつきがあるアルターは、その人と少なくとも1つの他の頂点との間に少なくとも2つのエッジ(どちらかの方向)がある頂点で表されることになります。 これらの頂点にのみ注目するためには、まず、入次数と出次数を計算する必要があります。 グラフメトリクスの計算」ボタンをクリックし、「in-degree」「out-degree」にチェックを入れ、「Compute Metrics」をクリックします。

ここで、in-degree + out-degree > 1に基づいてグラフ内の頂点の可視性を設定しましょう。 この基準に適合する頂点は、少なくとも 2 人の友人、2 人のフォロワー、または 1 人の友人と 1 人のフォロワー (これらは同一人物である可能性があります) を持ち、これはまさに私たちが探しているものです。 これを行うには、まず、Vertices ワークシートの “Add your own Columns here” ラベルの下のセルをクリックして新しい列を追加し、セル値を C3 と D3 の合計(それぞれ in degree と out degree に対応)に設定する。 列の残りのセルには、同じ数式がオートフィルされます。 ここで、列のラベルを編集して、この新しい列に「Sum Degree」というラベルを付けます。 最後に、「Autofill Columns」をクリックし、「Vertex Visibility」の隣のドロップダウンリストをクリックし、「Sum Degree」をクリックし、ドロップダウンリストの隣のボタンをクリックして、テキストボックスに1を入力して、内度 + 外度 > 1の頂点だけを表示することを示します。 OK」、「Autofill」、「Refresh Graph」の順にクリックします。 その代わりに、@vlad43210を取り囲むように、2つの頂点が密に接続されたグループがあり、グループ間の接続はわずかです。

この図から、@vlad43210の自己中心的ネットワークには、2つの密接に接続したグループ、またはクラスター、アルターがあると考えられます。 NodeXLは自動クラスタ検出を行うことで、この直感を確認することができます。 クラスターを検出するには、NodeXLメニューリボン内の分析セクションにある「クラスターを検索」をクリックするだけです。 NodeXLは自動的にクラスターを検索し、異なるクラスター内の頂点に異なる色を割り当てます(これらの割り当ては、オートフィル列またはワークシートの編集により定義された頂点の色を上書きします)。

図10.14グラフの更新をクリックすると、新しい頂点色がキャンバスに表示されます。 vlad43210の1.5度エゴセントリックなTwitterネットワーク。 見ず知らずの人をフィルタリングして、@vlad43210の強い社会的つながり、つまり彼の友人や同僚に焦点を合わせています。 864>

異なるクラスタの頂点をクリックして、そのクラスタが @vlad43210 の自己中心的な Twitter ネットワークの意味のある分割を表しているかどうかを感じることができます。 実際、ワークシートを調査すると、紫のクラスターは Vlad の学友に対応し、緑のクラスターは彼の友人 (@vlad43210 がフォローしているユーザーという Twitter の意味ではなく、一般的な意味での) に対応していることがわかります。 このクラスタを使用して、Vlad の Twitter アカウントに、友人と通信するためのリストと同僚と通信するためのリストの 2 つを作成できます。

また、前述の固有ベクトル中心性と間中心性の概念を使用して、@vlad43210 の自分中心の Twitter ネットワークにおける行為者の相対的重要性を注意と情報の観点から見ることができます。 10.3.1節で述べたように、友人・フォロワーネットワークで固有ベクトル中心度が高いアクターは注目の中心であり、同じネットワークで間性中心度が高いアクターは情報の仲介者であることがわかります。 NodeXL では、これらの量をグラフ・キャンバスの頂点の異なるプロパティにマッピングすることによって、同時に可視化することができます。

ここで、頂点の色を固有ベクトル中心性に、頂点のサイズを近接中心性にマッピングしましょう。7 これを行うには、まず NodeXL メニューリボンの分析セクションのグラフ・メトリクス・ボタンをクリックして、 “Eigenvector centrality” および “Betweenness and Closeness centralities” にチェックをして “Compute Metrics” をクリックしてください。 次にNodeXLメニューのAutofill Columnsボタンをクリックし、”Vertex Color “の隣のドロップダウンリストをクリックして “Eigenvector Centrality “を選択、”Vertex Size “の隣のドロップダウンリストをクリックし “Betweenness Centrality “を選択します。 グラフ表示ペインの “Autofill” をクリックし、Refresh Graph ボタンをクリックすると、グラフキャンバスの頂点のサイズと色が更新されます。 なぜなら、@vlad43210は定義上、彼の自己中心的なネットワークの中心にいるので、彼のbetweennessと固有ベクトルの中心性は高くなりますが、彼のネットワークにおける@vlad43210の位置については何も教えてくれません。 864>

図10.15と図10.16を比較すると、@vlad43210のネットワークでの位置は、@vlad43210のネットワークでの位置は、@vlad43210のネットワークでの位置と同じで、@vlad43210の中心から離れたところにあることがわかります。16を比較すると、@vlad43210の同僚は彼の友人よりも注目の的ですが、2つのクラスタは情報の流れという点ではかなり均等であることがわかります(例外として、@redlogは固有ベクトルと間性の中心性がともに非常に高く、グラフでは大きな緑のノードとして現れています)

Figure 10.15. vlad43210の1.5度エゴセントリックTwitterネットワーク(強い社会的結びつきのみ)。 NodeXLは自動的にクラスターを識別し、異なる色を付けている。 右上(緑)は@vlad43210の友人、左下(紫)は彼の学術的な同僚に対応する。

図10.16。 vlad43210の1.5度の自己中心的なTwitterネットワーク。 緑の頂点ほど固有ベクトル中心度が高く、大きな頂点ほど間中心度が高い。

最後に、@vlad43210の友人とフォロワーの自己中心的ネットワークと@vlad43210の@repliesとmentionのネットワークを比較してみましょう。 どちらも自己中心的なネットワークですが、それぞれでオルターが同じとは限らないことに注意してください。 NodeXLは、執筆時点ではユーザーの詳細な@replyとmentionデータをインポートしませんが、Twitter APIで素早く回避することが可能です。 statuses/mentions APIを使って、URL www.twitter.com/statuses/mentions.xml にアクセスし、@vlad43210の友人やフォロワーのうち、彼に@replyしたり、彼のTwitterユーザ名をツイートの中で言及した人の名前と、名前ごとの@replyや言及の数を手動で記録することができます。 vlad43210は@replyやmentionをあまり受けないので、この作業は時間を要しません。もっと時間を要する作業は、これらの名前を自動的に記録するスクリプトを作成することです。 次に、そのような名前ごとに、@vlad43210と、彼に@repliedまたは言及したユーザーを結ぶエッジをエッジワークシートで見つけます。 これらの辺の幅を、対応するユーザーによる@vlad43210への@リプライまたは言及の回数に手動で設定します。 最後に「グラフを更新」を押すと、これらの更新が反映されます(図10.17)。

図 10.17. vlad43210の1.5度エゴセントリック・ツイッターネットワーク。 緑の頂点ほど固有ベクトル中心性が高く、大きな頂点ほど間隙中心性が高い。 864>

この結果から、@vlad43210の同僚は彼の友人よりも注目されているが、彼の友人は同僚よりも@vlad43210に@replyしたり言及したりする頻度が高いことがわかる。 また、@redlogのように@vlad43210と中心性の高いアクターが@replyやmentionでつながっている場合もありますが、@vlad43210と中心性の低いアクターがつながっている場合もあることに注意しましょう。 vlad43210の友達/フォロワーの自己中心的ネットワークにおける情報と注目の関係が、@replies/mentionsの自己中心的ネットワークにおいて必ずしも同じ重みを持つとは限りません。

高度な話題

グラフ内の頂点を揃える

図10.9と10.10(情報/注目ネットワークと中心性のネットワークの例)を簡単に見ていきましょう。 少数の頂点をグループ分けがはっきりわかるように並べたいとします。 先ほどの「高度な機能」で説明したように、NodeXL のネットワークは通常のスプレッドシートのように操作することができます。 Vertices タブには “X” と “Y” という列があり、グラフ内の頂点の位置が格納されています。 また、”Locked? “というカラムがあり、頂点の位置を固定するか、グラフを再描画したときに移動できるようにするかを制御します。

頂点を好きなように並べ替えたら、次のマクロを実行して、頂点を完全に揃えます。

Sub Realign()

RDIST = 500

COL_VERTEX = 1

COL_LOCK = 21

COL_X = 19

Sub Realign() 各位置に丸める距離

COL_Y = 20

ROW_START = 3

Dim wksht As Worksheet

Set wksht = Sheets(“Vertices”)

current_row = ROW_START

Wile wksht.Dim

Dim wksht As Worksheet

Set wksht = Sheets(“Dim”)Cells(current_row, COL_VERTEX).Text > “”

′ 頂点の位置がロックされていることを確認する

wksht.Cells(current_row, COL_VERTEX).Text > “”

wksht.Cells(current_row, COL_LOCK) = “Yes (1)”

′x と y を丸める

x = Round(wksht.Cells(current_row, COL_X) / RDIST) * RDIST

wksht.Cells(current_row, COL_LOCK) = “Free”

Wksht.Cells(current_row, COL_X) = x

y = Round(wksht.Cells(current_row, COL_Y) / RDIST) * RDIST

wksht.Cells(current_row, COL_Y) / RDIST

wksht.Cells(current_row, COL_Y) = y

current_row = current_row + 1

Wend

End Sub

グラフ内の各頂点をループするマクロです。 最初に頂点の位置を固定し、次にX, Y座標を500ピクセルに最も近い値に丸めます。 つまり、2 つの頂点が隣り合っていて、それらの Y 座標が 1498 と 1502 の場合、それぞれは y = 1500 に再配置されます。 これにより、頂点が適切に配置されます。

コメントする