rq.fit.sfnc {quantreg} | R 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;
http://www.econ.uiuc.edu/~roger/research

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))

[Package quantreg version 5.24 Index]