View source: R/ebpm_gamma_mixture.R
ebpm_gamma_mixture | R Documentation |
Uses Empirical Bayes to fit the model
x_j | \lambda_j ~ Poi(s_j \lambda_j)
with
lambda_j ~ g()
with Mixture of Exponential:
g() = sum_k pi_k gamma(shape = 1, rate = b_k)
b_k is selected to cover the lambda_i of interest for all data points x_i
ebpm_gamma_mixture(
x,
s,
shape,
scale,
g_init = NULL,
fix_g = FALSE,
m = 2,
control = NULL,
low = NULL
)
x |
A vector of Poisson observations. |
s |
A vector of scaling factors for Poisson observations: the model is |
shape |
A vector specifying the shapes used in gamma mixtures |
scale |
A vector specifying the scales used in gamma mixtures |
g_init |
The prior distribution |
fix_g |
If |
m |
multiple coefficient when selectig grid, so the b_k is of the form low*m^k-1; must be greater than 1; default is 2 |
control |
A list of control parameters to be passed to the optimization function. 'mixsqp' is used. |
The model is fit in 2 stages: i) estimate g
by maximum likelihood (over pi_k)
ii) Compute posterior distributions for \lambda_j
given x_j,\hat{g}
.
A list containing elements:
posterior
A data frame of summary results (posterior means, and posterior log mean).
fitted_g
The fitted prior \hat{g}
, of class gammamix
log_likelihood
The optimal log likelihood attained
L(\hat{g})
.
beta = c(rep(0,50),rexp(50))
x = rpois(100,beta) # simulate Poisson observations
s = replicate(100,1)
m = 2
out = ebpm::ebpm_gamma_mixture(x,s)
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.