Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Bayesian Sushistical Modeling

1,807 views

Published on

Toyko.R #70 で発表した資料です。

Published in: Data & Analytics
  • Be the first to comment

Bayesian Sushistical Modeling

  1. 1. Bayesian tistical Modeling ベイズ塾 北條大樹(ほうじょう だいき) : @dastatis : https://dastatis.github.io/index.html 今日のコード(一時的) https://rstudio.cloud/project/40523 Tokyo.R #70 2018.06.09
  2. 2. この資料について • 本資料は、Tokyo.R #70で発表した内容です。 • 資料はほぼ一日でザーと作ったため、項目反応モデルの数式、 解釈について不正確の場所があるかもしれません。 • 詳細は、最終スライドの文献等をご確認ください。 • 楽しんでいただければ幸いです。 2
  3. 3. 自己紹介 • 名前: • 北條大樹(ほうじょうだいき) • 所属: • 魁!!広島ベイズ塾 • 東京大学 教育学研究科 教育心理学コース D1 (*昨年までは専修大学にいました) • 日本学術振興会 • 専門: • 心理統計学 (IRT・認知モデリング) • ベイズ統計学 • 連絡先: dhojo@p.u-tokyo.ac.jp @dastatis 3
  4. 4. 僕がベイジアンになるまで(参考までに) 4
  5. 5. 僕がベイジアンになるまで(参考までに) 5 超良書 著者の松浦先生って どんな方なんだろう….
  6. 6. 最近の読んでいる書籍 6 & これ以外にも、 ・論文 ・書籍 ・皆様方が書かれたブログ記事 等々
  7. 7. 実は一番読んでいるのは。。。 7 • Stan公式マニュアル • 637ページの大著 • ただのマニュアルではない • 理論の説明もある • 公式の人もこんなことを…
  8. 8. 実は一番読んでいるのは。。。 8 • Stan公式マニュアル • 637ページの大著 • ただのマニュアルではない • 理論の簡易な説明もある • 公式の人もこんなことを… でも、英語か。。。
  9. 9. どこかの神が日本語訳してくれてる。。。 9 一体、誰なんだ?
  10. 10. 貢献している方々 10
  11. 11. 11 おわかり いただけただろうか?
  12. 12. 貢献している方々 12
  13. 13. 貢献している方々 13 この本の作者やん!!!!
  14. 14. 貢献している方々 14 松浦健太郎先生って 一体何者なんだろう?
  15. 15. な, な, なんと…今日…聞ける!!! 激アツ!!! 15 影響力やばし
  16. 16. 松浦先生の御前で何を話そう そもそも、90名の参加者さんがいて ほとんどが社会人で 学生ごときの私が 何を話せばよいのか? 16
  17. 17. 私の勝手な社会人へのイメージ 17 このデータで なんか面白いこと言って! データ
  18. 18. 本日の目標 18 突如投げられた無茶ぶりデータで ベイズモデリング
  19. 19. では、参加者に突然質問を投げてみる 19 とろ まぐろ えび カッパ巻き たまご いくら いか 鉄火巻き うに あなご どれが好きですか?
  20. 20. 俺的ランキング 20 1 2 3 4
  21. 21. 日本人5000人分の好み 21 http://www.kamishima.net/sushi/より作成
  22. 22. このデータは一体…? 22 SUSHI Preference Data Sets • 5000人が100種類の を評定したデータ http://www.kamishima.net/sushi/
  23. 23. では、このデータを上司から投げられたとする 23 寿司データで ベイズモデリングして!
  24. 24. 24 と い う こ と で https://www.pakutaso.com/20111238365post-1055.html 全 力 す し モ デ リ ン グ は じ め ま し た 。
  25. 25. 25 https://www.pakutaso.com/20111238365post-1055.html Let’s Bayesian SUSHItistical Modeling
  26. 26. 今回のデータを確認 26 ここからダウンロード ※ライセンスとして、 あくまで研究目的の使用はOK 詳しくはWebへ
  27. 27. 解凍すると… • README-ja.txtにデータの詳細が記載されている • そして、readme以外のファイルをcsvに変換 27
  28. 28. sushi3i • sushi3iは回答者の属性について 28
  29. 29. sushi3u • sushi3uは寿司ネタについて 29
  30. 30. sushi10 • どの順位(1-10)にどのネタ(0-9)が入っているか? 30 すし行列(SUSHI Matrix)
  31. 31. ˃sushi10 <- read_csv("sushi10.csv", col_names = TRUE) %>% apply(1, order) %>% t() %>% data.frame() %>% rename(えび=X1,穴子=X2,まぐろ=X3,いか=X4,うに=X5, いくら=X6,玉子=X7,とろ=X8,鉄火巻=X9,かっぱ巻=X10) ˃sushi10 <- 11 - sushi10 #点数が高いと人気になるようにする 31まずは、sushi10から先ほどの図を出す
  32. 32. • ↑文字小さくてすみません 32つづき
  33. 33. 他のデータ •sushi100は、sushi10の100品ランキングバージョン •sushi100rateは、ネタ100品を5段階で評定したデータ 33
  34. 34. では、もう少し すし を読み解く • 100品の内、何が最も食べられている? • 100品の内、何が最も高いのは? • 高いと食べられていない?? 34
  35. 35. x: 寿司ネタ y: 食べる頻度 のプロット 35
  36. 36. 実際に何が食べられている? 36 1. まぐろ 2. えび 3. ネギトロ 4. 甘エビ 5. とろ 6. サーモン 7. イカ 8. 中トロ 9. ネギトロ巻き 10. あなご
  37. 37. 高級なすしネタは何だろう? 37 とびぬけて高いネタがある
  38. 38. こたえ • とろ、あわび、タラバガニが お高めだった 38
  39. 39. 頻度が高いものに高いネタはあるのか? 39 とろ 中トロ ネギトロは 高くても よく食べられている
  40. 40. ここまでのまとめ •お寿司データを上司に渡された •5000人の100品の食べる頻度を集計 • まぐろ、えび、ねぎとろの頻度が高かった •100品の中で高級なものを集計 • とろやあわびが高い •マグロ系は、高くても食べられていることが判明 • 他よりも好まれるから、高くても食べられているのか? 40 ⇒マグロ系は他のネタよりも好まれているのか?検討しよう
  41. 41. 評定データ(sushi100rate) • 100品を(0:嫌い~4:好き)の5段階で評定 • 今回は、5000人分のデータを500人にして分析 41
  42. 42. 評定の平均点 • 中トロ、ネギトロの評価が高い • ぶりも評価が高い(おいしいよね) • 以上より、 マグロ系は他よりも評価が高かったねって結論づけていい? 42
  43. 43. すし職人と俺の評定 •まぐろが好きですか? • すし職人:4 • 俺:4 •すし職人は、マグロを知り尽くしたうえでの 4(好き) •俺は、なんとなく 4(好き) かもしれない •同じ評定値 “4(好き)” として扱っても良い? 43
  44. 44. 項目反応理論 ( Item Response Theory ) • 項目回答を回答者の特性(能力)と項目の特徴(特性)に分離して 解釈することが可能 • たとえば、項目回答が2値(はい・いいえ)の場合 44 ※2値(はい・いいえ)の例
  45. 45. 項目の何がわかるのか? ( 識別力 ) ID Q1 Q2 Q3 1 1 0 0 2 0 1 1 3 0 0 1 45 Q1 Q2 項目特性を推定し、 回答者の能力を推定 ※2値(はい・いいえ)の例
  46. 46. 項目の何がわかるのか? ( 困難度 ) ID Q1 Q2 Q3 1 1 0 0 2 0 1 1 3 0 0 1 46 Q1 項目特性を推定し、 回答者の能力を推定 ※2値(はい・いいえ)の例 Q3
  47. 47. 数式で表すと(だいぶ端折っています) 特性𝜃の回答者が項目𝑗に正答する確率を以下のように表現する 𝑃𝑗 𝑦𝑗 = 𝑘|𝜃, 𝑎𝑗, 𝑏𝑗 = 1 1 + exp −𝑎𝑗 𝜃 − 𝑏𝑗 = logit−1 𝑎𝑗 𝜃 − 𝑏𝑗 • 𝑎...項目識別力パラメータ(傾き) • 𝑏...項目困難度パラメータ(切片) • 𝜃 …回答者の特性(i人の回答者がいれば、iがつきます) • つまり、説明変数が潜在変数(𝜽)であるロジスティック回帰モ デルと考えることができる 47
  48. 48. 多値の場合は? ID Q1 Q2 Q3 1 1 4 3 2 4 4 3 3 1 2 2 48 項目特性を把握し、 回答者の能力を測定 ※多値(4カテゴリ)の例
  49. 49. 分析のイメージを沸かせる • 多値の場合は、説明変数が潜在変数の多項ロジットモデルのよ うなイメージ • 今回の寿司の例に置き換える • お寿司の好み(5段階評定の項目回答)で、 • 回答者𝒊が好み軸のどの辺に位置し、 • 寿司ネタ𝒋の好まれやすさを推定し(項目の困難度) • 寿司ネタ𝒋が回答者全体に受け入れられやすいか(項目の識別力)を *好きな人は好きだけど、嫌いな人は嫌いなネタ or みんな大体すき • 解釈することができる。 •これにより、Sushi Response Modelが完成する。 49
  50. 50. このような項目特性曲線が書ける 50 ※多値(4カテゴリ)の例
  51. 51. 部分得点モデル(Partial Credit model) • カテゴリkと答えるか、k-1と答えるかの2つの確率を用いて、 前者を表現する。 𝑝 𝑦𝑖𝑗 = 𝑘 𝜃𝑖, 𝛽𝑗 = exp σ 𝑘=1 𝐾 (𝜃𝑖 − 𝑏𝑗𝑘) 1 + σ 𝑚=1 𝐾 exp σ 𝑘=1 𝑚 (𝜃𝑖 − 𝑏𝑗𝑚) *傾き𝑎𝑗𝑘をいれると、一般化部分得点モデルというモデルにな ります。 • 今回は時間が無いので、 説明をいろいろ端折ってとりあえず推定します。 51 中間省略して, 最終的に...
  52. 52. 推定結果よさそう。 • 変分ベイズ(vb)とも結構一致する。 52 0.9975 1.0000 1.0025 1.0050 1.0075 Rhat statistic
  53. 53. こんな項目特性曲線がかけます。 53 図はイメージ
  54. 54. こんな項目特性曲線がかけます。 54 が、しかし!!!!
  55. 55. こんな項目特性曲線がかけます。 55 これは、カテゴリ間が 入れ替わっても良い仮定 のモデル
  56. 56. このモデルの問題点を考えてみよう。 •今回のデータyは評定尺度であり、順序性(0~4)があ る •これが入れ替わるのは良くない •そこでデータの順序性を考慮したモデルに拡張する •段階反応モデル(graded response model) •⇒順序ロジットモデルの潜在変数版 56
  57. 57. 段階反応モデル • 項目反応がカテゴリk以上となる確率を考えるモデル • 回答者𝑖が寿司𝑗を𝑘と回答する確率を 𝑝 𝑦𝑖𝑗 = 𝑘 𝜃𝑖, 𝛼𝑗, 𝛽𝑗𝑘 = 1 1 + exp −𝑎𝑗 𝜃𝑖 − 𝛽𝑗𝑘 − 1 1 + exp −𝑎𝑗 𝜃𝑖 − 𝛽𝑗𝑘+1 • カテゴリkで回答するということはk+1で回答するわけではな いのでkまでの確率からk+1までの確率を引くことで、kの確率 を求めるモデル • Stanで表すと… 𝑦𝑖𝑗 ~ ordered_logistic 𝑎𝑗𝑘 𝜃𝑖, 𝛽𝑗𝑘 𝛼𝑗𝑘~𝑛𝑜𝑟𝑚𝑎𝑙 0, 5 #識別力(お寿司が好まれやすいものか) 𝛽𝑗𝑘~𝑛𝑜𝑟𝑚𝑎𝑙(0, 5) #境界パラメータ(回答カテゴリ間の境界値) 𝜃𝑖~𝑛𝑜𝑟𝑚𝑎𝑙(0, 1) #特性(回答者がどれだけお寿司を好むか) 57
  58. 58. 推定できるとこんな感じの図が書ける 58
  59. 59. 推定結果 • とてもいい感じ。 59
  60. 60. 60 theta[9] theta[10] theta[5] theta[6] theta[7] theta[8] theta[1] theta[2] theta[3] theta[4] 0 250 500 7501000 0 250 500 7501000 0 250 500 7501000 0 250 500 7501000 0 250500 7501000 0 250 500 7501000 0 250 500 7501000 0 250 500 7501000 0 250500 7501000 0 250 500 7501000 -1 0 1 -1 0 1 -2 -1 0 -2 0 2 4 -1 0 1 2 -4 -3 -2 -1 0 1 -2 -1 0 1 2 -2 -1 0 1 2 3 -2 -1 0 1 2 -1 0 1 chain 1 2 3
  61. 61. ちなみに、変分ベイズとの結果も • とてもいい感じ。 61
  62. 62. 事後分布を確認する 62 theta[9] theta[10] theta[5] theta[6] theta[7] theta[8] theta[1] theta[2] theta[3] theta[4] 0 1 -2 -1 0 -1 0 1 -4 -3 -2 -1 0 0.0 0.5 1.0 1.5 2.0 2.5-1.5-1.0-0.5 0.0 0.5 1.0 -2 -1 0 1 -1 0 1 -2 -1 0 -0.5 0.0 0.5 1.0
  63. 63. 寿司の好み軸のどこに回答者がいるか? 63 theta[1] theta[2] theta[3] theta[4] theta[5] theta[6] theta[7] theta[8] theta[9] theta[10] -4 -2 0 2 6番目の人は、普通の人(平均)よりすしが好きではない??
  64. 64. では、目的を思い出す。 • マグロ系は他のネタよりも好まれているのか? →マグロと他のネタの項目特性曲線を比べてみる。 64 まぐろ たまご まぐろの方が少し左に寄っている →寿司が好みでない人でも簡単に反応(すきと反応)しやすい
  65. 65. では、目的を思い出す。 • マグロ系は他のネタよりも好まれているのか? →マグロと他のネタの項目特性曲線を比べてみる。 65 まぐろ いくら いくらの傾きが急 →いくらはまぐろよりも好き嫌い(の識別)が分かれやすい。
  66. 66. 本日の目標 66 突如投げられたSUSHIで ベイズモデリング
  67. 67. まとめ まぐろは万人に好まれる寿司かも • これをベイズモデリングで明らかにできた。 • 他にも、回答者の属性を変数として入れることで、 • 男女差 • 地域差 • 年齢差 などの違いによる寿司の好みの差を検討することができる。 (*例えば、パラメータの添え字に属性を表すものをつける) • これは、DIF(Differential Item Functioning,特異項目機能)などと よばれ、素点のよる項目回答の解釈を大きく歪める恐れがある。 • 大事なこと、アンケート(質問紙)の項目回答の解釈は結構不安 定であることが多い。 • 素点による解釈ではなく、IRTなどによる定量的な評価を! 67
  68. 68. これもIRTで解決できるかも!? 極端回答傾向 ➡ 1, 5(極端なカテゴリ)を回答しやすい 中間回答傾向 ➡ 3 (中間のカテゴリ)を回答しやすい 黙従回答傾向 ➡ 4, 5 (ポジティブなカテゴリ)を回答しやすい ・・・選びやすいところ 当 て は ま ら な い と て も 当 て は ま る や や 当 て は ま ら な い ど ち ら で も な い や や 当 て は ま る 68 1 4 5 3 5
  69. 69. さいごに • 前スライドの反応スタイル(回答時のクセ)を統制する ベイズモデルを作っているのが私の研究です。 • 興味があれば、懇親会等でお話しましょう!! • ベイズモデリングを用いれば、 • 採用面接時の個人特性(性格)の正当な評価 • 人事評価バイアス統制(面接官の違いによるバイアス統制) といった企業に眠る様々な問題を解決できるかもしれません ベイズモデリングでより良い社会へ!!! 69 そして、寿司が食べたい!!! Enjoy!!!
  70. 70. 参考文献 Data • http://www.kamishima.net/sushi/ • T. Kamishima, "Nantonac Collaborative Filtering: Recommendation Based on Order Responses", KDD2003, pp.583-588 (2003) Model • Rによる項目反応理論 • https://www.amazon.co.jp/R%E3%81%AB%E3%82%88%E3%82 %8B%E9%A0%85%E7%9B%AE%E5%8F%8D%E5%BF%9C%E7% 90%86%E8%AB%96-%E5%8A%A0%E8%97%A4- %E5%81%A5%E5%A4%AA%E9%83%8E/dp/4274050173 • Luo, Y., & Jiao, H. (2017). Using the Stan Program for Bayesian Item Response Theory. Educational and Psychological Measurement, 0013164417693666. 70

×