Solves the following optimization problem $$\max_{\pi} \sum_k w_k \log(\alpha / (K+1) + (1 - \alpha)\sum_j \pi_j \ell_jk).$$ It does this using a weighted EM algorithm.
uni_em_const(weight_vec, lmat, pi_init, alpha, lambda, itermax, obj_tol)
A vector of weights. Each element of weight_vec
corresponds
to a column of lmat
.
A matrix of inner weights. The columns are the "individuals" and the rows are the "classes."
The initial values of pivec
. Each element of pi_init
corresponds to a row of lmat
.
The mixing weight for the uniform component. This should be small (say, less tahn 10^-3).
A vector of penalties on the pi's (corresponding to the rows
of lmat
).
This can either be of length 1, in which case the same penalty is applied
to each of the pi's. Or it can be the same length of pivec
, in
which case a different penalty is applied to each of the pi's. Larger
penalties generally increase the value of the pi's, not shrink them.
The maximum number of EM iterations to take.
The objective stopping criterion.
A vector of numerics. The update of pivec
in
flexdog_full
.