qpgee {geeVerse} | R Documentation |
Quantile Penalized Generalized Estimating Equations with Auto Selected Penalty level
Description
This function automatically select the penalty level by going through a list of lambdas, and select the best level of penalty with high-dimensional BIC (HBIC) or cross-validation (CV).
Usage
qpgee(
x,
y,
tau = 0.5,
method = "HBIC",
ncore = 1,
nobs = rep(1, length(y)),
correlation = "exchangeable",
lambda = NULL,
intercept = FALSE,
f0 = NULL,
betaint = NULL,
max_it = 100,
cutoff = 10^-1
)
Arguments
x |
A matrix of predictors. |
y |
A numeric vector of response variables. |
tau |
The quantile to be estimated (default is 0.5, the median). |
method |
The criterion to select level of penalty. Currently it only supports "HBIC". |
ncore |
A numeric value specifying how many core to use. |
nobs |
A numeric vector indicating the number of observations per subject. |
correlation |
A string specifying the working correlation structure. Options include "exchangeable" (Exchangeable), "AR1" (Autoregressive), "Tri" (Tri-diagonal), and "exchangeable" (Independent). |
lambda |
A vector of penalty parameter for regularization. If not provided, a grid will be provided by this function. |
intercept |
Whether to include an intercept when estimating. |
f0 |
estimated conditional error distributions. |
betaint |
Initial values for the beta coefficients. If NULL, non-longitudinal quantile regression is used for initialization. |
max_it |
Maximum number of iterations (default is 100). |
cutoff |
Threshold for coefficient shrinkage (default is 0.1). |
Value
A list containing the following components:
beta |
Estimated beta coefficients. |
g |
Fitted values of the linear predictor. |
R |
Estimated working correlation matrix. |
X_selected |
Indices of selected predictors. |
mcl |
Mean check loss. |
hbic |
Hannan-Quinn Information Criterion value. |
converge |
Boolean indicating whether the algorithm converged. |
Examples
# Example usage:
sim_data <- generateData(nsub = 20, nobs = rep(10, 20), p = 20,
beta0 = c(rep(1,5),rep(0,15)), rho = 0.1, correlation = "AR1",
dis = "normal", ka = 1)
X=sim_data$X
y=sim_data$y
#fit qpgee with auto selected lambda
qpgee.fit = qpgee(X,y,tau=0.5,nobs=rep(10, 20),ncore=1)
qpgee.fit$beta