Returns EM algorithm output for mixtures of multiple regressions with arbitrarily many components.
regmixEM(y, x, lambda = NULL, beta = NULL, sigma = NULL, k = 2,
addintercept = TRUE, arbmean = TRUE, arbvar = TRUE,
epsilon = 1e-08, maxit = 10000, verb = FALSE)
regmixEM
returns a list of class mixEM
with items:
The set of predictors (which includes a column of 1's if addintercept
= TRUE).
The response values.
The final mixing proportions.
The final regression coefficients.
The final standard deviations. If arbmean
= FALSE, then only the smallest standard
deviation is returned. See scale
below.
If arbmean
= FALSE, then the scale factor for the component standard deviations is returned.
Otherwise, this is omitted from the output.
The final log-likelihood.
An nxk matrix of posterior probabilities for observations.
A vector of each iteration's log-likelihood.
The number of times the algorithm restarted due to unacceptable choice of initial values.
A character vector giving the name of the function.
An n-vector of response values.
An nxp matrix of predictors. See addintercept
below.
Initial value of mixing proportions. Entries should sum to
1. This determines number of components. If NULL, then lambda
is
random from uniform Dirichlet and number of
components is determined by beta
.
Initial value of beta
parameters. Should be a pxk matrix,
where p is the number of columns of x and k is number of components.
If NULL, then beta
has standard normal entries according to a binning method done on the data. If both
lambda
and beta
are NULL, then number of components is determined by sigma
.
A vector of standard deviations. If NULL, then 1/sigma
^2 has
random standard exponential entries according to a binning method done on the data.
If lambda
, beta
, and sigma
are
NULL, then number of components is determined by k
.
Number of components. Ignored unless all of lambda
, beta
,
and sigma
are NULL.
If TRUE, a column of ones is appended to the x matrix before the value of p is calculated.
If TRUE, each mixture component is assumed to have a different set of regression coefficients
(i.e., the beta
s).
If TRUE, each mixture component is assumed to have a different sigma
.
The convergence criterion.
The maximum number of iterations.
If TRUE, then various updates are printed during each iteration of the algorithm.
de Veaux, R. D. (1989), Mixtures of Linear Regressions, Computational Statistics and Data Analysis 8, 227-245.
Hurn, M., Justel, A. and Robert, C. P. (2003) Estimating Mixtures of Regressions, Journal of Computational and Graphical Statistics 12(1), 55--79.
McLachlan, G. J. and Peel, D. (2000) Finite Mixture Models, John Wiley and Sons, Inc.
regcr
, regmixMH
## EM output for NOdata.
data(NOdata)
attach(NOdata)
set.seed(100)
em.out <- regmixEM(Equivalence, NO, verb = TRUE, epsilon = 1e-04)
em.out[3:6]
Run the code above in your browser using DataLab