Conversation
|
I'm confused about why this PR contains re-renders of the entire doc website; is that expected? |
|
Ah no that is just a mess I produced because I did not check out the new branch properly. Noticed this a few days ago but then was busy developing locally. I'll clean this up, thanks! |
3ec25bc to
971feb8
Compare
|
prototyped a couple of other solvers [based on reading the QR chapter of Pouliot's book - although his recommended solution of Barrodale-Roberts was finicky in my experiments so i got rid of it, it is unlikely to beat interior-point methods anyway]. Don't want to touch your branch since there's a lot going on, but new solvers can likely go in https://gist.github.com/apoorvalal/3e18eea79c6e9e8e8ee380e0fc0bab1f Upshot is FN is very fast, and google's glop is next in speed. These simulations can go into the vignette |
|
Oh that's very cool to see! I initially started out with scipy's solver (that's when I still thought adding qr support would be a one-weekend task) but soon realized it was orders of magnitude slower than the R implementation. Then I started looking at the Interior Point solver and there we go ... Would it be a lot of work to add benchmarks against statsmodels? They implement a IWLS solver, and in my experience, it's quite fast for small problems. Re this branch - I'll have to do one last round of reviewing (hopefully will get there tomorrow) and then I'll merge it. Then we can open a new PR with alternative solvers? By the design of the Quantreg class, it should be fairly easy. |
|
Btw, if |
|
turns out SM's IRLS is slower than LP for small problems but scales better with problem size. gist is updated. Agree that this can be a separate followup PR; lmk when you merge [I implicitly ended up testing your interior point solver against existing solvers anyway - assume you'll test against and yea scikit uses linprog and basically implements the textbook solution almost exactly ; assume the small speedup relative to my numpy implementation is due to the use of sparse matrices. Maybe worth contributing but i feel like scikit is meant to have reference implementations rather than fast production-ready ones anyway so idk how receptive they'll be. |
Yep, wherever possible =)
The FN implementation in pyfixest can easily be translated to accommodate sparse matrices - would also be a follow up PR (the reference paper in fact has "sparse" in its title).
You might be right, but worth asking nevertheless I think! Btw will merge after the current CI run passes. |
Quantile Regression


What this PR does:
quantregfunction via the Frisch-Newton Interior Point solver as described in Koenker and Ng or Portnoy & Koenker.Example:
R instead: