EM algorithm to fit weighted ash objective.
Solves the following optimization problem
\max_{π} ∑_k w_k \log(∑_j π_j \ell_jk).
It does this using a weighted EM algorithm.
wem(weight_vec, lmat, pi_init, lambda, itermax, obj_tol)
weight_vec |
A vector of weights. Each element of |
lmat |
A matrix of inner weights. The columns are the "individuals" and the rows are the "classes." |
pi_init |
The initial values of |
lambda |
The penalty on the pi's. Should be greater than 0 and really really small. |
itermax |
The maximum number of EM iterations to take. |
obj_tol |
The objective stopping criterion. |
A vector of numerics.
David Gerard
set.seed(2) n <- 3 p <- 5 lmat <- matrix(stats::runif(n * p), nrow = n) weight_vec <- seq_len(p) pi_init <- stats::runif(n) pi_init <- pi_init / sum(pi_init) wem(weight_vec = weight_vec, lmat = lmat, pi_init = pi_init, lambda = 0, itermax = 100, obj_tol = 10^-6)
Please choose more modern alternatives, such as Google Chrome or Mozilla Firefox.