スタンおよびフロントエンドパッケージを使用するrstanarm
かbrms
、以前のような混合モデルで行ったように、ベイジアン方式でデータを簡単に分析できますlme
。Kruschke-Gelman-Wagenmakers-etcの本や記事のほとんどを私の机に置いていますが、これらは、ベイジアンの怒りのSkyllaとメディカルレビュアーのCharybdisの間で引き裂かれた、医療聴衆のために結果を要約する方法を教えてくれません( 「拡散的なものではなく、重要なものが必要です」)。
例:胃の頻度(1 /分)は3つのグループで測定されます。健康なコントロールが基準です。参加者ごとにいくつかの測定値がありますので、頻繁に使用する次の混合モデルを使用しましたlme
。
summary(lme(freq_min~ group, random = ~1|study_id, data = mo))
わずかに編集された結果:
Fixed effects: freq_min ~ group
Value Std.Error DF t-value p-value
(Intercept) 2.712 0.0804 70 33.7 0.0000
groupno_symptoms 0.353 0.1180 27 3.0 0.0058
groupwith_symptoms 0.195 0.1174 27 1.7 0.1086
簡単にするために、2 * stdエラーを95%CIとして使用します。
頻繁な文脈では、私はこれを次のように要約したでしょう。
- 対照群では、推定頻度は2.7 /分でした(ここにCIを追加することもできますが、絶対CIと差分CIによって生じる混乱のために、これを避けることがあります)。
- no_symptomsグループでは、頻度は0.4 /分、CI(0.11〜0.59)/分、p = 0.006でコントロールよりも高かった。
- with_symptomsグループでは、頻度が0.2 /分、CI(-0.04〜0.4)/分、p = 0.11でコントロールよりも高かった。
これは医学出版物の許容可能な最大の複雑さについてであり、レビューアはおそらく2番目のケースで「重要ではない」を追加するように頼みます。
これは、stan_lmer
デフォルトの事前確率と同じです。
freq_stan = stan_lmer(freq_min~ group + (1|study_id), data = mo)
contrast lower_CredI frequency upper_CredI
(Intercept) 2.58322 2.714 2.846
groupno_symptoms 0.15579 0.346 0.535
groupwith_symptoms -0.00382 0.188 0.384
ここで、CredIは90%の信頼できる間隔です(90%がデフォルトとして使用される理由は、rstanarmビネットを参照してください)。
質問:
- 上記の要約をベイジアン世界に翻訳する方法は?
- 事前協議はどの程度必要ですか?事前に言及するとき、論文は通常の「主観的な仮定」で戻ってくると確信しています。または、少なくとも「技術的な議論はしないでください」。しかし、すべてのベイジアン当局は、解釈が事前の状況でのみ有効であることを要求しています。
- ベイズの概念を裏切ることなく、定式化の「重要な」サロゲートを提供するにはどうすればよいですか?「信じられないほど違う」(うーん...)またはほぼ間違いなく違う(「うおは...」のように聞こえます)
ジョナ・ガブリーとベン・グッドリッチ(2016)。rstanarm:スタンを介したベイジアン応用回帰モデリング。Rパッケージバージョン2.9.0-3。 https://CRAN.R-project.org/package=rstanarm
スタン開発チーム(2015)。Stan:確率とサンプリング用のC ++ライブラリ、バージョン2.8.0。URL http://mc-stan.org/。
ポール・クリスチャン・バークナー(2016)。brms:スタンを使用したベイジアン回帰モデル。Rパッケージバージョン0.8.0。https://CRAN.R-project.org/package=brms
Pinheiro J、Bates D、DebRoy S、Sarkar DおよびRコアチーム(2016)。nlme:線形および非線形混合効果モデル。Rパッケージバージョン3.1-124、http://CRAN.R-project.org/package=nlme>。
group_nosymptoms
それが負である確率はであると言え1 / draws
ます。しかし、インターセプトでは、チェーンがこれらのデータのネガティブな領域に迷い込むことはないため、確率は未満であると言えます1 / draws
。
mean(as.matrix(freq_stan)[,"groupwith_symptoms"] < 0)
ます。