hmeEM {mixtools} | R Documentation |
EM Algorithm for Mixtures-of-Experts
Description
Returns EM algorithm output for a mixture-of-experts model. Currently, this code only handles a 2-component mixture-of-experts, but will be extended to the general k-component hierarchical mixture-of-experts.
Usage
hmeEM(y, x, lambda = NULL, beta = NULL, sigma = NULL, w = NULL,
k = 2, addintercept = TRUE, epsilon = 1e-08,
maxit = 10000, verb = FALSE)
Arguments
y |
An n-vector of response values. |
x |
An nxp matrix of predictors. See |
lambda |
Initial value of mixing proportions, which are modeled as an inverse
logit function of the predictors. Entries should sum to 1.
If NULL, then |
beta |
Initial value of |
sigma |
A vector of standard deviations. If NULL, then |
w |
A p-vector of coefficients for the way the mixing proportions are modeled. See |
k |
Number of components. Currently, only |
addintercept |
If TRUE, a column of ones is appended to the x matrix before the value of p is calculated. |
epsilon |
The convergence criterion. |
maxit |
The maximum number of iterations. |
verb |
If TRUE, then various updates are printed during each iteration of the algorithm. |
Value
hmeEM
returns a list of class mixEM
with items:
x |
The set of predictors (which includes a column of 1's if |
y |
The response values. |
w |
The final coefficients for the functional form of the mixing proportions. |
lambda |
An nxk matrix of the final mixing proportions. |
beta |
The final regression coefficients. |
sigma |
The final standard deviations. If |
loglik |
The final log-likelihood. |
posterior |
An nxk matrix of posterior probabilities for observations. |
all.loglik |
A vector of each iteration's log-likelihood. |
restarts |
The number of times the algorithm restarted due to unacceptable choice of initial values. |
ft |
A character vector giving the name of the function. |
References
Jacobs, R. A., Jordan, M. I., Nowlan, S. J. and Hinton, G. E. (1991) Adaptive Mixtures of Local Experts, Neural Computation 3(1), 79–87.
McLachlan, G. J. and Peel, D. (2000) Finite Mixture Models, John Wiley and Sons, Inc.
See Also
Examples
## EM output for NOdata.
data(NOdata)
attach(NOdata)
set.seed(100)
em.out <- regmixEM(Equivalence, NO)
hme.out <- hmeEM(Equivalence, NO, beta = em.out$beta)
hme.out[3:7]