Tokyor23

4,525 views
4,346 views

Published on

0 Comments
14 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
4,525
On SlideShare
0
From Embeds
0
Number of Embeds
94
Actions
Shares
0
Downloads
40
Comments
0
Likes
14
Embeds 0
No embeds

No notes for slide

Tokyor23

  1. 1. 最近、混合効果モデルに興味をもった私がとりいそぎやったこと @dichika
  2. 2. みなさんこんにちは
  3. 3. 誰や
  4. 4. 俺や•  @dichika•  Tokyo.Rで受付嬢やってます•  I  Rシャツあります –  ありがとう@doryokujin•  Tokyo.Lang.Rで見習いやってます
  5. 5. Tokyo.Lang.R?•  いままで出世するための道具としてしかみ ていなかったRとの関係をもう一度見直す ための勉強会です。•  Rを少し深いところから理解できるので、 エラーが出ても優しい気持ちで対応でき るようになれます。•  RはCとLispの合いの子らしいので気が ついたらLispにも詳しくなれます。
  6. 6. 主催はこの人@tyatsuta
  7. 7. 次回は6月2日TokyoLangR 検索
  8. 8. さて
  9. 9. こんな話がありました サイバーエージェントを支える技術者たち http://gihyo.jp/dev/serial/01/cyberagent/0031
  10. 10. 「たとえばPatriotで集計した値を用い,アメーバ全体でDAU(Daily Active User)が高い日のモデル化を行っています。これで良好なモデルができたということは,DAUが上昇する特徴をうまく説明できたということになり,何らかの施策を講じる際に参考にできます。このモデル化は一般化線形混合モデル(※2)などを用いて行い,パラメータの推定にはMCMC(Markovchain Monte Carlo methods:※3)を用いることもあります。R言語はこうした統計解析モデルやアルゴリズムを使った解析を,少なくとも道具に困ることなく手軽に行えることから重宝しています」(和田氏)
  11. 11.
  12. 12. 「たとえばPatriotで集計した値を用い,アメーバ全体でDAU(Daily Active User)が高い日のモデル化を行っています。これで良好なモデルができたということは,DAUが上昇する特徴をうまく説明できたということになり,何らかの施策を講じる際に参考にできます。このモデル化は一般化線形混合モデル(※2)などを用いて行い,パラメータの推定にはMCMC(Markovchain Monte Carlo methods:※3)を用いることもあります。R言語はこうした統計解析モデルやアルゴリズムを使った解析を,少なくとも道具に困ることなく手軽に行えることから重宝しています」(和田氏)
  13. 13. 気になる(2012/4/24)
  14. 14. でもしばらく放置(∼2012/5/19)
  15. 15. 本が出た
  16. 16. 通称?久保本/緑本
  17. 17. その目次1.  データを理解するために統計モデルを作る2.  確率分布と統計モデルの最尤推定3.  一般化線形モデル (GLM)ーポアソン回帰ー4.  GLMのモデル選択ーAIC とモデルの予測の良さー5.  GLMの尤度比検定と検定の非対称性6.  GLMの応用範囲をひろげるーロジスティック回帰などー7.  一般化線形混合モデル (GLMM)ー個体差のモデリングー8.  マルコフ連鎖モンテカルロ (MCMC) 法とベイズ統計モデル9.  GLM のベイズモデル化と事後分布の推定10. 階層ベイズモデルーGLMM のベイズモデル化ー11. 空間構造のある階層ベイズモデル
  18. 18.
  19. 19. キタコレ1.  データを理解するために統計モデルを作る2.  確率分布と統計モデルの最尤推定3.  一般化線形モデル (GLM)ーポアソン回帰ー4.  GLMのモデル選択ーAIC とモデルの予測の良さー5.  GLMの尤度比検定と検定の非対称性6.  GLMの応用範囲をひろげるーロジスティック回帰などー7.  一般化線形混合モデル (GLMM)ー個体差のモデリングー8.  マルコフ連鎖モンテカルロ (MCMC) 法とベイズ統計モデル9.  GLM のベイズモデル化と事後分布の推定10. 階層ベイズモデルーGLMM のベイズモデル化ー11. 空間構造のある階層ベイズモデル
  20. 20. 勉強するしかない
  21. 21. ということで この後の私の試行錯誤が現場でRを使ってなにかをする 際の参考になれば幸いです
  22. 22. やっと本題です1. GLMMの概要をつかむ2. Rのパッケージを探して試す3. TokyoRで発表する4. 仕事で本格的に使う
  23. 23. GLMMの概要をつかむ•  とりいそぎ緑本を読む –  良本 –  GLMの導入から階層ベイズまで•  名前が分野により異なるらしい –  統計学ではよくあること •  マルチレベルモデル •  階層モデル •  混合効果モデル •  調べる際に役立つ
  24. 24. GLMMの概要をつかむ•  基本はGLM –  GLMについては後述 –  一般化線形モデル入門おすすめです•  GLMにおいて、2つの効果が混合してい ると考える –  固定効果+変量効果 –  普通のGLMは固定効果のみ –  変量効果を加えてモデルの表現力を上げる
  25. 25. 一般化線形モデル入門
  26. 26. ざっくり GLM
  27. 27. 使うデータ•  lme4パッケージのsleepstudyデータ –  睡眠時間を3時間に制限 –  刺激に対する反応時間との関係をみる
  28. 28. こういう光が見えたら
  29. 29. ボタンを押す
  30. 30. そんなデータに 450 400 350Reaction 300 250 200 0 2 4 6 8 Days
  31. 31. こんな感じで線を引けるモデルを作るのがGLM 450 400 350 Reaction 300 250 200 0 2 4 6 8 Days
  32. 32. でも本当はこんなデータ 450 Subject 308 309 400 310 330 331 332 350 333 334Reaction 335 337 349 300 350 351 352 369 250 370 371 372 200 0 2 4 6 8 Days
  33. 33. 個人差ありそう(傾きと切片) 450 400 350 Reaction 300 250 200 0 2 4 6 8 Days
  34. 34. 変量効果を加えて表現力アップ 450 450 400 400 350 350Reaction Reaction 300 300 250 250 200 200 0 2 4 6 8 0 2 4 6 8 Days Days 傾きと切片にそれぞれ変量効果を加える
  35. 35. 結局、変量効果とは•  変量効果って –  項目としては採れていない隠れた差(ただし その差には無限水準の母集団が仮定される) •  個人差 •  施設間差 –  なお、何を変量効果として何を固定効果とす るかには色々議論があるらしい
  36. 36. どうやって傾きと係数を求める•  最尤法を使う –  大体どの教科書にも載ってる –  でも求める傾き・係数が多いと無理 –  最尤法の説明は省きます•  だからMCMC+ベイズ推定する –  これも省きますごめんなさい –  過去の勉強会資料をご覧ください •  ATNDにリンクがあります –  マルコフ連鎖モンテカルロ入門(@teramonagi) –  近似ベイズ計算でカジュアルなベイズ推定 (@kos59125)
  37. 37. もくじ1. 混合効果モデルの概要をつかむ2. Rのパッケージを探して試す3. TokyoRで発表する4. 仕事で本格的に使う
  38. 38. Rのパッケージを探して試す•  ググる –  緑本著者のページへ –  GLMM + 日本語•  CRAN Task Viewで探す –  Bayesian•  R言語逆引きハンドブックで探す –  MCMC:P469∼•  Rパッケージガイドブックで探す –  MCMC:P156∼
  39. 39. CRAN Task View
  40. 40. R言語逆引きハンドブック
  41. 41. Rパッケージガイドブック
  42. 42. とりあえずMCMCglmmに•  候補としては –  MCMCglmmパッケージ –  lme4パッケージ –  R2WinBUGS (+WinBUGS)•  緑本はWinBUGS –  BUGSコードを書く必要があるのでちょっと めんどい•  MCMCglmmがお手軽っぽいので先ほ どのデータを適用してみる
  43. 43. コードはこんな感じlibrary(lme4)data(sleepstudy)library(MCMCglmm)# 変量効果なしres1 <- MCMCglmm(Reaction Days, data = sleepstudy)#変量効果ありres2 <- MCMCglmm(Reaction Days, random = us(Days):Subject + Subject, data = sleepstudy)#結果確認summary(res1)summary(res2)
  44. 44. 結果(1つ目のモデル)> summary(res1)Iterations = 3001:12991Thinning interval = 10Sample size = 1000DIC: 1906.268R-structure: units post.mean l-95% CI u-95% CI eff.sampunits 2301 1866 2759 1000Location effects: Reaction Days post.mean l-95% CI u-95% CI eff.samp pMCMC(Intercept) 251.350 239.694 265.033 1000 <0.001 ***Days 10.519 8.051 12.682 1000 <0.001 ***---Signif. codes: 0 *** 0.001 ** 0.01 * 0.05 . 0.1 1
  45. 45. 結果(2つ目のモデル)> summary(res2)Iterations = 3001:12991Thinning interval = 10Sample size = 1000DIC: 1743.6G-structure: us(Days):Subject post.mean l-95% CI u-95% CI eff.sampDays:Days.Subject 60.01 24.85 104.5 783.2R-structure: units post.mean l-95% CI u-95% CI eff.sampunits 851.2 674.5 1038 1288Location effects: Reaction Days post.mean l-95% CI u-95% CI eff.samp pMCMC(Intercept) 251.487 243.789 259.436 1000 <0.001 ***Days 10.347 6.462 14.783 1000 <0.001 ***---Signif. codes: 0 *** 0.001 ** 0.01 * 0.05 . 0.1 1
  46. 46. 色々確認する•  結果指標 –  統計学の本と行ったり来たり•  サンプルのデータ構造 –  自分が持っているデータに適用する場合に参 考にする –  データ操作については、Rデータ自由自在や R逆引きハンドブックがおすすめ•  パラメータ –  最低限指定するべきパラメータの確認
  47. 47. Rデータ自由自在
  48. 48. もくじ1. 混合効果モデルの概要をつかむ2. Rのパッケージを探して試す3. TokyoRで発表する4. 仕事で本格的に使う
  49. 49. TokyoRで発表する•  統計の世界にはたくさん職人がいる –  たとえば重回帰職人 •  参考:重回帰職人の朝は早い(第2回Japan.R) –  ATNDの過去の勉強会資料からご覧ください –  職人に聞くのが手っ取り早い •  ありがちな落とし穴とか•  皆さんもなにか勉強したら主催の @yokkunsに声をかけて発表するとい いですよ
  50. 50. もくじ1. 混合効果モデルの概要をつかむ2. Rのパッケージを探して試す3. TokyoRで発表する4. 仕事で本格的に使う
  51. 51. 仕事で本格的に使う•  実は少し使ってみているけど、色々うまく いってない –  うまくいってない原因が •  自分の知識不足にあるのか •  手法のミスマッチにあるのか •  パッケージのバグにあるのか –  確認するために緑本をまた読んでいる –  また今度実例を交えてお悩み相談します•  今後のご活躍にご期待ください
  52. 52. ということでまとめ•  GLMMには名前が色々ある•  パラメータはMCMCで推定する•  RのパッケージはMCMCglmmがお手 軽に使える•  俺たちの戦いはまだ始まったばかりだ•  データ解析のための統計モデリング入門 おすすめです –  勉強会やりたい人がいたら一緒にやりましょう
  53. 53. enjoy!!!

×