winBUGS関数パラメタ一覧編

## winBUGS
r ~ dbern(p)
#### R
N <- 1000
p <- 0.3
R <- sample(0:1,N,replace=TRUE,prob=c(1-p,p))
hist(R)
  • 二項分布 \frac{n!}{r!(n-r)!}p^r(1-p)^{n-r}; r = 0,1,..,n
## winBUGS
r ~ dbin(p,n)
#### R
n <- 100
R <- rbinom(N,n,p)
hist(R)
  • カテゴリカル p=(p_1,p_2...,p_n); r = 1,2,..,n; \sum_{i=1}^{n} p_i = 1
## winBUGS
r ~ dcat(p[])
#### R
n <- 5
p <- 1:n
p <- p/sum(p)
R <- sample(1:n,N,replace=TRUE,prob=p)
tabulate(R,n)
  • 負の二項分布 \frac{(x+r-1)!}{x!(r-1)!}p^r(1-p)^{x}; x = 0,1,..
## winBUGS
x ~ dnegbin(p,r)
## winBUGS
x ~ dpois(lambdda)
#### R
lambda <- 3
R <- rpois(N,lambda)
plot(0:max(R),tabulate(R+1),type="h")
  • ベータ分布 p^{a-1}(1-p)^{b-1} \frac{\Gamma(a+b)}{\Gamma(a)\Gamma(b)} ; 0 < p < 1
## winBUGS
p ~ dbeta(a,b)
#### R
a <- 3;b<- 6
R <- rbeta(N,a,b)
hist(R)
## winBUGS
x ~ dchisqr(k)
#### R
k <- 3
R <- rchisq(N,k)
hist(R)
  • Double exponential分布 \frac{\tau}{2}e^{-\tau |x-\mu|); -\infty < x < \infty
## winBUGS
x ~ ddexp(mu,tau)
  • 指数分布 \lambda e^{-\lambda x}; x \ge 0
## winBUGS
x ~ dexp(lambda)
#### R
lambda <- 2
R <- rexp(N,lambda)
hist(R)
  • ガンマ分布 \frac{\mu^r x^{r-1}e^{-\mu x}}{\Gamma(r)}; x \ge 0
## winBUGS
x ~ dgamma(r,mu)
#### R
r <- 2
mu <- 3
R <- rgamma(N,shape=r,rate=mu)
R. <- rgamma(N,r,mu)
plot(sort(R),sort(R.))
abline(0,1,col=2)
  • Generalized Gamma \frac{\beta}{\Gamma(r)}\mu^{\beta r} x^{\beta r-1} e^{-(\mu x)^{\beta}}; x \ge 0
## winBUGS
x ~ gen.gamma(r,mu,beta)
  • Log-normal \sqrt{\frac{\tau}{2\pi}} \frac{1}{x} e^{-\frac{\tau}{2}(\log{x}-\mu)^2}; x \ge 0
    • winBUGSの\tauとRのsdlog(s)とは\tau=\frac{1}{s^2}の関係であることに注意
## winBUGS
x ~ dlnorm(mu,tau)
#### R
mu <- 3
tau <- 4
R <- rlnorm(N, meanlog = mu, sdlog = 1/sqrt(tau))
hist(R)
  • Logistic分布 \frac{\tau e^{\tau(x-\mu)}}{(1+e^{\tau(x-\mu)})^2}; -\infty < x < \infty
## winBUGS
x ~ dlogis(mu,tau)
  • 正規分布 \sqrt{\frac{\tau}{2\pi}} e^{-\frac{\tau}{2}(x-\mu)^2};-\infty < x < \infty
    • winBUGSの\tauとRのsd(s)とは\tau=\frac{1}{s^2}の関係であることに注意
## winBUGS
x ~ dnorm(mu,tau)
#### R
mu <- 2; tau <- 3
R <- rnorm(N,mu,1/sqrt(tau))
hist(R)
  • パレート分布 \alpha c^{\alpha} x^{-(\alpha+1)}; x > c
## winBUGS
x <- dpar(alpha,c)
  • スチューデントのt分布 \frac{\Gamma(\frac{k+1}{2})}{\Gamma(\frac{k}{2})}\sqrt{\frac{\tau}{k \pi}} (1+\frac{\tau}{k}(x-\mu)^2)^{-\frac{k+1}{2}}; -\infty < x < \infty; k \ge 2
## winBUGS
x ~ dt(mu,tau,k)
    • Rでは標準正規分布に対応するt分布の関数としてdt(),rt()などがあり、non-central parameterなどを使って対応づけられるが、単純な対応関数にはなっていない
  • 一様分布 \frac{1}{b-a}; a < x < b
## winBUGS
x ~ dunif(a,b)
#### R
a <- 2; b <- 5
R <- runif(N,a,b)
hist(R)
  • ワイブル分布 v \lambda x^{v-1}e^{-\lambda x^v}; x > 0
## winBUGS
x ~ dweib(v,lambda)
#### R
v <- 1.5; lambda <- 2
R <- rweibull(N, shape=v, scale = lambda^(-1/v))
hist(R)
  • 多項分布 \frac{\sum_{i=1}^n x_i)!}{\prod_{i=1}^n x_i!} \prod_{i=1}^n p_i^{x_i}; \sum_{i=1}^n x_i=nx; 0 < p_i < 1; \sum_{i=1}^n p_i=1
## winBUGS
x[] ~ dmulti(p[],nx)
#### R
n <- 5
p <- runif(n)
p <- p/sum(p)
nx <- 20
R <- rmultinom(N, nx, prob = p)
  • Dirichlet分布 \frac{\Gamma(\sum_{i=1}^n \alpha_i)}{\prod_{i=1}^n \Gamma(\alpha_i)} \prod_{i=1}^n p_i^{\alpha_i-1}; 0 < p_i < 1; \sum_{i=1}^n p_i=1
## winBUGS
p[] ~ ddirch(alpha[])
#### R
library(MCMCpack)
alpha <- c(10,5,3,6)
R <- rdirichlet(N,alpha)
  • multivariate Normal (2\pi)^{-\frac{d}{2}} |T|^{\frac{1}{2}} e^{-\frac{1}{2}(x-\mu)^T T (x-\mu)}; -\infty < x < \infty
## winBUGS muはベクトル、Mは正方行列
x[] ~ dmnorm(mu[],M[,])
#### R
mu <- c(1,2)
sigma <- matrix(c(4,2,2,3), ncol=2)
M <- solve(sigma)
# ただし、winBUGSのMとsigmaの関係はM=solve(sigma)
R <- rmvnorm(N, mean=mu, sigma=solve(M), method="chol")
plot(R)
  • Multivariate Student-t分布 \Gamma(\frac{k+d}{2})}{\Gamma(\frac{k}{2})k^{\frac{d}{2}}\pi^{\frac{d}{2}}|T|^{\frac{1}{2}}\times (1+\frac{1}{k}(x-\mu)^T T (x-\mu))^{-\frac{k+d}{2}}; -\infty < x < \infty; k \ge 2
    • 行列Tが分散共分散行列の逆行列になっている点は、multivariate normal distributionの場合と同様
  • Wishart分布 |R|^{\frac{k}{2}}|x|^{\frac{k-p-1}{2}}e^{-\frac{1}{2}Tr(Rx)}; xは対象でpositive definite
## winBUGS
x[,] ~ dwish(R[,],k)
    • 多変量正規分布とそのBUGSで使うWishart分布についてごちゃごちゃしてきたときにはこちらを参照