Description Usage Arguments Details Value Examples
Produce solution paths of regularized finite mixture model with lasso or adaptive lasso penalty; compute the degrees of freeom, likelihood and information criteria (AIC, BIC and GIC) of the estimators. Model fitting is conducted by EM algorithm and coordinate descent.
1 2 3 |
y |
a vector of response (n \times 1) |
X |
a matrix of covariate (n \times p) |
m |
number of components |
equal.var |
indicating whether variances of different components are equal |
ic.type |
the information criterion to be used; currently supporting "ALL", "AIC", "BIC", and "GIC". |
B |
initial values for the rescaled coefficients with columns being the columns being the coefficient for different components |
prob |
initial values for prior probabilitis for different components |
rho |
initial values for rho vector (1 / σ), the reciprocal of standard deviation |
control |
a list of parameters for controlling the fitting process |
modstr |
a list of model parameters controlling the model fitting |
report |
indicating whether printing the value of objective function during EM algorithm for validation checking of initial value. |
Model parameters can be specified through argument modstr
. The
available include
lambda: A vector of user-specified lambda values with default NULL.
lambda.min.ratio: Smallest value for lambda, as a fraction of lambda.max, the (data derived) entry value.
nlambda: The number of lambda values.
w: Weight matrix for penalty function. Default option is NULL, which means lasso penailty is used for model fitting.
intercept: Should intercept(s) be fitted (default=TRUE) or set to zero (FALSE).
no.penalty: A vector of user-specified indicators of the variables with no penalty.
common.var: A vector of user-specified indicators of the variables with common effect among different components.
select.ratio: A user-specified ratio indicating the ratio of variables to be selected.
The available elements for argument control
include
epsilon: Convergence threshold for generalized EM algorithm. Defaults value is 1E-6.
maxit: Maximum number of passes over the data for all lambda values. Default is 1000.
inner.maxit: Maximum number of iteration for flexmix package to compute initial values. Defaults value is 200.
n.ini: Number of initial values for EM algorithm. Default is 10. In EM algorithm, it is preferable to start from several different initial values.
A list consisting of
lambda |
vector of lambda used in model fitting |
B.hat |
estimated rescaled coefficient (p \times m \times nlambda) |
pi.hat |
estimated prior probabilities (m \times nlambda) |
rho.hat |
estimated rho values (m \times nlambda) |
IC |
values of information criteria |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 | library(fmerPack)
## problem settings
n <- 100; m <- 3; p <- 5;
sigma2 <- c(0.1, 0.1, 0.4); rho <- 1 / sqrt(sigma2)
phi <- rbind(c(1, 1, 1), c(1, 1, 1), c(1, 1, 1), c(-3, 3, 0), c(3, 0, -3))
beta <- t(t(phi) / rho)
## generate response and covariates
z <- rmultinom(n, 1, prob= rep(1 / m, m))
X <- matrix(rnorm(n * p), nrow = n, ncol = p)
y <- MASS::mvrnorm(1, mu = rowSums(t(z) * X[, 1:(nrow(beta))] %*% beta),
Sigma = diag(colSums(z * sigma2)))
## lasso
fit1 <- path.fmrReg(y, X, m = m, modstr = list(nlambda = 10), control = list(n.ini = 1))
## adaptive lasso
fit2 <- path.fmrReg(y, X, m = m,
modstr = list(w = abs(select.tuning(fit1)$B + 1e-6)^2))
|
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.