This function computes spline quantile regression with cubic splines and L2-norm roughness penalty
(SQR3 or cubic SQR) from the response vector and the design matrix on a given set of quantile levels.
It uses solve_osqp() in the "osqp" package or solve_piqp() in the "piqp" package.
Both are general-purpose quadratic program (QP) solvers in the sparse-matrix form.
sqr3.fit(
X,
y,
tau,
tau0 = tau,
spar = 1,
w = rep(1, length(tau0)),
mthreads = FALSE,
ztol = 1e-04,
type = c("dual", "primal"),
solver = c("piqp", "osqp"),
npar = c(1, 2),
all.knots = FALSE,
control = list()
)A list with the following elements:
matrix of regression coefficients
matrix of derivatives of regression coefficients
sequence critera for smoothing parameter select: (AIC,BIC,GIC)
sequence of complexity measure as the number of effective parameters
sequence of fidelity measure as the quasi-likelihood
convergence status
number of iterations
number of spline basis functions
design matrix (requirement: nrow(X) = length(y))
response vector
sequence of quantile levels for evaluation
sequence of quantile levels for fitting (min(tau0) <= tau <= max(tau0);
default = tau)
smoothing parameter (default = 1)
weight sequence in penalty (default = rep(1,length(tau0)))
if FALSE (default), set RhpcBLASctl::blas_set_num_threads(1)
zero-tolerance parameter to determine the model complexity (default = 1e-04)
type of QP formulation: 'dual' (default) or 'primal'
QP solver: 'piqp' (default) or 'osqp'
experimental parameter (default = 1)
TRUE or FALSE (default) as in stats::smooth.spline()
list of control parameters for the QP solver (default = list())