Ce diaporama a bien été signalé.
Nous utilisons votre profil LinkedIn et vos données d’activité pour vous proposer des publicités personnalisées et pertinentes. Vous pouvez changer vos préférences de publicités à tout moment.

Rでソーシャルネットワーク分析

11 177 vues

Publié le

Japan

  • Soyez le premier à commenter

Rでソーシャルネットワーク分析

  1. 1. Rでソーシャルネットワーク分析 Hiroko  Onari #Japan.R 1st  of  December,  2012
  2. 2. 自己紹介 CodeIQ  -  https://codeiq.jp/ ITエンジニアの実務スキル評価サービス。ここで問題作成担当やっています。 これまでに出題した問題: R、データサイエンス、Python、Ruby、jQuery、PHP、HTML5、Perl、D3.js、情報推薦、 コードゴルフ、Google  Analytics、機械学習、Node.js、Objective-C、Haskell、アクセス 解析などなど 『プログラマのための論理パズル』Dennis  Shasha著を翻訳。 New  York  UniversityのComputer  Science学部⻑⾧長であるDennis  Shasha教授の授業のテキ スト。googleやyahooなどの採⽤用問題としても使われており、かつそれよりも難問。Shasha 教授はNYで難問パズル問題を作れる3本指に⼊入るほど有名な⽅方。 『ソフトウェアの世界でキャリアを築く』Sam  Lightstone著を翻訳。 元GoogleのVBであるMarrissa  Mayer,  C++の発明者Bjarne  Stroustrup,  電⼦子メールの発明 者Ray  Tomlinson,  Mr.LinuxことLinus  Torvalds,  Apple共同創業者Steve  Wozniakなどソフ トウェア業界で成功した⼈人たちにインタビューを⾏行行い、成功の法則を探っている本。 IBMのDB2エンジニアが書いた本。 『なぜ3⼈人いると噂が広まるのか』増⽥田直紀著をレビューしました。 複雑ネットワークをビジネスでどのように活⽤用されているか紹介した本。 レビューした関係で名前がでています。はじめに、のところです。
  3. 3. 今⽇日の発表内容1.ソーシャル・ネットワーク分析概要2.SNS「mixi」のデータを使った    ソーシャルネットワーク分析の論⽂文紹介      "Suicide  ideation  of  individuals  in  online  social  networks",        [Naoki  Masuda,  Issei  Kurahashi,  Hiroko  Onari      http://arxiv.org/abs/1207.0561
  4. 4. 1.ソーシャルネットワーク分析概要
  5. 5. ソーシャルネットワークとは• 独⽴立立したユーザ同⼠士の⼈人間関係を 表すグラフのことである• ユーザのことを「ノード」と呼ん だり、関係(繋がり)のことを 「リンク、エッジ」などと呼んだ りする
  6. 6. 有向ネットワーク関係性に⽮矢印があるネットワーク 例)有向グラフのオンラインサービス -  twitter -  Google+ -  YouTube -  Flickr 無向ネットワーク関係性に⽮矢印のないネットワーク 例)無向グラフのオンラインサービス -  mixi -  Facebook -  skype -  LinkedIn
  7. 7. 友達の数、隣⼈人の数 -    次数  -• 隣⼈人の数、友達の数を表す指標として、「次数(Degree)」がある。 ある個⼈人  に対して、次数は  で表す。 i ki• 友達の数の多い少ないは、ソーシャルネットワークを表現する⼀一つの指標。 次数が⼩小さい(友達が少ない)と孤独といったような。
  8. 8. ⼈人間関係はロングテール -  次数分布  -• 次数分布とは、次数  k  が全ノードに占める割合。p(k)と表す。 ∞ N −1 0 ≤ p(k) ≤ 1, p(k) = p(k) = 1 N = ノードの数 k=0 k=0 例) 1 2 1 p(0) = 0, p(1) = , p(2) = , p(3) = p(4) = , p(k) = 0(k ≥ 5) 5 5 5• ⼈人間関係において、次数分布はロングテールになることが知られている。ほ とんどの⼈人が⼩小さい次数(少ない友達の数)を持っており、⼀一部の⼈人たちがと ても⼤大きい次数(たくさんの友達)を持っている状態である。
  9. 9. クラスター係数• クラスター係数とはネットワーク上の三⾓角形の割合を計測するものである。 ソーシャルネットワークにおいては、クラスター係数は⼤大きいと、そのグルー プは密な関係性にあると考える[Wasserman    Faust,  1994;  Watts     Strogattz,1998;  Newman,  2010]。• クラスター係数には、「グローバルクラスター係数」と、「ローカルクラス ター係数」の2種の計算⽅方法がある。グローバルクラスター係数は、「推移 性」と呼ばれることもあり、社会学で使われる計算⽅方法である。グローバルク ラスター係数は、ネットワーク全体のクラスターを計測するものであり、ロー カルクラスター係数は、個別のノードが持つクラスターを計算するものであ る。
  10. 10. 無向ネットワークにおける ローカルクラスター係数の計算⽅方法• vi あるノード  におけるクラスター係数  を計算には以下の式を使う Ci vi を含む三角形の数 Ci ≡ ki (ki − 1)/2      *  0 ≤ Ci ≤ 1      *  ki  はノード  の次数(友達の数)       vi ki = 0 or 1        *  友達が0⼈人、または1⼈人の場合は三⾓角形が存在しないので計算から除外する(            )• クラスター係数の平均は以下の式で求める N 1 C≡ Ci . N i=1        *   0 ≤ C ≤ 1        *  N  はネットワーク内に存在するノードの数(但し、  i    =  0        は除く)       k       or 1
  11. 11. 友達の数と友達関係の密度 -  次数とクラスター係数  -• 次数  と、クラスター係数    は区別する必要がある。 ki Ci 友達の数は同じでも、クラスター係数が異なる場合、それは別のソーシャル・ ネットワークを持っていると解釈できる。 ki = 5 ki = 5 0 3 3 Ci = =0 Ci = = 5(5 − 1)/2 5(5 − 1)/2 10
  12. 12. 似たもの同⼠士が友達になる -  ホモフィリー  -• ⼈人間関係において、次数相関は正の相関になる。知⼈人関係などがそうである が、似たもの同⼠士が友達になる傾向にある。友達が少ない⼈人の友達はやはり友 達が少ない傾向にある。
  13. 13. Rのネットワーク分析パッケージ -  igraphとsna  -• Rにはネットワーク分析パッケージとして、igraphとsnaがある。 このあと紹介する論⽂文では、どちらのパッケージも使っていないので紹介しな いが興味がある⼈人は、以下を参照してみてください。 ⃝『Rで学ぶデータサイエンス8  ネットワーク分析』⾦金金明哲編/鈴⽊木努著 ⃝複雑ネットワーク勉強会の発表資料 「第2章ネットワークの特徴量(前半)『複雑ネットワーク』増⽥田直紀/今野紀雄 著  実践例付:R,  cytoscape,  gephi」 http://www.slideshare.net/hirokoonari/r-gephi-cytoscape-20120122
  14. 14. 2.SNS「mixi」のデータを使ったソーシャルネットワーク分析の論⽂文紹介
  15. 15. 今⽇日紹介する ソーシャルネットワーク分析の論⽂文• 実際のデータを使い、オンラインソーシャルネットワークにおける⾃自殺傾向の 分析を⾏行行った論⽂文を公開しました。 Suicide  ideation  of  individuals  in  online  social  networks,   Naoki  Masuda,  Issei  Kurahashi,  Hiroko  Onari プレプリント:http://arxiv.org/abs/1207.0561• いろんな海外メディアにとりあげてもらいました! ⃝MIT  technology  review:http://www.technologyreview.com/view/428419/spotting-suicidal-tendencies-on-social-networks ⃝i  programmer:http://www.i-programmer.info/news/197-data-mining/4460-social-networks-suicide-and-statistics.html ⃝Slashdot:http://science.slashdot.org/story/12/07/07/053209/social-networks-suicide-and-statistics ⃝The  Japan  Daily  Press:http://japandailypress.com/japan-looks-at-social-networks-to-identify-potential-suicides-066080
  16. 16. 分析に使ったデータ• 2012年3⽉月時点のSNS「mixi」の登録ユーザ数は          である。   2.7 × 107• mixiが他のSNSにはない特徴として「コミュニティ」というものがある。趣味 や関⼼心を共通とするグループであり、mixiユーザは好きなものにコミュニティ に参加し、その中でのコミュニケーションを楽しむ。 2012年4⽉月時点で、          以上のコミュニティが存在している。 4.5 × 106• mixiは2004年にローンチしたサービスで、⽇日本で最もメジャーなSNSである。• 解析にあたっては、株式会社ミクシィからデータ提供を受けた。ミクシィ社員 が個⼈人情報を削除したデータを、我々がミクシィ社内でインターネット⾮非接続 のPCを⽤用いて解析を⾏行行った。解析はRを使った。
  17. 17. データサンプリング• Suicide のサンプリングデータ  (9990ユーザ) 以下の条件を満たす4つのコミュニティを抽出。   (1)  「⾃自殺」という⾔言葉をコミュニティ名に含んでいる (2)  コミュニティのメンバーが1000⼈人以上 (3)  1つのトピックに最低100のコメントがついている (4)  2011年10⽉月時点で3つのトピックがたっている (5)  「参加条件と公開レベル」が「だれでも参加できる」になっている これらの条件を満たすコミュニティに属するユーザで、2011年8⽉月から12⽉月の 間で⽉月平均20⽇日以上ログインしているアクティブユーザ9990⼈人をサンプリン グシードとした。友達が1⼈人以下のユーザは対象外にした。• Control のサンプリングデータ(228949ユーザ) Suicide の条件のコミュニティに属していないアクティブユーザをランダムに 抽出。友達が1⼈人以下のユーザは対象外にした。
  18. 18. ソーシャル・ネットワーク指標を観る• 下記のネットワーク指標を計測した -  次数 -  次数分布 -  クラスター係数 -  ホモフィリー
  19. 19. 次数分布• オンラインソーシャルネットワークであっても、リアルなソーシャルネット ワーク同様、次数分布はロングテールになっている。
  20. 20. 次数とクラスター係数• 縦軸を各次数(k)におけるクラスター係数の割合C(k)、横軸を次数で分布した。 次数が⼤大きいと、⼈人間関係は疎になりやすく、クラスター係数も低くなりやす い。次数が少ないほど、密な⼈人間関係にあるというのは、⼈人間関係の特徴とも いえる[Newman,  2010].
  21. 21. ホモフィリー• 横軸に次数、縦軸にホモフィリーをおいた。ここではホモフィリーの指標とし て、Suicide  group/Control  groupの友達が、我々の定義するSuicideのコミュ ニティに属している割合とおいた。似たもの同⼠士という概念でいえば、友達も 似たようなコミュニティに属しやすい。
  22. 22. 使った統計⼿手法• 単回帰と重回帰:  Suicide  groupに属しやすさを計測• VIF  (variance  inflation  factor):  重回帰における多重共線性をチェックする 指標。強い相関がある説明変数を含めると正しく予測できなくなる。VIFは10 以下(より好ましいのは5以下)におさまること。• ピアソン相関、スピアマン相関、ケンドール相関:  説明変数間の相関を計測す るもの• AUC  (area  under  the  receiver  operating  characteristic  curve):  ロジ スティック回帰のあてはまりの良さを計測。AUCは0.5から1の間になることが 望ましく、1に近いほどあてはまりがよいと⾔言える。
  23. 23. 説明変数個⼈人属性年齢性別ローカルネットワーク変数次数 友達の数ローカルクラスター係数 無向グラフにおけるローカルクラスター係数ホモフィリー Suicideコミュニティに参加している友達の割合mixiにおけるアクティビティ指標コミュニティ参加数 参加しているコミュニティの数登録期間 mixiに登録してから2012年1⽉月23⽇日までの⽇日数
  24. 24. 単変量解析結果 Suicide group Control group (N = 9, 990) (N = 228, 949) Variable p-value Range Range Mean±SD (min,max) Mean±SD (min,max) Age 27.4±10.3 (17, 97) 27.7±9.2 (14, 96) 0.000652 Community number 283.7±284.3 (1, 1000) 46.3±79.4 (1, 1000) 0.0001 ki 82.9±98.7 (2, 1000) 65.8±67.6 (2, 1000) 0.0001 Ci 0.087±0.097 (0, 1) 0.150±0.138 (0, 1) 0.0001 Homophily (suicide) 0.0110±0.0329 (0, 1.000) 0.0012±0.0080 (0, 0.667) 0.0001 Registration period 1235.7±638.9 (122, 2878) 1333.5±670.5 (102, 2891) 0.0001 Gender (female) 5,786 (57.9%) 126,941 (55.4%) 0.0001No. suicidal communities 1.20±0.51 (1, 4) N/A N/A N/A No. login days 28.9±4.4 (1, 31) 26.9±6.3 (1, 31) 0.0001Rで使った関数:summary,  sd
  25. 25. コミュニティ数のプロット• コミュニティ数の差が著しいのでプロットしてみた。
  26. 26. 重回帰分析結果 Variable OR CI p-value VIF Age 1.00463 (1.00211, 1.00716) 0.000313 1.091 Gender (female = 1) 0.821 (0.783, 0.861) 0.0001 1.028 Community number 1.00733 (1.00720, 1.00747) 0.0001 1.197 ki 0.99790 (0.99758, 0.99821) 0.0001 1.156 Ci 0.0093 (0.0069, 0.0126) 0.0001 1.081 Homophily (suicide) 2.22 × 1012 (0.57 × 1012 , 8.65 × 1012 ) 0.0001 1.016 Registration period 0.999383 (0.999346, 0.999420) 0.0001 1.135 *  OR:  odds  ratio;  CI:  95%  confidence  interval;  VIF:  variance  inflation  factor AUC 0.873-  年齢が1歳⼤大きくなると、1.00463倍Suicide  groupに属しやすい.-  ⼥女女性が男性に⽐比べて、0.821倍Suicide  groupに属しやすい.  -  参加コミュ数が1⼤大きくなると、1.00733倍Suicide  groupに属しやすい-  マイミク数が1⼤大きくなると、0.99790倍Suicide  groupに属しやすい-  クラスター係数が0.01⼤大きくなると、0.0093^0.01=0.951倍Suicide  groupに属しやすい-  Homophily  (Suicide)が0.01⼤大きくなると、  (2.22  *  10^12)^0.01=1.329倍Suicide  groupに属しやすい-  Registration  periodが1⽇日⻑⾧長くなると、0.999383倍Suicide  groupに属しやすい-  VIFはどれも問題ない-  AUCは⾼高いのであてはまりはよいRで使った関数:glm,  vif,  colAUC
  27. 27. 相関係数の結果 Control Suicide Depression Variable 1 Variable 2 P S K P S K P S K Age Gender −.053 −.026 −.022 −.094 −.137 −.116 −.166 −.174 −.145 Age Community number −.032 .023 .015 −.045 −.105 −.073 −.089 −.131 −.091 Age ki −.279 −.385 −.271 −.103 −.224 −.157 −.168 −.268 −.187 Age Ci .041 −.152 −.111 −.048 −.220 −.154 −.092 −.273 −.192 Age Homophily (suicide) −.011 −.090 .074 .031 −.037 −.029 N/A N/A N/A Age Homophily (depression) −.007 −.083 −.066 N/A N/A N/A .166 .121 −.089 Age Registration period .278 .460 .337 .159 .356 .259 .203 .364 .266 Gender Community number .110 .116 .095 .205 .204 .166 .086 .083 .068 Gender ki .015 .014 .011 .048 .046 .038 .048 .046 .038 Gender Ci −.084 −.085 −.069 −.109 −.097 −.080 −.061 −.030 −.024 Gender Homophily (suicide) −.012 −.017 −.017 −.007 .031 .028 N/A N/A N/A Gender Homophily (depression) .000 .009 .008 N/A N/A N/A −.053 −.021 −.018 Gender Registration period .025 .025 .020 −.064 −.061 −.050 −.078 −.079 −.065 Community number ki .375 .372 .258 .348 .338 .231 .375 .360 .248 Community number Ci −.376 −.399 −.277 −.231 −.200 −.136 −.201 −.171 −.116 Community number Homophily (suicide) .027 .113 .091 −.034 .140 .105 N/A N/A N/A Community number Homophily (depression) .038 .166 .132 N/A N/A N/A −.150 .034 .025 Community number Registration period .339 .338 .230 .166 .152 .102 .187 .172 .115 ki Ci −.363 −.248 −.175 −.251 −.116 −.085 −.240 −.105 −.074 ki Homophily (suicide) −.013 .191 .150 −.175 .174 .107 N/A N/A N/A ki Homophily (depression) −.027 .254 .188 N/A N/A N/A −.210 .076 .029 ki Registration period .102 .081 .055 .170 .154 .103 .172 .152 .101 Ci Homophily (suicide) −.026 −.100 −.080 −.047 −.213 −.162 N/A N/A N/A Ci Homophily (depression) −.031 −.145 −.114 N/A N/A N/A −.055 −.243 −.182 Ci Registration period −.221 −.249 −.168 −.143 −.112 −.162 −.133 −.099 −.068 Homophily (suicide) Registration period −.039 −.031 −.025 −.104 −.059 −.044 N/A N/A N/AHomophily (depression) Registration period −.024 .011 .009 N/A N/A N/A −.120 −.049 −.036 *  P:  Pearson;  S:  Spearman,  K:  Kendall  correlation  coefficients *                            0.2いずれの相関係数も⼩小さい値であるRで使った関数:cor(デフォルトはピアソン、methodで指定することでスピアマンやケンドールの計算に切り替えられる。例:cor(data,  method= spearman ))
  28. 28. 単回帰分析結果 Variable OR CI p-value AUC Age 0.99604 (0.99377, 0.99832) 0.000651 0.515 Gender (female = 1) 1.106 (1.062, 1.152) 0.0001 0.512 Community number 1.00728 (1.00716, 1.00741) 0.0001 0.867 ki 1.00259 (1.00237, 1.00280) 0.0001 0.549 Ci 0.000581 (0.000428, 0.000789) 0.0001 0.690 Homophily (suicide) 1.57 × 1016 (0.41 × 1016 , 6.08 × 1016 ) 0.0001 0.643 Registration period 0.999783 (0.999753, 0.999813) 0.0001 0.545 *  OR:  odds  ratio;  CI:  95%  confidence  interval;  AUC:  area  under  the  curve-  7つの変数の中で、「コミュニティ参加数」が最も影響を与えている数値になっている-  2番⽬目に影響のある変数はAUC=0.690のクラスター係数である-  3番⽬目に影響のある変数はAUC=0.643のホモフィリーであるRで使った関数:glm,  colAUC
  29. 29. 最後に• ネットワーク分析といった場合に、ネットワーク指標(クラスター係数や次数 といったもの)に注⽬目がおかれるが、それらの値を説明変数として使うことで 様々な分析ができる。• ネットワークデータは⼤大きくなりがちなので、windows  +  Rという環境での解 析はあまりオススメしないが、⼿手軽な環境といえば⼿手軽ではある。• ネットワーク指標の計算だと、多⾔言語(例えば、pythonのnetworkx)でもでき るが、回帰分析などの統計解析を⾏行行うのであれば、やっぱR。⾃自分で組むより は楽だし、正確。最近、少しNumpy/Scipyなどが気になっていますが勉強中。
  30. 30. 宣伝• 12⽉月12⽇日(⽔水)19時半 リクルート本社にて「おしゃれStatistics」を開催し ます。 ATND:  http://atnd.org/events/34678 発表者 発表内容 @isseing333 CodeIQデータサイエンティスト問題解説 @millionsmile 個⼈人の繋がりと転職者ネットワークの実態調査 TBD TBD• ここで、9⽉月に東北⼤大学で開催された複雑ネットワーク研究会での発表した 「個⼈人の繋がりと転職者ネットワークの実態調査」について話します。
  31. 31. 参考⽂文献• 『複雑ネットワーク  -基礎から応⽤用まで-』増⽥田直紀/今野紀雄著• 『信⽤用リスクモデルの予測精度』⼭山下智志/三浦翔著• 『⼀一般化線形モデル⼊入⾨門』Annette  J.  Dobson著• 『つながり』ニコラス・A・クリスタキス/ジェイムズ・H・ファウラー著

×