This is a lower level routine called by rq()
to compute quantile
regression methods using the Frisch-Newton algorithm.
rq.fit.fnb(x, y, tau=0.5, rhs = (1-tau)*apply(x,2,sum), beta=0.99995, eps=1e-06)
The design matrix
The response vector
The quantile of interest, must lie in (0,1)
The right hand size of the dual equality constraint, modify at your own risk.
technical step length parameter -- alter at your own risk!
tolerance parameter for convergence. In cases of multiple optimal solutions
there may be some discrepancy between solutions produced by method
"fn"
and method "br"
. This is due to the fact that
"fn"
tends to converge to a point near the centroid of the
solution set, while "br"
stops at a vertex of the set.
returns an object of class "rq"
, which can be passed to
summary.rq
to obtain standard errors, etc.
The details of the algorithm are explained in Koenker and Portnoy (1997).
The basic idea can be traced back to the log-barrier methods proposed by
Frisch in the 1950's for constrained optimization. But the current
implementation is based on proposals by Mehrotra and others in the
recent (explosive) literature on interior point methods for solving linear
programming problems. This function replaces an earlier one rq.fit.fn
,
which required the initial dual values to be feasible. This version allows the
user to specify an infeasible starting point for the dual problem, that
is one that may not satisfy the dual equality constraints. It still
assumes that the starting value satisfies the upper and lower bounds.
Koenker, R. and S. Portnoy (1997). The Gaussian Hare and the Laplacian Tortoise: Computability of squared-error vs. absolute-error estimators, with discussion, Statistical Science, 12, 279-300.