rq.fit.sfnc: Sparse Constrained Regression Quantile Fitting

View source: R/sfn.R

rq.fit.sfncR Documentation

Sparse Constrained Regression Quantile Fitting

Description

Fit constrained regression quantiles using a sparse implementation of the Frisch-Newton Interior-point algorithm.

Usage

rq.fit.sfnc(x, y, R, r, tau = 0.5,
            rhs = (1-tau)*c(t(x) %*% rep(1,length(y))),control)

Arguments

x

structure of the design matrix X stored in csr format

y

response vector

R

constraint matrix stored in csr format

r

right-hand-side of the constraint

tau

desired quantile

rhs

the right-hand-side of the dual problem; regular users shouldn't need to specify this.

control

control paramters for fitting see sfn.control

Details

This is a sparse implementation of the Frisch-Newton algorithm for constrained quantile regression described in Koenker and Portnoy (1996). The sparse matrix linear algebra is implemented through the functions available in the R package SparseM.

Value

coef

Regression quantile coefficients

ierr

Error code for the internal Fortran routine srqfn:

1:

insufficient work space in call to extract

3:

insufficient storage in iwork when calling ordmmd

4:

insufficient storage in iwork when calling sfinit

5:

nnzl > nnzlmax when calling sfinit

6:

nsub > nsubmax when calling sfinit

7:

insufficient work space in iwork when calling symfct

8:

inconsistancy in input when calling symfct

9:

tmpsiz > tmpmax when calling symfct; increase tmpmax

10:

nonpositive diagonal encountered when calling blkfct

11:

insufficient work storage in tmpvec when calling blkfct

12:

insufficient work storage in iwork when calling blkfct

13:

nnzd > nnzdmax in e,je when calling amub

14:

nnzd > nnzdmax in g,jg when calling amub

15:

nnzd > nnzdmax in h,jh when calling aplb

15:

tiny diagonals replaced with Inf when calling blkfct

it

Iteration count

time

Amount of time used in the computation

Author(s)

Pin Ng

References

Koenker, R and Ng, P. (2002). SparseM: A Sparse Matrix Package for R; https://CRAN.R-project.org/package=SparseM

Koenker, R. and P. Ng(2005). Inequality Constrained Quantile Regression, Sankya, 418-440.

See Also

rq.fit.sfn for the unconstrained version, SparseM for the underlying sparse matrix R package.

Examples

## An artificial example :
n <- 200
p <- 50
set.seed(17)
X <- rnorm(n*p)
X[abs(X) < 2.0] <- 0
X <- cbind(1,matrix(X,n,p))
y <- 0.5 * apply(X,1,sum) + rnorm(n) ## true beta = (0.5, 0.5, ...)
R <- rbind(diag(p+1), -diag(p+1))
r <- c(rep( 0, p+1), rep(-1, p+1))

sX <- as.matrix.csr(X)
sR <- as.matrix.csr(R)
try(rq.o <- rq.fit.sfnc(sX, y, sR, r)) #-> not enough tmp memory

(tmpmax <- floor(1e5 + exp(-12.1)*(sX@ia[p+1]-1)^2.35))
## now ok:
rq.o <- rq.fit.sfnc(sX, y, sR, r, control = list(tmpmax = tmpmax))

quantreg documentation built on Oct. 22, 2024, 5:07 p.m.