Become an expert in R — Interactive courses, Cheat Sheets, certificates and more!
Get Started for Free

rq.fit.sfnc

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

Quantile Regression

v5.85
GPL (>= 2)
Authors
Roger Koenker [cre, aut], Stephen Portnoy [ctb] (Contributions to Censored QR code), Pin Tian Ng [ctb] (Contributions to Sparse QR code), Blaise Melly [ctb] (Contributions to preprocessing code), Achim Zeileis [ctb] (Contributions to dynrq code essentially identical to his dynlm code), Philip Grosjean [ctb] (Contributions to nlrq code), Cleve Moler [ctb] (author of several linpack routines), Yousef Saad [ctb] (author of sparskit2), Victor Chernozhukov [ctb] (contributions to extreme value inference code), Ivan Fernandez-Val [ctb] (contributions to extreme value inference code), Brian D Ripley [trl, ctb] (Initial (2001) R port from S (to my everlasting shame -- how could I have been so slow to adopt R!) and for numerous other suggestions and useful advice)
Initial release

We don't support your browser anymore

Please choose more modern alternatives, such as Google Chrome or Mozilla Firefox.