Estimate mixture proportions of a mixture model by Interior Point method
Estimate mixture proportions of a mixture model by Interior Point method
Given the individual component likelihoods for a mixture model, estimates the mixture proportions.
mixIP(matrix_lik, prior, pi_init =NULL, control = list(), weights =NULL)
Arguments
matrix_lik,: a n by k matrix with (j,k)th element equal to fk(xj).
prior,: a k vector of the parameters of the Dirichlet prior on π. Recommended to be rep(1,k)
pi_init,: the initial value of π to use. If not specified defaults to (1/k,...,1/k).
control: A list of control parameters to be passed to REBayes::KWDual
weights: weights to be assigned to the observations (an n vector)
Returns
A list, including the estimates (pihat), the log likelihood for each interation (B) and a flag to indicate convergence
Details
Optimizes
L(pi)=sumjwjlog(sumkpikfjk)+h(pi)
subject to pi_k non-negative and sum_k pi_k = 1. Here
h(pi)
is a penalty function h(pi) = sum_k (prior_k-1) log pi_k. Calls REBayes::KWDual in the REBayes package, which is in turn a wrapper to the mosek convex optimization software. So REBayes must be installed to use this. Used by the ash main function; there is no need for a user to call this function separately, but it is exported for convenience.