Your SlideShare is downloading. ×
MCMCによる回帰分析@ベイズセミナー
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×

Introducing the official SlideShare app

Stunning, full-screen experience for iPhone and Android

Text the download link to your phone

Standard text messaging rates apply

MCMCによる回帰分析@ベイズセミナー

2,841
views

Published on

Published in: Data & Analytics

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

No Downloads
Views
Total Views
2,841
On Slideshare
0
From Embeds
0
Number of Embeds
4
Actions
Shares
0
Downloads
45
Comments
0
Likes
18
Embeds 0
No embeds

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
No notes for slide
  • ・声量確認
  • ・当然Rとmplusをお使いですよね?
  • Transcript

    • 1. MCMCによる回帰分析 広島大学大学院 教育学研究科 学習心理学研究室 D2 山根 嵩史 2014.06.08 ベイズ推定による多変量解析入門
    • 2. 自己紹介 氏名 : 山根 嵩史 所属 : 広島大学大学院 教育学研究科 教育人間科学専攻 学習心理学研究室 (D2) 研究テーマ : メタ記憶,読解方略 Mail : t.yamane1969@gmail.com Twitter : @T_Yamane
    • 3. まずは従来の分析を ベイズ推定でやってみましょう Let’s Bayes!
    • 4. お品書き •実践1: MCMCによる回帰分析(R編) 1-1 MCMCpackを使った単回帰分析 1-2 MCMCpackを使った重回帰分析 •実践2: MCMCによる回帰分析(Mplus編) 2-1 Mplusを使った単回帰分析 2-2 Mplusを使った重回帰分析
    • 5. MCMCによる回帰分析(R編) •Rでベイズ推定するには >パッケージ多数 >CRANTaskViewsにベイズ統計の パッケージをまとめたもの (“Bayesian”)もある “MCMCpack”が汎用的でオススメ >MCMCによる各種の統計解析が実行可能 (RjpWiki “Rでベイズ統計学”のページより)
    • 6. 実践1-1: MCMCpackを使った単回帰分析 •MCMCpackのMCMCregress()関数を使用 MCMCregress(formula, data, burnin = 1000, mcmc = 10000, thin = 1, verbose = 0, seed = NA, beta.start = NA, b0 = 0, B0 = 0, c0 = 0.001, d0 = 0.001, sigma.mu = NA, sigma.var = NA, marginal.likelihood = c("none", "Laplace", "Chib95"), ...) formula: 回帰モデル, data: データの指定 burnin: バーンイン期間, mcmc: 繰り返し回数
    • 7. 実践1-1: MCMCpackを使った単回帰分析 •MCMCpackのMCMCregress()関数を使用 MCMCregress(formula, data, burnin = 1000, mcmc = 10000, thin = 1, verbose = 0, seed = NA, beta.start = NA, b0 = 0, B0 = 0, c0 = 0.001, d0 = 0.001, sigma.mu = NA, sigma.var = NA, marginal.likelihood = c("none", "Laplace", "Chib95"), ...) thin: 推定に用いる値のサンプリング間隔 verbose: 途中経過を表示するタイミング seed: シード値の設定
    • 8. 実践1-1: MCMCpackを使った単回帰分析 •MCMCpackのMCMCregress()関数を使用 MCMCregress(formula, data, burnin = 1000, mcmc = 10000, thin = 1, verbose = 0, seed = NA, beta.start = NA, b0 = 0, B0 = 0, c0 = 0.001, d0 = 0.001, sigma.mu = NA, sigma.var = NA, marginal.likelihood = c("none", "Laplace", "Chib95"), ...) b0: 事前分布の平均, B0: 事前分布の分散 c0: 逆ガンマ分布のshapeパラメータ d0: 逆ガンマ分布のscaleパラメータ (その他の引数については参考文献[1]を参照)
    • 9. 実践1-1: MCMCpackを使った単回帰分析 •とりあえずこれで走ります MCMCregress(formula, data ) MCMCregress( Y1~X1 , data = dat ) •従来の回帰分析と同じ書き方! lm( Y1~X1 , data = dat )
    • 10. 実践1-1: MCMCpackを使った単回帰分析 •入力 1行目: 回帰分析を実行し“MCMC01”に格納 plot()関数: 事後分布などの図の出力 raftery.diag()関数: Raftery and Lewisの指標を出力 summary()関数: 結果の要約を出力
    • 11. 実践1-1: MCMCpackを使った単回帰分析 •出力(事後分布など) シミュレーション過程 事後分布 シミュレーション過程で 値のばらつきがないか, 事後分布に歪みがないか などを見る
    • 12. 実践1-1: MCMCpackを使った単回帰分析 •出力(収束診断) Lower bound: 診断のために必要なシミュレーション回数 今回の分析(Total)がこの回数を満たしているかどうか確認 Dependence factor: 自己相関の指標 5を越えた場合には収束していないと判断される
    • 13. 実践1-1: MCMCpackを使った単回帰分析 •出力(信用区間) Quantiles: 信用区間 2.5%~97.5%の区間で0を含んでいなければ有意
    • 14. 実践1-1: MCMCpackを使った単回帰分析 •その他の収束診断の指標 Gelman and Rubinの指標(Rhat) gelman.diag()関数で算出 1.1を越えなければ 収束していると見なされる
    • 15. 実践1-1: MCMCpackを使った単回帰分析 •その他の収束診断の指標 BF BayesFactor()関数で算出 ベイズファクターの基準に 基づいて判断する ×Boy Friend×Battle Field
    • 16. 従来の回帰分析の結果と比べてみる そういうもんです 値が微妙に違うんだけど... MCMCregress() lm()
    • 17. 実践1-2: MCMCpackを使った重回帰分析 •とりあえずこれで走ります MCMCregress( Y1~X1 + Z1, data = dat ) •こちらも従来の重回帰分析と同じ書き方 lm( Y1~X1 + Z1, data = dat )
    • 18. 実践1-2: MCMCpackを使った重回帰分析 •入力 •出力
    • 19. MCMCによる回帰分析(Mplus編) •Mplusでベイズ推定するには >特別な操作(パッケージのインストール やプログラミングなど)は必要ナシ! >“Estimator = BAYES;”として,いくつか のコードを追記するだけでOK
    • 20. 実践2-1: Mplusを使った単回帰分析 •入力 従来の単回帰分析 MCMCによる単回帰分析 ANALYSISコマンドにおいて “ESTIMATOR = BAYS”でベイズ推定を指定 “POINT = MEDIAN” で推定する値を指定 “CHAIN = 3”でマルコフ連鎖の数を指定 “BITERATIONS = (10000)”でシミュレーション回数を指定
    • 21. 実践2-1: Mplusを使った単回帰分析 •入力 従来の単回帰分析 MCMCによる単回帰分析 PLOTコマンドにおいて “TYPE = PLOT2”とすることで 事後分布などのグラフを表示することができる
    • 22. 実践2-1: Mplusを使った単回帰分析 •出力(シミュレーション過程と事後分布) 出力画面で[plot]→[view plot]からチェック シミュレーション過程 (Bayesian posterior parameter trace plots) 事後分布 (Bayesian posterior parameter distributions)
    • 23. 実践2-1: Mplusを使った単回帰分析 •出力(適合度指標) 事後予測p値: 0.0~1.0の値をとる 中心の0.5に近いほど当てはまりが良い DICおよびBIC:低いほど当てはまりが良い モデル比較の際に用いる
    • 24. 実践2-1: Mplusを使った単回帰分析 •出力(従来の単回帰分析との比較) 従来の単回帰分析 MCMCによる単回帰分析
    • 25. 実践2-2: Mplusを使った重回帰分析 •入力 従来の重回帰分析 MCMCによる重回帰分析
    • 26. 実践2-2: Mplusを使った重回帰分析 •出力
    • 27. Let’s Bayes! 参考文献 [1]Martin,A. A. D., Quinn, K. M., Park, J. H., Jong, M., & Park, H. (2013). Package “ MCMCpack ”, (Mcmc). [2]小杉考司・清水裕士 (編著) (2014). MplusとRによる 構造方程式モデリング入門 北大路書房, pp. 245-261