# path.fmrReg: Finite Mixture Model with lasso and adaptive penalty In fmerPack: Tools of Heterogeneity Pursuit via Finite Mixture Effects Model

## Description

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.

## Usage

 1 2 3 path.fmrReg(y, X, m, equal.var = FALSE, ic.type = "ALL", B = NULL, prob = NULL, rho = NULL, control = list(), modstr = list(), report = FALSE) 

## Arguments

 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.

## Details

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.

## Value

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

## Examples

  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)) 

fmerPack documentation built on Feb. 1, 2021, 9:06 a.m.