統計ブログはじめました!

各専門分野の統計技術、方法、テクニックなどを気ままに分かり易く例題をもとに解説します。

新・医学と統計(17)

2018-12-22 11:23:31 | 日記・エッセイ・コラム
前回(16)では、”Bayesian Linear Regression(BLR)” と通常の ”Linear Regression(LR)” の回帰係数(推定値)が一致せず、その理由がよく分かりませんでした(図1)。
 
図1 BLR と LR の回帰係数(推定値)
 
上段が LRの、下段が BLRの Coefficientsであり、Interceptが大きく違っています。
そこで、
今回はデータ解析環境「R」で BLRをやってみました。
「R」には、
MCMC(マルコフ連鎖モンテカルロシミュレーション)による推定方法が用意されています。
これは乱数を使ってシミュレーション計算する方法で、「R」の環境があれば簡単に実行できます。
「RStan」での方法もありますが、少々厄介です。
 
「R」の実行:
事前にpackage(MCMApack)をインストールしておいて下さい。
データは前回の「ZTT-Protein.csv」を Excelで開き「ZTT~gGlb」のすべてを選択しグリップボードにコピーします。
そして、下記により読込み実行します。
 
***
dat<- read.delim("clipboard", header=T)
head(dat)
attach(dat)
library(MCMCpack)
fit <- MCMCregress(ZTT ~ gGlb , data=dat, burnin = 1000, mcmc = 10000, thin = 2, b0 = 0, B0 = 0,
 c0 = 0.001 d0= 0.001)
summary(fit)
 
出力結果(図1) 
***
 
ここで、
事前情報が一様分布を当てはめているなら、
「事前分布の平均:b0=0、事前分布の分散:B0=0、逆ガンマ分布のshapeパラメータ:c0=0.001、逆ガンマ分布のscaleパラメータ:d0=0.001」としておきます。
 
注釈:
burnin:バーイン期間、mcmc:くり返し数、thin:サンプリング間隔
引数の詳細は、「Functions in MCMCpack」を参考にして下さい。
 
図1(出力結果)のとおり、MCMCregressによる BLRは、ほぼ LRの結果に近いものになりました。
JASPとの回帰係数(Intercept)の違いは、良くわかりません(ご教示頂ければ幸いです)。
 
次回に続く!
 
情報統計研究所をご気軽にご利用くださいませ。
 
情報統計研究所刊:「すぐに役立つ統計のコツ」立読み

https://e-hon.cloudpages.jp/viewer/asp/9784_274_218163