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