fmrHP {fmerPack} | R Documentation |
Finite Mixture Effects Model with Heterogeneity Pursuit
Description
Produce solution for specified lambda of regularized finite mixture effects model with lasso or adaptive lasso; compute the degrees of freeom, likelihood and information criteria (AIC, BIC and GIC) of the estimators. Model fitting is conducted by EM algorithm and Bregman coordinate descent.
Usage
fmrHP(y, X, m, intercept = FALSE, lambda, equal.var = FALSE,
ic.type = c("ALL", "BIC", "AIC", "GIC"),
B = NULL, prob = NULL, rho = NULL, w = NULL,
control = list(), report = FALSE)
Arguments
y |
a vector of response ( |
X |
a matrix of covariate ( |
m |
number of components |
intercept |
indicating whether intercept should be included |
lambda |
value of tuning parameter |
equal.var |
indicating whether variances of different components are equal |
ic.type |
the information criterion to be used; currently supporting "AIC", "BIC", and "GIC". |
B |
initial values for the rescaled coefficients with first column being the
common effect, and the rest |
prob |
initial values for prior probabilitis for different components |
rho |
initial values for rho vector ( |
w |
weight matrix for penalty function. Default option is NULL |
control |
a list of parameters for controlling the fitting process |
report |
indicating whether printing the value of objective function during EM algorithm for validation checking of initial value. |
Details
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.eps: Convergence threshold for Bregman coordinate descent algorithm. Defaults value is 1E-6.
inner.maxit: Maximum number of iteration for Bregman coordinate descent algorithm. 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
y |
vector of response |
X |
matrix of covariates |
m |
number of components |
B.hat |
estimated rescaled coefficient ( |
pi.hat |
estimated prior probabilities ( |
rho.hat |
estimated rho values ( |
lambda |
lambda used in model fitting |
plik |
value of penalized log-likelihood |
loglik |
value of log-likelihood |
conv |
indicator of convergence of EM algorithm |
IC |
values of information criteria |
df |
degree of freedom |
Examples
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(0, -3, 3), 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)))
fmrHP(y, X, m = m, lambda = 0.01, control = list(n.ini = 10))