Alex van der Spek
2009-May-27 09:51 UTC
[R] Constrained fits: y~a+b*x-c*x^2, with a,b,c >=0
I wonder whether R has methods for constrained fitting of linear models. I am trying fm<-lm(y~x+I(x^2), data=dat) which most of the time gives indeed the coefficients of an inverted parabola. I know in advance that it has to be an inverted parabola with the maximum constrained to positive (or zero) values of x. The help pages for lm do not contain any info on constrained fitting. Does anyone know how to? Regards, Alex van der Spek
Berwin A Turlach
2009-May-27 10:09 UTC
[R] Constrained fits: y~a+b*x-c*x^2, with a,b,c >=0
G'day Alex, On Wed, 27 May 2009 11:51:39 +0200 Alex van der Spek <amvds at xs4all.nl> wrote:> I wonder whether R has methods for constrained fitting of linear > models. > > I am trying fm<-lm(y~x+I(x^2), data=dat) which most of the time gives > indeed the coefficients of an inverted parabola. I know in advance > that it has to be an inverted parabola with the maximum constrained to > positive (or zero) values of x. > > The help pages for lm do not contain any info on constrained fitting. > > Does anyone know how to?Look at the package nnls on CRAN. According to your subject line, you are trying to solve what is known as a quadratic program, and there are at least two quadratic programming solvers (ipop in kernlab and solve.qp in quadprog) available for R. HTH. Cheers, Berwin =========================== Full address ============================Berwin A Turlach Tel.: +65 6516 4416 (secr) Dept of Statistics and Applied Probability +65 6516 6650 (self) Faculty of Science FAX : +65 6872 3919 National University of Singapore 6 Science Drive 2, Blk S16, Level 7 e-mail: statba at nus.edu.sg Singapore 117546 http://www.stat.nus.edu.sg/~statba