Conduct posterior sampling for multinomial population with normalized power prior. For the power parameter \(\delta\), a Metropolis-Hastings algorithm with either independence proposal, or a random walk proposal on its logit scale is used. For the model parameter vector \(\theta\), Gibbs sampling is used. Assume the prior for model parameter \(\theta\) comes from a Dirichlet distribution.
MultinomialNPP_MCMC(Data.Cur = c(10, 10, 10), Data.Hist = c(10, 10, 10),
CompStat = list(n0 = NULL, n1 = NULL),
prior = list(theta.dir = c(0.5, 0.5, 0.5),
delta.alpha = 1, delta.beta = 1),
MCMCmethod = 'IND', rw.logit.delta = 0.1,
ind.delta.alpha = 1, ind.delta.beta = 1, nsample = 5000,
control.mcmc = list(delta.ini = NULL, burnin = 0, thin = 1))
A list of class "NPP" with four elements:
posterior of the model parameter \(\theta\).
posterior of the power parameter \(\delta\).
the acceptance rate in MCMC sampling for \(\delta\) using Metropolis-Hastings algorithm.
the deviance information criteria for model diagnostics.
a non-negative integer vector of \(K\) elements: c(number of success in group 1, number of success in group 2, ..., number of success in group \(K\)) in the current data.
a non-negative integer vector of \(K\) elements: c(number of success in group 1, number of success in group 2, ..., number of success in group \(K\)) in the historical data.
a list of two elements that represents the
"compatibility(sufficient) statistics" for \(\theta\).
Default is NULL
so the fitting will be based on
the data. If the CompStat
is provided then the inputs in
Data.Cur
and Data.Hist
will be ignored.
Note: in multinomial case providing CompStat
is equivalent to provide the data summary as in
Data.Cur
and Data.Cur
.
n0
is a non-negative integer vector of \(K\) elements for compatible statistics in historical data:
c(number of success in group 1, number of success in group 2, ..., number of success in group \(K\)).
n1
is a non-negative integer vector of \(K\) elements for compatible statistics in current data:
c(number of success in group 1, number of success in group 2, ..., number of success in group \(K\)).
a list of the hyperparameters in the prior for both \(p\) and \(\delta\).
theta.dir
is a vector of \(K\) elements of the hyperparameter \(\alpha\)
in the prior distribution
\(Dir(\alpha[1],\alpha[2],...,\alpha[K])\) for \(\theta\).
delta.alpha
a scalar, the hyperparameter \(\alpha\) in the prior distribution \(Beta(\alpha, \beta)\) for \(\delta\).
delta.beta
a scalar, the hyperparameter \(\beta\) in the prior distribution \(Beta(\alpha, \beta)\) for \(\delta\).
sampling method for \(\delta\) in MCMC. It can be either 'IND' for independence proposal; or 'RW' for random walk proposal on logit scale.
the stepsize(variance of the normal distribution) for the random walk proposal of logit \(\delta\).
Only applicable if MCMCmethod = 'RW'.
specifies the first parameter \(\alpha\) when
independent proposal \(Beta(\alpha, \beta)\) for \(\delta\) is used. Only applicable if MCMCmethod = 'IND'
specifies the first parameter \(\beta\) when
independent proposal \(Beta(\alpha, \beta)\) for \(\delta\) is used. Only applicable if MCMCmethod = 'IND'
specifies the number of posterior samples in the output.
a list of three elements used in posterior sampling.
delta.ini
is the initial value of \(\delta\) in MCMC sampling.
burnin
is the number of burn-ins. The output will only show MCMC samples after bunrin.
thin
is the thinning parameter in MCMC sampling.
Tianyu Bai tianyu.bai24@gmail.com Zifei Han hanzifei1@gmail.com
The outputs include posteriors of the model parameter(s) and power parameter, acceptance rate in sampling \(\delta\), and the deviance information criteria.
Ibrahim, J.G., Chen, M.-H., Gwon, Y. and Chen, F. (2015). The Power Prior: Theory and Applications. Statistics in Medicine 34:3724-3749.
Duan, Y., Ye, K. and Smith, E.P. (2006). Evaluating Water Quality: Using Power Priors to Incorporate Historical Information. Environmetrics 17:95-106.
BerNPP_MCMC
;
NormalNPP_MCMC
;
PoissonNPP_MCMC
MultinomialNPP_MCMC(Data.Cur = c(3,11,3,669), Data.Hist = c(9,20,9,473),
prior = list(theta.dir = c(1,1,1,1),
delta.alpha = 1, delta.beta = 1),
MCMCmethod = 'IND', rw.logit.delta = 0.1,
ind.delta.alpha = 1, ind.delta.beta = 1, nsample = 10000,
control.mcmc = list(delta.ini = NULL,
burnin = 2000, thin = 5))
Run the code above in your browser using DataLab