SlideShare a Scribd company logo
1 of 27
MCMCによる回帰分析
広島大学大学院 教育学研究科
学習心理学研究室 D2
山根 嵩史
2014.06.08
ベイズ推定による多変量解析入門
自己紹介
氏名 : 山根 嵩史
所属 : 広島大学大学院 教育学研究科
教育人間科学専攻 学習心理学研究室 (D2)
研究テーマ : メタ記憶,読解方略
Mail : t.yamane1969@gmail.com
Twitter : @T_Yamane
まずは従来の分析を
ベイズ推定でやってみましょう
Let’s Bayes!
お品書き
•実践1: MCMCによる回帰分析(R編)
1-1 MCMCpackを使った単回帰分析
1-2 MCMCpackを使った重回帰分析
•実践2: MCMCによる回帰分析(Mplus編)
2-1 Mplusを使った単回帰分析
2-2 Mplusを使った重回帰分析
MCMCによる回帰分析(R編)
•Rでベイズ推定するには
>パッケージ多数
>CRANTaskViewsにベイズ統計の
パッケージをまとめたもの
(“Bayesian”)もある
“MCMCpack”が汎用的でオススメ
>MCMCによる各種の統計解析が実行可能
(RjpWiki “Rでベイズ統計学”のページより)
実践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: 繰り返し回数
実践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: シード値の設定
実践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]を参照)
実践1-1: MCMCpackを使った単回帰分析
•とりあえずこれで走ります
MCMCregress(formula, data )
MCMCregress( Y1~X1 , data = dat )
•従来の回帰分析と同じ書き方!
lm( Y1~X1 , data = dat )
実践1-1: MCMCpackを使った単回帰分析
•入力
1行目: 回帰分析を実行し“MCMC01”に格納
plot()関数: 事後分布などの図の出力
raftery.diag()関数: Raftery and Lewisの指標を出力
summary()関数: 結果の要約を出力
実践1-1: MCMCpackを使った単回帰分析
•出力(事後分布など)
シミュレーション過程 事後分布
シミュレーション過程で
値のばらつきがないか,
事後分布に歪みがないか
などを見る
実践1-1: MCMCpackを使った単回帰分析
•出力(収束診断)
Lower bound: 診断のために必要なシミュレーション回数
今回の分析(Total)がこの回数を満たしているかどうか確認
Dependence factor: 自己相関の指標
5を越えた場合には収束していないと判断される
実践1-1: MCMCpackを使った単回帰分析
•出力(信用区間)
Quantiles: 信用区間
2.5%~97.5%の区間で0を含んでいなければ有意
実践1-1: MCMCpackを使った単回帰分析
•その他の収束診断の指標
Gelman and Rubinの指標(Rhat)
gelman.diag()関数で算出
1.1を越えなければ
収束していると見なされる
実践1-1: MCMCpackを使った単回帰分析
•その他の収束診断の指標
BF
BayesFactor()関数で算出
ベイズファクターの基準に
基づいて判断する
×Boy Friend×Battle Field
従来の回帰分析の結果と比べてみる
そういうもんです
値が微妙に違うんだけど...
MCMCregress()
lm()
実践1-2: MCMCpackを使った重回帰分析
•とりあえずこれで走ります
MCMCregress( Y1~X1 + Z1, data = dat )
•こちらも従来の重回帰分析と同じ書き方
lm( Y1~X1 + Z1, data = dat )
実践1-2: MCMCpackを使った重回帰分析
•入力
•出力
MCMCによる回帰分析(Mplus編)
•Mplusでベイズ推定するには
>特別な操作(パッケージのインストール
やプログラミングなど)は必要ナシ!
>“Estimator = BAYES;”として,いくつか
のコードを追記するだけでOK
実践2-1: Mplusを使った単回帰分析
•入力 従来の単回帰分析 MCMCによる単回帰分析
ANALYSISコマンドにおいて
“ESTIMATOR = BAYS”でベイズ推定を指定
“POINT = MEDIAN” で推定する値を指定
“CHAIN = 3”でマルコフ連鎖の数を指定
“BITERATIONS = (10000)”でシミュレーション回数を指定
実践2-1: Mplusを使った単回帰分析
•入力 従来の単回帰分析 MCMCによる単回帰分析
PLOTコマンドにおいて
“TYPE = PLOT2”とすることで
事後分布などのグラフを表示することができる
実践2-1: Mplusを使った単回帰分析
•出力(シミュレーション過程と事後分布)
出力画面で[plot]→[view plot]からチェック
シミュレーション過程
(Bayesian posterior parameter trace plots)
事後分布
(Bayesian posterior parameter distributions)
実践2-1: Mplusを使った単回帰分析
•出力(適合度指標)
事後予測p値: 0.0~1.0の値をとる
中心の0.5に近いほど当てはまりが良い
DICおよびBIC:低いほど当てはまりが良い
モデル比較の際に用いる
実践2-1: Mplusを使った単回帰分析
•出力(従来の単回帰分析との比較)
従来の単回帰分析 MCMCによる単回帰分析
実践2-2: Mplusを使った重回帰分析
•入力 従来の重回帰分析 MCMCによる重回帰分析
実践2-2: Mplusを使った重回帰分析
•出力
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

More Related Content

What's hot

Rで階層ベイズモデル
Rで階層ベイズモデルRで階層ベイズモデル
Rで階層ベイズモデル
Yohei Sato
 
状態空間モデルの考え方・使い方 - TokyoR #38
状態空間モデルの考え方・使い方 - TokyoR #38状態空間モデルの考え方・使い方 - TokyoR #38
状態空間モデルの考え方・使い方 - TokyoR #38
horihorio
 
不均衡データのクラス分類
不均衡データのクラス分類不均衡データのクラス分類
不均衡データのクラス分類
Shintaro Fukushima
 
階層ベイズによるワンToワンマーケティング入門
階層ベイズによるワンToワンマーケティング入門階層ベイズによるワンToワンマーケティング入門
階層ベイズによるワンToワンマーケティング入門
shima o
 

What's hot (20)

ベイズモデリングで見る因子分析
ベイズモデリングで見る因子分析ベイズモデリングで見る因子分析
ベイズモデリングで見る因子分析
 
Cmdstanr入門とreduce_sum()解説
Cmdstanr入門とreduce_sum()解説Cmdstanr入門とreduce_sum()解説
Cmdstanr入門とreduce_sum()解説
 
StanとRでベイズ統計モデリング読書会 導入編(1章~3章)
StanとRでベイズ統計モデリング読書会 導入編(1章~3章)StanとRでベイズ統計モデリング読書会 導入編(1章~3章)
StanとRでベイズ統計モデリング読書会 導入編(1章~3章)
 
Rで階層ベイズモデル
Rで階層ベイズモデルRで階層ベイズモデル
Rで階層ベイズモデル
 
マルコフ連鎖モンテカルロ法 (2/3はベイズ推定の話)
マルコフ連鎖モンテカルロ法 (2/3はベイズ推定の話)マルコフ連鎖モンテカルロ法 (2/3はベイズ推定の話)
マルコフ連鎖モンテカルロ法 (2/3はベイズ推定の話)
 
機械学習による統計的実験計画(ベイズ最適化を中心に)
機械学習による統計的実験計画(ベイズ最適化を中心に)機械学習による統計的実験計画(ベイズ最適化を中心に)
機械学習による統計的実験計画(ベイズ最適化を中心に)
 
階層モデルの分散パラメータの事前分布について
階層モデルの分散パラメータの事前分布について階層モデルの分散パラメータの事前分布について
階層モデルの分散パラメータの事前分布について
 
心理学者のためのGlmm・階層ベイズ
心理学者のためのGlmm・階層ベイズ心理学者のためのGlmm・階層ベイズ
心理学者のためのGlmm・階層ベイズ
 
なぜ統計学がビジネスの 意思決定において大事なのか?
なぜ統計学がビジネスの 意思決定において大事なのか?なぜ統計学がビジネスの 意思決定において大事なのか?
なぜ統計学がビジネスの 意思決定において大事なのか?
 
Rで因子分析 商用ソフトで実行できない因子分析のあれこれ
Rで因子分析 商用ソフトで実行できない因子分析のあれこれRで因子分析 商用ソフトで実行できない因子分析のあれこれ
Rで因子分析 商用ソフトで実行できない因子分析のあれこれ
 
ベイズファクターとモデル選択
ベイズファクターとモデル選択ベイズファクターとモデル選択
ベイズファクターとモデル選択
 
MCMCでマルチレベルモデル
MCMCでマルチレベルモデルMCMCでマルチレベルモデル
MCMCでマルチレベルモデル
 
状態空間モデルの考え方・使い方 - TokyoR #38
状態空間モデルの考え方・使い方 - TokyoR #38状態空間モデルの考え方・使い方 - TokyoR #38
状態空間モデルの考え方・使い方 - TokyoR #38
 
不均衡データのクラス分類
不均衡データのクラス分類不均衡データのクラス分類
不均衡データのクラス分類
 
StanとRでベイズ統計モデリング 1,2章
StanとRでベイズ統計モデリング 1,2章StanとRでベイズ統計モデリング 1,2章
StanとRでベイズ統計モデリング 1,2章
 
質的変数の相関・因子分析
質的変数の相関・因子分析質的変数の相関・因子分析
質的変数の相関・因子分析
 
階層ベイズとWAIC
階層ベイズとWAIC階層ベイズとWAIC
階層ベイズとWAIC
 
第4回DARM勉強会 (構造方程式モデリング)
第4回DARM勉強会 (構造方程式モデリング)第4回DARM勉強会 (構造方程式モデリング)
第4回DARM勉強会 (構造方程式モデリング)
 
【読書会資料】『StanとRでベイズ統計モデリング』Chapter12:時間や空間を扱うモデル
【読書会資料】『StanとRでベイズ統計モデリング』Chapter12:時間や空間を扱うモデル【読書会資料】『StanとRでベイズ統計モデリング』Chapter12:時間や空間を扱うモデル
【読書会資料】『StanとRでベイズ統計モデリング』Chapter12:時間や空間を扱うモデル
 
階層ベイズによるワンToワンマーケティング入門
階層ベイズによるワンToワンマーケティング入門階層ベイズによるワンToワンマーケティング入門
階層ベイズによるワンToワンマーケティング入門
 

Viewers also liked

5分でわかるかもしれないglmnet
5分でわかるかもしれないglmnet5分でわかるかもしれないglmnet
5分でわかるかもしれないglmnet
Nagi Teramo
 
MCMCサンプルの使い方 ~見る・決める・探す・発生させる~
MCMCサンプルの使い方 ~見る・決める・探す・発生させる~MCMCサンプルの使い方 ~見る・決める・探す・発生させる~
MCMCサンプルの使い方 ~見る・決める・探す・発生させる~
. .
 

Viewers also liked (10)

5分でわかるかもしれないglmnet
5分でわかるかもしれないglmnet5分でわかるかもしれないglmnet
5分でわかるかもしれないglmnet
 
Data assim r
Data assim rData assim r
Data assim r
 
機械の代わりに人間が学習入門
機械の代わりに人間が学習入門機械の代わりに人間が学習入門
機械の代わりに人間が学習入門
 
MCMCサンプルの使い方 ~見る・決める・探す・発生させる~
MCMCサンプルの使い方 ~見る・決める・探す・発生させる~MCMCサンプルの使い方 ~見る・決める・探す・発生させる~
MCMCサンプルの使い方 ~見る・決める・探す・発生させる~
 
Ml ch7
Ml ch7Ml ch7
Ml ch7
 
状態空間モデルの実行方法と実行環境の比較
状態空間モデルの実行方法と実行環境の比較状態空間モデルの実行方法と実行環境の比較
状態空間モデルの実行方法と実行環境の比較
 
カルマンフィルタについて
カルマンフィルタについてカルマンフィルタについて
カルマンフィルタについて
 
スパースモデリング、スパースコーディングとその数理(第11回WBA若手の会)
スパースモデリング、スパースコーディングとその数理(第11回WBA若手の会)スパースモデリング、スパースコーディングとその数理(第11回WBA若手の会)
スパースモデリング、スパースコーディングとその数理(第11回WBA若手の会)
 
機械学習によるデータ分析まわりのお話
機械学習によるデータ分析まわりのお話機械学習によるデータ分析まわりのお話
機械学習によるデータ分析まわりのお話
 
エクセルで統計分析 統計プログラムHADについて
エクセルで統計分析 統計プログラムHADについてエクセルで統計分析 統計プログラムHADについて
エクセルで統計分析 統計プログラムHADについて
 

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

パターン認識 04 混合正規分布
パターン認識 04 混合正規分布パターン認識 04 混合正規分布
パターン認識 04 混合正規分布
sleipnir002
 
第五回統計学勉強会@東大駒場
第五回統計学勉強会@東大駒場第五回統計学勉強会@東大駒場
第五回統計学勉強会@東大駒場
Daisuke Yoneoka
 
パターン認識 08 09 k-近傍法 lvq
パターン認識 08 09 k-近傍法 lvqパターン認識 08 09 k-近傍法 lvq
パターン認識 08 09 k-近傍法 lvq
sleipnir002
 
関西CVPRML勉強会 kernel PCA
関西CVPRML勉強会 kernel PCA関西CVPRML勉強会 kernel PCA
関西CVPRML勉強会 kernel PCA
Akisato Kimura
 
関東CV勉強会 Kernel PCA (2011.2.19)
関東CV勉強会 Kernel PCA (2011.2.19)関東CV勉強会 Kernel PCA (2011.2.19)
関東CV勉強会 Kernel PCA (2011.2.19)
Akisato Kimura
 

Similar to MCMCによる回帰分析@ベイズセミナー (15)

逐次モンテカルロ法の基礎
逐次モンテカルロ法の基礎逐次モンテカルロ法の基礎
逐次モンテカルロ法の基礎
 
東京都市大学 データ解析入門 8 クラスタリングと分類分析 1
東京都市大学 データ解析入門 8 クラスタリングと分類分析 1東京都市大学 データ解析入門 8 クラスタリングと分類分析 1
東京都市大学 データ解析入門 8 クラスタリングと分類分析 1
 
パターン認識 04 混合正規分布
パターン認識 04 混合正規分布パターン認識 04 混合正規分布
パターン認識 04 混合正規分布
 
第8回スキル養成講座講義資料.pdf
第8回スキル養成講座講義資料.pdf第8回スキル養成講座講義資料.pdf
第8回スキル養成講座講義資料.pdf
 
お披露目会05/2010
お披露目会05/2010お披露目会05/2010
お披露目会05/2010
 
第五回統計学勉強会@東大駒場
第五回統計学勉強会@東大駒場第五回統計学勉強会@東大駒場
第五回統計学勉強会@東大駒場
 
ベイズ統計学の概論的紹介
ベイズ統計学の概論的紹介ベイズ統計学の概論的紹介
ベイズ統計学の概論的紹介
 
パターン認識 08 09 k-近傍法 lvq
パターン認識 08 09 k-近傍法 lvqパターン認識 08 09 k-近傍法 lvq
パターン認識 08 09 k-近傍法 lvq
 
第9回スキル養成講座講義資料
第9回スキル養成講座講義資料第9回スキル養成講座講義資料
第9回スキル養成講座講義資料
 
関西CVPRML勉強会 kernel PCA
関西CVPRML勉強会 kernel PCA関西CVPRML勉強会 kernel PCA
関西CVPRML勉強会 kernel PCA
 
Learning Convolutional Neural Networks for Graphs
Learning Convolutional Neural Networks for GraphsLearning Convolutional Neural Networks for Graphs
Learning Convolutional Neural Networks for Graphs
 
Learning Convolutional Neural Networks for Graphs
Learning Convolutional Neural Networks for GraphsLearning Convolutional Neural Networks for Graphs
Learning Convolutional Neural Networks for Graphs
 
モンテカルロサンプリング
モンテカルロサンプリングモンテカルロサンプリング
モンテカルロサンプリング
 
関東CV勉強会 Kernel PCA (2011.2.19)
関東CV勉強会 Kernel PCA (2011.2.19)関東CV勉強会 Kernel PCA (2011.2.19)
関東CV勉強会 Kernel PCA (2011.2.19)
 
Dimensionality reduction with t-SNE(Rtsne) and UMAP(uwot) using R packages.
Dimensionality reduction with t-SNE(Rtsne) and UMAP(uwot) using R packages. Dimensionality reduction with t-SNE(Rtsne) and UMAP(uwot) using R packages.
Dimensionality reduction with t-SNE(Rtsne) and UMAP(uwot) using R packages.
 

More from Takashi Yamane

第一回広島ベイズ塾・最小二乗法
第一回広島ベイズ塾・最小二乗法第一回広島ベイズ塾・最小二乗法
第一回広島ベイズ塾・最小二乗法
Takashi Yamane
 
Anova君を使った分散分析
Anova君を使った分散分析Anova君を使った分散分析
Anova君を使った分散分析
Takashi Yamane
 
Mendeleyで簡単! 論文管理
Mendeleyで簡単! 論文管理Mendeleyで簡単! 論文管理
Mendeleyで簡単! 論文管理
Takashi Yamane
 

More from Takashi Yamane (14)

ベイズモデリングによる第2種信号検出モデルの表現
ベイズモデリングによる第2種信号検出モデルの表現ベイズモデリングによる第2種信号検出モデルの表現
ベイズモデリングによる第2種信号検出モデルの表現
 
DiagrammeRと仲良くなった話ーグラフィカルモデルのためのDiagrammeR速習ー
DiagrammeRと仲良くなった話ーグラフィカルモデルのためのDiagrammeR速習ーDiagrammeRと仲良くなった話ーグラフィカルモデルのためのDiagrammeR速習ー
DiagrammeRと仲良くなった話ーグラフィカルモデルのためのDiagrammeR速習ー
 
信号検出理論 (『実践ベイズモデリング』15章)
信号検出理論 (『実践ベイズモデリング』15章)信号検出理論 (『実践ベイズモデリング』15章)
信号検出理論 (『実践ベイズモデリング』15章)
 
Osaka.stan#4 chap8
Osaka.stan#4 chap8Osaka.stan#4 chap8
Osaka.stan#4 chap8
 
要因計画データに対するベイズ推定アプローチ
要因計画データに対するベイズ推定アプローチ要因計画データに対するベイズ推定アプローチ
要因計画データに対するベイズ推定アプローチ
 
PypeRで実験と分析を一本化する
PypeRで実験と分析を一本化するPypeRで実験と分析を一本化する
PypeRで実験と分析を一本化する
 
Rの導入とRStudio事始め(改訂版)
Rの導入とRStudio事始め(改訂版)Rの導入とRStudio事始め(改訂版)
Rの導入とRStudio事始め(改訂版)
 
ガンマ分布 @魁!!広島ベイズ塾
ガンマ分布 @魁!!広島ベイズ塾ガンマ分布 @魁!!広島ベイズ塾
ガンマ分布 @魁!!広島ベイズ塾
 
(実験心理学徒だけど)一般化線形混合モデルを使ってみた
(実験心理学徒だけど)一般化線形混合モデルを使ってみた(実験心理学徒だけど)一般化線形混合モデルを使ってみた
(実験心理学徒だけど)一般化線形混合モデルを使ってみた
 
ANOVA君とanovatan
ANOVA君とanovatanANOVA君とanovatan
ANOVA君とanovatan
 
第一回広島ベイズ塾・最小二乗法
第一回広島ベイズ塾・最小二乗法第一回広島ベイズ塾・最小二乗法
第一回広島ベイズ塾・最小二乗法
 
Anova君を使った分散分析
Anova君を使った分散分析Anova君を使った分散分析
Anova君を使った分散分析
 
Rstudio事始め
Rstudio事始めRstudio事始め
Rstudio事始め
 
Mendeleyで簡単! 論文管理
Mendeleyで簡単! 論文管理Mendeleyで簡単! 論文管理
Mendeleyで簡単! 論文管理
 

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

Editor's Notes

  1. ・声量確認
  2. ・当然Rとmplusをお使いですよね?