RK's Ford vs Ferrari Revisited

A couple of weeks back Roger Koenker reminded me about my post comparing quantreg vs. Rmosek. In Angrist’s application, Rmosek was faster than the traditional Barrondale and Roberts. However, Roger was curious about how it would compare to the interior point algorithms implemented using FORTRAN in quantreg. Here are his results (reproduced from RK’s blog with his permission) run on his mac mini:

Unit: milliseconds
                               expr       min        lq      mean    median
 qr.mosek.dual.rep(X, y, tau = tau)  346.9841  357.2982  365.9998  364.2814
        rq.fit.fnb(X, y, tau = tau)  193.7651  194.5455  202.1676  195.2470
       rq.fit.sfn(Xs, y, tau = tau)  330.3882  341.1280  365.0841  349.7058
         rq.fit.br(X, y, tau = tau) 7266.7237 7270.0682 7289.8437 7274.8538
        uq       max neval
  370.6428  462.1361   100
  206.7692  288.0764   100
  369.8432  451.3124   100
 7285.0870 7522.6136   100

Where qr.mosek.dual.rep is my Rmosek implementation. rq.fit.fnb implements the basic Frisch-Newton interior point algorithm and rq.fit.sfn it’s sparse version. rq.fit.br uses the simplex approach of Barrondale and Roberts.

A couple of things to note rq.fit.br (Barrondale and Roberts) is much slower, absolutely and relatively, on his implementation. Interior points perform quite well, better than Rmosek. Sparsity doesn’t help (Angrist problem is not very sparse).

Finally, and probably the most important thing of this post, go an read Roger’s blog and work. RK’s blog: '’Da Void of Meaning’’ is fantastic. He doesn’t post very often but it is absolutely worthwhile.

Comments and suggestions are always welcomed. You can send them to srmntbr2 at illinois.edu.

Sarmiento Barbieri

University of Los Andes


These are blogs/sites I frequently visit