BUGS와 R의 모수는 어떤 분포에 대해 다른가?


31

BUGS와 R의 매개 변수가 Normal, log-Normal 및 Weibull 인 분포를 찾았습니다.

이들 각각에 대해, 나는 R이 사용하는 두 번째 매개 변수가 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에서 버그로 및 다시 다시 (2013), DS LeBauer, MC Dietze, BM Bolker R Journal 5 (1), 207-209로 게시됩니다.

다음은 내 목록입니다 (원래 질문자가 제공 한 수정 사항).

τσσ2τ=1/σ2=1/var

베타, 포아송, 지수, 유니폼 은 모두 같습니다

BUGS의 음수 이항 법 은 "생태 학적"(크기, mu, 크기가 정수가 아닌 경우) 매개 변수화가 아닌 이산 매개 변수화 (크기, 조사) 만 갖습니다.

νshapeλlambdaashapebscaleλ=(1/b)a

버그의 감마 는 ( shape, rate)입니다. 이것이 R의 기본값이지만 R은 (모형 인수의 이름이 지정된 경우) [모양, 스케일]도 허용합니다. 속도 = 1 / 스케일

순서 는 특히 BUGS (명명 된 인수가없는)에서 중요합니다 (예 : R dbinom(x,size,prob)vs 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 문서를 살펴볼 가치가 있습니다. 다른 미묘한 차이점이있을 수 있습니다]


좋은 답변-감사합니다. 이를 통해 잠재적 인 오류로부터 많은 두뇌 능력, 시간 및 가장 중요한 절약 효과를 얻을 수 있습니다.
David LeBauer

1
BUGS와 JAGS가 잘림, 검열 및 해당 배포판의 사전 순서를 처리하는 방법의 차이를 잊지 마십시오 (매뉴얼의 섹션 8). 특히 JAGS에는 dintervalBUGS가 I ()와 함께 작동 하는 배포판이 있습니다.
공역 사전
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.