lqmm.fit.gs {lqmm} | R Documentation |
Linear Quantile Mixed Models Fitting by Gradient Search
Description
This function controls the arguments to be passed to routines written in C for LQMM estimation. The optimization algorithm is based on the gradient of the Laplace log–likelihood (Bottai, Orsini and Geraci, 2014; Geraci and Bottai, 2014).
Usage
lqmm.fit.gs(theta_0, x, y, z, weights, cov_name, V, W, sigma_0, tau,
group, control)
Arguments
theta_0 |
starting values for the linear predictor. |
x |
the model matrix for fixed effects (see details). |
y |
the model response (see details). |
z |
the model matrix for random effects (see details). |
weights |
the weights used in the fitting process (see details). |
cov_name |
variance–covariance matrix of the random effects. Default is |
V |
nodes of the quadrature. |
W |
weights of the quadrature. |
sigma_0 |
starting value for the scale parameter. |
tau |
the quantile(s) to be estimated. |
group |
the grouping factor (see details). |
control |
list of control parameters used for optimization (see |
Details
In lqmm
, see argument fit
for generating a list of arguments to be called by this function; see argument covariance
for alternative variance–covariance matrices.
NOTE: the data should be ordered by group
when passed to lqmm.fit.gs
(such ordering is performed by lqmm
).
Value
An object of class "list" containing the following components:
theta |
a vector of coefficients, including the "raw" variance–covariance parameters (see |
scale |
the scale parameter. |
gradient |
the gradient. |
logLik |
the log–likelihood. |
opt |
number of iterations when the estimation algorithm stopped for lower (theta) and upper (scale) loop. |
.
Author(s)
Marco Geraci
References
Bottai M, Orsini N, Geraci M. (2014). A gradient search maximization algorithm for the asymmetric Laplace likelihood, Journal of Statistical Computation and Simulation (in press).
Geraci M and Bottai M (2014). Linear quantile mixed models. Statistics and Computing, 24(3), 461–479.
See Also
Examples
set.seed(123)
M <- 50
n <- 10
test <- data.frame(x = runif(n*M,0,1), group = rep(1:M,each=n))
test$y <- 10*test$x + rep(rnorm(M, 0, 2), each = n) + rchisq(n*M, 3)
lqmm.ls <- lqmm(fixed = y ~ x, random = ~ 1, group = group,
data = test, fit = FALSE)
do.call("lqmm.fit.gs", lqmm.ls)