Generate random samples from the posterior predictive distribution of the following structure:
$$G |eta \sim DP(eta,U)$$
$$G_m|gamma,G \sim DP(gamma,G), m = 1:M$$
$$pi_{mj}|G_m,alpha \sim DP(alpha,G_m), j = 1:J_m$$
$$z|pi_{mj} \sim Categorical(pi_{mj})$$
$$k|z,G_m \sim Categorical(G_m),\textrm{ if z is a sample from the base measure }G_{mj}$$
$$u|k,G \sim Categorical(G),\textrm{ if k is a sample from the base measure G}$$
$$theta_u|psi \sim H0(psi)$$
$$x|theta_u,u \sim F(theta_u)$$
where DP(eta,U) is a Dirichlet Process on positive integers, eta is the "concentration parameter", U is the "base measure" of this Dirichlet process, U is an uniform distribution on all positive integers. DP(gamma,G) is a Dirichlet Process on integers with concentration parameter gamma and base measure G. DP(alpha,G_m) is a Dirichlet Process on integers with concentration parameter alpha and base measure G_m. The choice of F() and H0() can be described by an arbitrary "BasicBayesian" object such as "GaussianGaussian","GaussianInvWishart","GaussianNIW", "GaussianNIG", "CatDirichlet", and "CatDP". See ?BasicBayesian
for definition of "BasicBayesian" objects, and see for example ?GaussianGaussian
for specific "BasicBayesian" instances. As a summary, An "HDP2" object is simply a combination of a "CatHDP2" object (see ?CatHDP2
) and an object of any "BasicBayesian" type.
In the case of HDP2, u, z and k can only be positive integers.
The model structure and prior parameters are stored in a "HDP2" object.
This function will generate random samples from the distribution u,z,k|eta,gamma,alpha,psi,x.
# S3 method for HDP2
rPosteriorPredictive(obj, n = 1, x, m, j, ...)
A "HDP2" object.
integer, number of samples.
Random samples of the "BasicBayesian" object.
integer, group label.
integer, subgroup label.
Additional arguments to be passed to other inherited types.
integer, the categorical samples.
Teh, Yee W., et al. "Sharing clusters among related groups: Hierarchical Dirichlet processes." Advances in neural information processing systems. 2005.