BUGSとRのパラメーター化はどの分布で異なりますか?


31

BUGSとRのパラメーター化が異なる正規分布、対数正規分布、ワイブル分布を見つけました。

これらのそれぞれについて、Rが使用する2番目のパラメーターは、BUGS(または私の場合はJAGS)で使用する前に逆変換(1 /パラメーター)する必要があることを収集します。

現在存在するこれらの変換の包括的なリストを知っている人はいますか?

私が見つけることができる最も近いものは、JAGS 2.2.0ユーザーマニュアルの表7の分布を、?rnorm等の結果と、おそらくいくつかの確率テキストと比較することです。このアプローチでは、変換をPDFから個別に推定する必要があるようです。

このタスク(および起こりうるエラー)が既に行われている場合は回避するか、ここからリストを開始します。

更新

Benの提案に基づいて、パラメーターのデータフレームをRからBUGSパラメーター化に変換する次の関数を作成しました。

##' convert R parameterizations to BUGS paramaterizations
##' 
##' R and BUGS have different parameterizations for some distributions. 
##' This function transforms the distributions from R defaults to BUGS 
##' defaults. BUGS is an implementation of the BUGS language, and these 
##' transformations are expected to work for bugs.
##' @param priors data.frame with colnames c('distn', 'parama', 'paramb')
##' @return priors with jags parameterizations
##' @author David LeBauer

r2bugs.distributions <- function(priors) {

  norm   <- priors$distn %in% 'norm'
  lnorm  <- priors$distn %in% 'lnorm'
  weib   <- priors$distn %in% 'weibull'
  bin    <- priors$distn %in% 'binom'

  ## Convert sd to precision for norm & lnorm
  priors$paramb[norm | lnorm] <-  1/priors$paramb[norm | lnorm]^2
  ## Convert R parameter b to JAGS parameter lambda by l = (1/b)^a
  priors$paramb[weib] <-   1 / priors$paramb[weib]^priors$parama[weib]
  ## Reverse parameter order for binomial
  priors[bin, c('parama', 'paramb')] <-  priors[bin, c('parama', 'paramb')]

  ## Translate distribution names
  priors$distn <- gsub('weibull', 'weib',
                       gsub('binom', 'bin',
                            gsub('chisq', 'chisqr',
                                 gsub('nbinom', 'negbin',
                                      as.vector(priors$distn)))))
  return(priors)
}

##' @examples
##' priors <- data.frame(distn = c('weibull', 'lnorm', 'norm', 'gamma'),
##'                     parama = c(1, 1, 1, 1),
##'                     paramb = c(2, 2, 2, 2))
##' r2bugs.distributions(priors)

2
実際には答えではありませんが、このチートシートは有用であることがわかりました。教育測定からのモデルを使用したベイジアン分析の有用な分布(RJ Mislevy、2001)-主にBUGS分布について説明しています。
chl

回答:


36

私は缶詰リストを知りません。

更新:このリスト(および追加情報)は現在、確率密度関数の変換:RからBUGSおよびBack Again(2013)、DS LeBauer、MC Dietze、BM Bolker R Journal 5(1)、207-209として公開されています。

これが私のリストです(元の質問者が提供した編集):

正規および対数正規 は、または(標準偏差または分散)ではなく、(精度)に関してパラメーター化されます。σ σ 2 τ = 1 / σ 2 = 1 / VARτσσ2τ=1/σ2=1/var

ベータ、ポアソン、指数、ユニフォームはすべて同じです

BUGSの負の二項式には、離散的なパラメーター化(size、prob)のみがあり、「生態学的」(サイズ、mu、サイズは非整数)パラメーター化はありません。

編集ワイブルバグでは(ある = 、 = Rである(中)は、= 、 = )としてはで指摘[数学の表記はそれぞれのドキュメントで使用する表記と一致している] 私はパラメータ化するにはどうすればよいですJAGS / BUGSのワイブル分布?λ bはλ = 1 / B Aνshapeλlambdaashapebscaleλ=1/ba

BUGSのガンマは(shaperate)です。これはRのデフォルトですが、Rは(shape、scale)[scale引数に名前が付けられている場合]も許可します。レート= 1 /スケール

順序は、特にBUGS(名前付き引数を持たない)で重要です。たとえば、R dbinom(x,size,prob)対BUGS dbin(p,n)[同じパラメータ、反対の順序]。

名前の違い

  • 二項式:R = dbinom、BUGS =dbin
  • カイ二乗:R = dchisq、BUGS =dchisqr
  • ワイブル:R = dweibull、BUGS =dweib
  • 負の二項式:R = dnbinom、BUGS =dnegbin

編集:BUGSが使用する切り捨てられた分布のI()場合、JAGSが使用しますdinterval()[これを使用する場合、JAGSのドキュメントを参照する価値があります。他の微妙な違いがあるかもしれません]


素晴らしい答え-ありがとう。これにより、多くの脳力、時間、そして-最も重要なこと-潜在的なエラーを防ぐことができます。
デビッドルバウアー

1
BUGSとJAGSがそれらの分布の切り捨て、検閲、および事前の順序付けを処理する方法の違いを忘れないでください(マニュアルのセクション8)。特に、JAGSにはdintervalディストリビューションがあり、BUGSはI()で動作します。
共役前
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.