qpgee.est {geeVerse} | R Documentation |
Quantile Penalized Generalized Estimating Equations (QPGEE) Estimation Function
Description
This function implements Quantile Penalized Generalized Estimating Equations (QPGEE) for longitudinal data analysis. It estimates parameters using a penalized quantile regression approach within a GEE framework, allowing for different working correlation structures.
Usage
qpgee.est(
x,
y,
tau = 0.5,
nobs = rep(1, length(y)),
correlation = "exchangeable",
lambda = 0.1,
intercept = FALSE,
betaint = NULL,
f0 = 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). |
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), "independence" (Independent), and "unstructured". |
lambda |
The penalty parameter for regularization (default is 0.1). |
intercept |
Whether to include an intercept when estimating. |
betaint |
Initial values for the beta coefficients. If NULL, non-longitudinal quantile regression is used for initialization. |
f0 |
estimated conditional error distributions. |
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 = 100, nobs = rep(10, 100), p = 100,
beta0 = c(rep(1,7),rep(0,93)), rho = 0.6, correlation = "AR1",
dis = "normal", ka = 1)
X=sim_data$X
y=sim_data$y
#fit qpgee
qpgee.fit = qpgee.est(X,y,tau=0.5,nobs=rep(10, 100))
qpgee.fit$beta