introducing autoreg and autoregnn

classic Classic list List threaded Threaded
3 messages Options
Reply | Threaded
Open this post in threaded view
|

introducing autoreg and autoregnn

rondall jones

Hello! I have supported constrained solvers for linear matrix problems for about 10 years in C++, but have now switched to Python. I am going to submit a couple of new routines for linalg called autoreg(A,b) and autoregnn(A,b). They work just like lstsq(A,b) normally, but when they detect that the problem is dominated by noise they revert to an automatic regularization scheme that returns a better behaved result than one gets from lstsq. In addition, autoregnn enforces a nonnegativity constraint on the solution. I have put on my web site a slightly fuller featured version of these same two algorithms, using a Class implementation to facilitate retuning several diagnostic or other artifacts. The web site contains tutorials on these methods and a number of examples of their use. See http://www.rejones7.net/autorej/ . I hope this community can take a look at these routines and see whether they are appropriate for linalg or should be in another location. Ron Jones

 

 

Sent from Mail for Windows 10

 


_______________________________________________
NumPy-Discussion mailing list
[hidden email]
https://mail.python.org/mailman/listinfo/numpy-discussion
Reply | Threaded
Open this post in threaded view
|

Re: introducing autoreg and autoregnn

ralfgommers


On Fri, Jun 5, 2020 at 9:48 PM rondall jones <[hidden email]> wrote:

Hello! I have supported constrained solvers for linear matrix problems for about 10 years in C++, but have now switched to Python. I am going to submit a couple of new routines for linalg called autoreg(A,b) and autoregnn(A,b). They work just like lstsq(A,b) normally, but when they detect that the problem is dominated by noise they revert to an automatic regularization scheme that returns a better behaved result than one gets from lstsq. In addition, autoregnn enforces a nonnegativity constraint on the solution. I have put on my web site a slightly fuller featured version of these same two algorithms, using a Class implementation to facilitate retuning several diagnostic or other artifacts. The web site contains tutorials on these methods and a number of examples of their use. See http://www.rejones7.net/autorej/ . I hope this community can take a look at these routines and see whether they are appropriate for linalg or should be in another location.


Hi Ron, thanks for proposing this. It seems out of scope for NumPy; scipy.linalg or scipy.optimize seem like the most obvious candidates.

If you propose inclusion into SciPy, it would be good to discuss whether the algorithm is based on a publication showing usage via citation stats or some other way. There's more details at http://scipy.github.io/devdocs/dev/core-dev/index.html#deciding-on-new-features

Cheers,
Ralf


_______________________________________________
NumPy-Discussion mailing list
[hidden email]
https://mail.python.org/mailman/listinfo/numpy-discussion
Reply | Threaded
Open this post in threaded view
|

Re: introducing autoreg and autoregnn

Joseph Fox-Rabinovitz
Rondall,

Are you familiar with the lmfit project? I am not an expert, but it seems like your algorithms may be useful there. I recommend checking with Matt Newville via the mailing list.

Regards,

Joe


On Fri, Jun 5, 2020, 17:00 Ralf Gommers <[hidden email]> wrote:


On Fri, Jun 5, 2020 at 9:48 PM rondall jones <[hidden email]> wrote:

Hello! I have supported constrained solvers for linear matrix problems for about 10 years in C++, but have now switched to Python. I am going to submit a couple of new routines for linalg called autoreg(A,b) and autoregnn(A,b). They work just like lstsq(A,b) normally, but when they detect that the problem is dominated by noise they revert to an automatic regularization scheme that returns a better behaved result than one gets from lstsq. In addition, autoregnn enforces a nonnegativity constraint on the solution. I have put on my web site a slightly fuller featured version of these same two algorithms, using a Class implementation to facilitate retuning several diagnostic or other artifacts. The web site contains tutorials on these methods and a number of examples of their use. See http://www.rejones7.net/autorej/ . I hope this community can take a look at these routines and see whether they are appropriate for linalg or should be in another location.


Hi Ron, thanks for proposing this. It seems out of scope for NumPy; scipy.linalg or scipy.optimize seem like the most obvious candidates.

If you propose inclusion into SciPy, it would be good to discuss whether the algorithm is based on a publication showing usage via citation stats or some other way. There's more details at http://scipy.github.io/devdocs/dev/core-dev/index.html#deciding-on-new-features

Cheers,
Ralf

_______________________________________________
NumPy-Discussion mailing list
[hidden email]
https://mail.python.org/mailman/listinfo/numpy-discussion

_______________________________________________
NumPy-Discussion mailing list
[hidden email]
https://mail.python.org/mailman/listinfo/numpy-discussion