Tokyo r53

317 views
262 views

Published on

東京R53で発表したスライドです。
潜在ランクモデルをrstanを使ってベイズ推定しました。

Published in: Data & Analytics
0 Comments
1 Like
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
317
On SlideShare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
1
Comments
0
Likes
1
Embeds 0
No embeds

No notes for slide

Tokyo r53

  1. 1. また春に会いましょう ベイズ推定で不合格者を決めたい 2016/04/30 Tokyo.R53 @simizu706
  2. 2. 自己紹介 • @simizu706 – 専門:社会心理学 – 所属:関西学院大学 • ※「かんせいがくいん」 と読む – 趣味:心理統計・ソフトウェア開発 • Web – ブログ:http://norimune.net HiroshimaR#3
  3. 3. 統計分析ソフトHAD
  4. 4. 大学教員の悩み • 試験で誰を合格・不合格させるか・・・ – テストの点数が60点以下というのは妥当か? – IRTを使っても何点で区切ればいいか難しい • ひとつの解決法 – テストデータから,落第させるべきグループを推 定する – 潜在的な「ダメ」学生を推定したい
  5. 5. 潜在ランクモデル • 潜在的な順序グループを推定する – ??? • 因子分析と混合分布モデルの中間 – 因子分析のように,潜在的な次元得点を推定 – 混合分布モデルのように,潜在的なグループを 推定 – その中間 HiroshimaR#3
  6. 6. • 順序性を持った潜在的なグループ – 因子が一次元上に得点化される – データは,質の異なるグループから抽出されたと 考える 因子分析と混合分布の間 順序 因子 項目 項目 項目 項目 HiroshimaR#3
  7. 7. 潜在ランク分析あれこれ • Shojima (2007) – ニューラルテスト理論 • 自己組織化マップを用いた,潜在ランク分析 • ノンパラメトリックな項目反応理論として提案 • 入力データは二値か順序 • Shojima (2008) – 潜在ランク理論 • 潜在的な順序グループを推定する一般モデルの提案 • 推定アルゴリズムをEMアルゴリズムに拡張 • テスト理論として,教育学やテスト学の分野で採用 HiroshimaR#3
  8. 8. 【宣伝乙】 • 顧客のブランド・コミットメントのランクを推定 – ランクごとにどういう特徴があるのか – 上のランクに上げるには何が必要か
  9. 9. 潜在ランクモデルの難点 • ハイパーパラメータがある – 自己組織化マップを応用した方法なので,ハイ パーパラメータによって結果が変わる • 恣意的になる可能性もある • 現状モデルはハイパーパラメータを評価できない • そうだ,ベイズ推定しよう – 潜在ランクモデルをベイズ推定したい – ハイパーパラメータやランク数を自動推定したい
  10. 10. 今回のデータ • 社会心理学の試験の成績 – 248名が20項目のマークシート式試験を受験 – 合格不合格を,テストデータのみから推定したい • 前提とゴール – 20項目がそれぞれベルヌーイ分布に従う – 受験生は,学力にあわせた潜在的なランクに所 属しており,ランクごとに各項目の正答率が違う – 「一番下のランク」を不合格としよう
  11. 11. データの分布
  12. 12. Generative Topographic Mapping • 自己組織化マップの生成モデル版 – データを低次元空間に写像するのではなく, – 低次元潜在空間から高次元データが生成すると 考える • ベイズモデルをGTMで組む – GTMのほうがベイズの枠組みに乗りやすい – ハイパーパラメータも一緒に推定したい
  13. 13. 1次元GTMとしての潜在ランクモデル • 1次元潜在空間から高次元データが生成 – 規則正しく並べられたノードからデータが生成 – 高次元空間に非線形写像 潜在ランク 多次元データ
  14. 14. Item Response Function • 潜在空間から各項目の正答率への写像 正 答 率 潜在ランク 1 0 ・単調増加制約 ・ガウス過程
  15. 15. モデリング • 混合分布モデル+正則化項 – パラメータがガウス過程に従うと仮定した混合ベ ルヌーイ分布モデル • ロジット変換したものがガウス過程に従う Kはランク数 pkは正答率 πkは混合率 rはランク η,λ,σがハイパーパラメータ
  16. 16. ランク数も自動的に知りたい • ディリクレ過程を使えばできるらしい – 理屈はよくわからん – beroberoさんのブログのコードを丸パクり – いらないランクは自動的に混合率が0に縮小する
  17. 17. rstanのADVIで推定 • MCMCでももちろん大丈夫だが・・・ – しかしこの推定をするには,大阪-東京間の新幹線は 短すぎる – stanコードはsampling()と同じでいい • vb()を使うときの注意点 – tol_rel_objの設定がデフォルトが甘すぎる(気がす る)ので,0.001ぐらいに厳しくする – でもデータサイズが小さいと収束しないのでiterをで かめにしておいて,そこそこで収束と判断
  18. 18. stanコード
  19. 19. stanコード
  20. 20. stanコード
  21. 21. stanコード
  22. 22. Rコード • ランク数は多めに10を指定 – 予想では勝手にいい感じのランク数になるはず • 収束基準を厳しめに,収束回数を大きめに – 8100回で無事収束
  23. 23. 混合率を見てみる • print(fit.lra,pars=c("pi")) – 2ランク・・・だと・・?
  24. 24. ランクごとの期待得点 • print(fit.lra,pars=c("score")) – ランク1:54.33点・・・落第点? – ランク2:78.66点
  25. 25. 実際の得点とランクの関係 • Rank1:136名 – 20点~75点 • Rank2:112名 – 65点~100点
  26. 26. 結論 • Rank1の136人が落第 – また春に会いましょう – ※実際にこれで合否は決めてません • 推定ランク数が少ない? – 2値データ20項目という情報の少なさ – 変数がもっと多ければ,ランク数はもっと多く推定 される
  27. 27. Enjoy! @simizu706

×