Aleksandrovic, Aljosa (Pfaeffikon)
2016-Apr-26 12:39 UTC
[R] Linear Regressions with constraint coefficients
Hi all, I hope you are doing well? I?m currently using the lm() function from the package stats to fit linear multifactor regressions. Unfortunately, I didn?t yet find a way to fit linear multifactor regressions with constraint coefficients? I would like the slope coefficients to be all inside an interval, let?s say, between 0 and 1. Further, if possible, the slope coefficients should add up to 1. Is there an elegant and not too complicated way to do such a constraint regression estimation in R? I would very much appreciate if you could help me with my issue? Thanks a lot in advance and kind regards, Aljosa Aleksandrovic Aljosa Aleksandrovic, FRM, CAIA Quantitative Analyst - Convertibles aljosa.aleksandrovic at man.com Tel +41 55 417 7603 Man Investments (CH) AG Huobstrasse 3 | 8808 Pf?ffikon SZ | Switzerland -----Original Message----- From: Kevin E. Thorpe [mailto:kevin.thorpe at utoronto.ca] Sent: Dienstag, 26. April 2016 14:35 To: Aleksandrovic, Aljosa (Pfaeffikon) Subject: Re: Linear Regressions with constraint coefficients You need to send it to r-help at r-project.org however. Kevin On 04/26/2016 08:32 AM, Aleksandrovic, Aljosa (Pfaeffikon) wrote:> Ok, will do! Thx a lot! > > Please find below my request: > > Hi all, > > I hope you are doing well? > > I?m currently using the lm() function from the package stats to fit linear multifactor regressions. > > Unfortunately, I didn?t yet find a way to fit linear multifactor regressions with constraint coefficients? I would like the slope coefficients to be all inside an interval, let?s say, between 0 and 1. Further, if possible, the slope coefficients should add up to 1. > > Is there an elegant and not too complicated way to do such a constraint regression estimation in R? > > I would very much appreciate if you could help me with my issue? > > Thanks a lot in advance and kind regards, Aljosa Aleksandrovic > > > > Aljosa Aleksandrovic, FRM, CAIA > Quantitative Analyst - Convertibles > aljosa.aleksandrovic at man.com > Tel +41 55 417 7603 > > Man Investments (CH) AG > Huobstrasse 3 | 8808 Pf?ffikon SZ | Switzerland > > > -----Original Message----- > From: Kevin E. Thorpe [mailto:kevin.thorpe at utoronto.ca] > Sent: Dienstag, 26. April 2016 14:28 > To: Aleksandrovic, Aljosa (Pfaeffikon); r-help-owner at r-project.org > Subject: Re: Linear Regressions with constraint coefficients > > I believe I approved a message with such a subject. Perhaps there was another layer that subsequently rejected it after that. I didn't notice any unusual content. Try again, making sure you send the message in plain text only. > > Kevin > > On 04/26/2016 08:16 AM, Aleksandrovic, Aljosa (Pfaeffikon) wrote: >> Do you know where I get help for my issue? >> >> Thanks in advance and kind regards, >> Aljosa >> >> >> Aljosa Aleksandrovic, FRM, CAIA >> Quantitative Analyst - Convertibles >> aljosa.aleksandrovic at man.com >> Tel +41 55 417 7603 >> >> Man Investments (CH) AG >> Huobstrasse 3 | 8808 Pf?ffikon SZ | Switzerland >> >> -----Original Message----- >> From: R-help [mailto:r-help-bounces at r-project.org] On Behalf Of >> r-help-owner at r-project.org >> Sent: Dienstag, 26. April 2016 14:10 >> To: Aleksandrovic, Aljosa (Pfaeffikon) >> Subject: Linear Regressions with constraint coefficients >> >> The message's content type was not explicitly allowed >>-- Kevin E. Thorpe Head of Biostatistics, Applied Health Research Centre (AHRC) Li Ka Shing Knowledge Institute of St. Michael's Hospital Assistant Professor, Dalla Lana School of Public Health University of Toronto email: kevin.thorpe at utoronto.ca Tel: 416.864.5776 Fax: 416.864.3016 This email has been sent by a member of the Man group (?Man?). Man?s parent company, Man Group plc, is registered in England and Wales (company number 08172396) at Riverbank House, 2 Swan Lane, London, EC4R 3AD. The contents of this email are for the named addressee(s) only. It contains information which may be confidential and privileged. If you are not the intended recipient, please notify the sender immediately, destroy this email and any attachments and do not otherwise disclose or use them. Email transmission is not a secure method of communication and Man cannot accept responsibility for the completeness or accuracy of this email or any attachments. Whilst Man makes every effort to keep its network free from viruses, it does not accept responsibility for any computer virus which might be transferred by way of this email or any attachments. This email does not constitute a request, offer, recommendation or solicitation of any kind to buy, subscribe, sell or redeem any investment instruments or to perform other such transactions of any kind. Man reserves the right to monitor, record and retain all electronic and telephone communications through its network in accordance with applicable laws and regulations. --UwQe9f5k7pI3vplngP
If the slope coefficients sum to a constant, the regressors are dependent and so a unique solution is impossible (an infinity of solutions would result). So I think you have something going on that you don't understand and should consult a local statistician to help you formulate your problem appropriately. Cheers, Bert Bert Gunter "The trouble with having an open mind is that people keep coming along and sticking things into it." -- Opus (aka Berkeley Breathed in his "Bloom County" comic strip ) On Tue, Apr 26, 2016 at 5:39 AM, Aleksandrovic, Aljosa (Pfaeffikon) <Aljosa.Aleksandrovic at man.com> wrote:> Hi all, > > I hope you are doing well? > > I?m currently using the lm() function from the package stats to fit linear multifactor regressions. > > Unfortunately, I didn?t yet find a way to fit linear multifactor regressions with constraint coefficients? I would like the slope coefficients to be all inside an interval, let?s say, between 0 and 1. Further, if possible, the slope coefficients should add up to 1. > > Is there an elegant and not too complicated way to do such a constraint regression estimation in R? > > I would very much appreciate if you could help me with my issue? > > Thanks a lot in advance and kind regards, > Aljosa Aleksandrovic > > > > Aljosa Aleksandrovic, FRM, CAIA > Quantitative Analyst - Convertibles > aljosa.aleksandrovic at man.com > Tel +41 55 417 7603 > > Man Investments (CH) AG > Huobstrasse 3 | 8808 Pf?ffikon SZ | Switzerland > > > -----Original Message----- > From: Kevin E. Thorpe [mailto:kevin.thorpe at utoronto.ca] > Sent: Dienstag, 26. April 2016 14:35 > To: Aleksandrovic, Aljosa (Pfaeffikon) > Subject: Re: Linear Regressions with constraint coefficients > > You need to send it to r-help at r-project.org however. > > Kevin > > On 04/26/2016 08:32 AM, Aleksandrovic, Aljosa (Pfaeffikon) wrote: >> Ok, will do! Thx a lot! >> >> Please find below my request: >> >> Hi all, >> >> I hope you are doing well? >> >> I?m currently using the lm() function from the package stats to fit linear multifactor regressions. >> >> Unfortunately, I didn?t yet find a way to fit linear multifactor regressions with constraint coefficients? I would like the slope coefficients to be all inside an interval, let?s say, between 0 and 1. Further, if possible, the slope coefficients should add up to 1. >> >> Is there an elegant and not too complicated way to do such a constraint regression estimation in R? >> >> I would very much appreciate if you could help me with my issue? >> >> Thanks a lot in advance and kind regards, Aljosa Aleksandrovic >> >> >> >> Aljosa Aleksandrovic, FRM, CAIA >> Quantitative Analyst - Convertibles >> aljosa.aleksandrovic at man.com >> Tel +41 55 417 7603 >> >> Man Investments (CH) AG >> Huobstrasse 3 | 8808 Pf?ffikon SZ | Switzerland >> >> >> -----Original Message----- >> From: Kevin E. Thorpe [mailto:kevin.thorpe at utoronto.ca] >> Sent: Dienstag, 26. April 2016 14:28 >> To: Aleksandrovic, Aljosa (Pfaeffikon); r-help-owner at r-project.org >> Subject: Re: Linear Regressions with constraint coefficients >> >> I believe I approved a message with such a subject. Perhaps there was another layer that subsequently rejected it after that. I didn't notice any unusual content. Try again, making sure you send the message in plain text only. >> >> Kevin >> >> On 04/26/2016 08:16 AM, Aleksandrovic, Aljosa (Pfaeffikon) wrote: >>> Do you know where I get help for my issue? >>> >>> Thanks in advance and kind regards, >>> Aljosa >>> >>> >>> Aljosa Aleksandrovic, FRM, CAIA >>> Quantitative Analyst - Convertibles >>> aljosa.aleksandrovic at man.com >>> Tel +41 55 417 7603 >>> >>> Man Investments (CH) AG >>> Huobstrasse 3 | 8808 Pf?ffikon SZ | Switzerland >>> >>> -----Original Message----- >>> From: R-help [mailto:r-help-bounces at r-project.org] On Behalf Of >>> r-help-owner at r-project.org >>> Sent: Dienstag, 26. April 2016 14:10 >>> To: Aleksandrovic, Aljosa (Pfaeffikon) >>> Subject: Linear Regressions with constraint coefficients >>> >>> The message's content type was not explicitly allowed >>> > > > -- > Kevin E. Thorpe > Head of Biostatistics, Applied Health Research Centre (AHRC) > Li Ka Shing Knowledge Institute of St. Michael's Hospital > Assistant Professor, Dalla Lana School of Public Health > University of Toronto > email: kevin.thorpe at utoronto.ca Tel: 416.864.5776 Fax: 416.864.3016 > > This email has been sent by a member of the Man group (?Man?). Man?s parent company, Man Group plc, is registered in England and Wales (company number 08172396) at Riverbank House, 2 Swan Lane, London, EC4R 3AD. > The contents of this email are for the named addressee(s) only. It contains information which may be confidential and privileged. If you are not the intended recipient, please notify the sender immediately, destroy this email and any attachments and do not otherwise disclose or use them. Email transmission is not a secure method of communication and Man cannot accept responsibility for the completeness or accuracy of this email or any attachments. Whilst Man makes every effort to keep its network free from viruses, it does not accept responsibility for any computer virus which might be transferred by way of this email or any attachments. This email does not constitute a request, offer, recommendation or solicitation of any kind to buy, subscribe, sell or redeem any investment instruments or to perform other such transactions of any kind. Man reserves the right to monitor, record and retain all electronic and telephone communications through its network in accordance with applicable laws and regulations. --UwQe9f5k7pI3vplngP > > ______________________________________________ > R-help at r-project.org mailing list -- To UNSUBSCRIBE and more, see > https://stat.ethz.ch/mailman/listinfo/r-help > PLEASE do read the posting guide http://www.R-project.org/posting-guide.html > and provide commented, minimal, self-contained, reproducible code.
Aleksandrovic, Aljosa (Pfaeffikon)
2016-Apr-26 15:29 UTC
[R] Linear Regressions with constraint coefficients
Ok, and if I would just like to force my slope coefficients to be inside an interval, let's say, between 0 and 1? Is there a way in R to formulate such a constraint regression? Thanks in advance and kind regards, Aljosa Aljosa Aleksandrovic, FRM, CAIA Quantitative Analyst - Convertibles aljosa.aleksandrovic at man.com Tel +41 55 417 7603 Man Investments (CH) AG Huobstrasse 3 | 8808 Pf?ffikon SZ | Switzerland -----Original Message----- From: Bert Gunter [mailto:bgunter.4567 at gmail.com] Sent: Dienstag, 26. April 2016 16:51 To: Aleksandrovic, Aljosa (Pfaeffikon) Cc: r-help at r-project.org Subject: Re: [R] Linear Regressions with constraint coefficients If the slope coefficients sum to a constant, the regressors are dependent and so a unique solution is impossible (an infinity of solutions would result). So I think you have something going on that you don't understand and should consult a local statistician to help you formulate your problem appropriately. Cheers, Bert Bert Gunter "The trouble with having an open mind is that people keep coming along and sticking things into it." -- Opus (aka Berkeley Breathed in his "Bloom County" comic strip ) On Tue, Apr 26, 2016 at 5:39 AM, Aleksandrovic, Aljosa (Pfaeffikon) <Aljosa.Aleksandrovic at man.com> wrote:> Hi all, > > I hope you are doing well? > > I?m currently using the lm() function from the package stats to fit linear multifactor regressions. > > Unfortunately, I didn?t yet find a way to fit linear multifactor regressions with constraint coefficients? I would like the slope coefficients to be all inside an interval, let?s say, between 0 and 1. Further, if possible, the slope coefficients should add up to 1. > > Is there an elegant and not too complicated way to do such a constraint regression estimation in R? > > I would very much appreciate if you could help me with my issue? > > Thanks a lot in advance and kind regards, Aljosa Aleksandrovic > > > > Aljosa Aleksandrovic, FRM, CAIA > Quantitative Analyst - Convertibles > aljosa.aleksandrovic at man.com > Tel +41 55 417 7603 > > Man Investments (CH) AG > Huobstrasse 3 | 8808 Pf?ffikon SZ | Switzerland > > > -----Original Message----- > From: Kevin E. Thorpe [mailto:kevin.thorpe at utoronto.ca] > Sent: Dienstag, 26. April 2016 14:35 > To: Aleksandrovic, Aljosa (Pfaeffikon) > Subject: Re: Linear Regressions with constraint coefficients > > You need to send it to r-help at r-project.org however. > > Kevin > > On 04/26/2016 08:32 AM, Aleksandrovic, Aljosa (Pfaeffikon) wrote: >> Ok, will do! Thx a lot! >> >> Please find below my request: >> >> Hi all, >> >> I hope you are doing well? >> >> I?m currently using the lm() function from the package stats to fit linear multifactor regressions. >> >> Unfortunately, I didn?t yet find a way to fit linear multifactor regressions with constraint coefficients? I would like the slope coefficients to be all inside an interval, let?s say, between 0 and 1. Further, if possible, the slope coefficients should add up to 1. >> >> Is there an elegant and not too complicated way to do such a constraint regression estimation in R? >> >> I would very much appreciate if you could help me with my issue? >> >> Thanks a lot in advance and kind regards, Aljosa Aleksandrovic >> >> >> >> Aljosa Aleksandrovic, FRM, CAIA >> Quantitative Analyst - Convertibles >> aljosa.aleksandrovic at man.com >> Tel +41 55 417 7603 >> >> Man Investments (CH) AG >> Huobstrasse 3 | 8808 Pf?ffikon SZ | Switzerland >> >> >> -----Original Message----- >> From: Kevin E. Thorpe [mailto:kevin.thorpe at utoronto.ca] >> Sent: Dienstag, 26. April 2016 14:28 >> To: Aleksandrovic, Aljosa (Pfaeffikon); r-help-owner at r-project.org >> Subject: Re: Linear Regressions with constraint coefficients >> >> I believe I approved a message with such a subject. Perhaps there was another layer that subsequently rejected it after that. I didn't notice any unusual content. Try again, making sure you send the message in plain text only. >> >> Kevin >> >> On 04/26/2016 08:16 AM, Aleksandrovic, Aljosa (Pfaeffikon) wrote: >>> Do you know where I get help for my issue? >>> >>> Thanks in advance and kind regards, >>> Aljosa >>> >>> >>> Aljosa Aleksandrovic, FRM, CAIA >>> Quantitative Analyst - Convertibles >>> aljosa.aleksandrovic at man.com >>> Tel +41 55 417 7603 >>> >>> Man Investments (CH) AG >>> Huobstrasse 3 | 8808 Pf?ffikon SZ | Switzerland >>> >>> -----Original Message----- >>> From: R-help [mailto:r-help-bounces at r-project.org] On Behalf Of >>> r-help-owner at r-project.org >>> Sent: Dienstag, 26. April 2016 14:10 >>> To: Aleksandrovic, Aljosa (Pfaeffikon) >>> Subject: Linear Regressions with constraint coefficients >>> >>> The message's content type was not explicitly allowed >>> > > > -- > Kevin E. Thorpe > Head of Biostatistics, Applied Health Research Centre (AHRC) > Li Ka Shing Knowledge Institute of St. Michael's Hospital > Assistant Professor, Dalla Lana School of Public Health > University of Toronto > email: kevin.thorpe at utoronto.ca Tel: 416.864.5776 Fax: 416.864.3016 > > This email has been sent by a member of the Man group (?Man?). Man?s parent company, Man Group plc, is registered in England and Wales (company number 08172396) at Riverbank House, 2 Swan Lane, London, EC4R 3AD. > The contents of this email are for the named addressee(s) only. It contains information which may be confidential and privileged. If you are not the intended recipient, please notify the sender immediately, destroy this email and any attachments and do not otherwise disclose or use them. Email transmission is not a secure method of communication and Man cannot accept responsibility for the completeness or accuracy of this email or any attachments. Whilst Man makes every effort to keep its network free from viruses, it does not accept responsibility for any computer virus which might be transferred by way of this email or any attachments. This email does not constitute a request, offer, recommendation or solicitation of any kind to buy, subscribe, sell or redeem any investment instruments or to perform other such transactions of any kind. Man reserves the right to monitor, record and retain all electronic and telephone communications through its network in accordance with applicable laws and regulations. --UwQe9f5k7pI3vplngP > > ______________________________________________ > R-help at r-project.org mailing list -- To UNSUBSCRIBE and more, see > https://stat.ethz.ch/mailman/listinfo/r-help > PLEASE do read the posting guide http://www.R-project.org/posting-guide.html > and provide commented, minimal, self-contained, reproducible code.
Gabor Grothendieck
2016-Apr-26 15:59 UTC
[R] Linear Regressions with constraint coefficients
This is a quadratic programming problem that you can solve using either a quadratic programming solver with constraints or a general nonlinear solver with constraints. See https://cran.r-project.org/web/views/Optimization.html for more info on what is available. Here is an example using a nonlinear least squares solver and non-negative bound constraints. The constraint that the coefficients sum to 1 is implied by dividing them by their sum and then dividing the coefficients found by their sum at the end: # test data set.seed(123) n <- 1000 X1 <- rnorm(n) X2 <- rnorm(n) X3 <- rnorm(n) Y <- .2 * X1 + .3 * X2 + .5 * X3 + rnorm(n) # fit library(nlmrt) fm <- nlxb(Y ~ (b1 * X1 + b2 * X2 + b3 * X3)/(b1 + b2 + b3), data = list(Y = Y, X1 = X1, X2 = X2, X3 = X3), lower = numeric(3), start = list(b1 = 1, b2 = 2, b3 = 3)) giving the following non-negative coefficients which sum to 1 that are reasonably close to the true values of 0.2, 0.3 and 0.5:> fm$coefficients / sum(fm$coefficients)b1 b2 b3 0.18463 0.27887 0.53650 On Tue, Apr 26, 2016 at 8:39 AM, Aleksandrovic, Aljosa (Pfaeffikon) <Aljosa.Aleksandrovic at man.com> wrote:> Hi all, > > I hope you are doing well? > > I?m currently using the lm() function from the package stats to fit linear multifactor regressions. > > Unfortunately, I didn?t yet find a way to fit linear multifactor regressions with constraint coefficients? I would like the slope coefficients to be all inside an interval, let?s say, between 0 and 1. Further, if possible, the slope coefficients should add up to 1. > > Is there an elegant and not too complicated way to do such a constraint regression estimation in R? > > I would very much appreciate if you could help me with my issue? > > Thanks a lot in advance and kind regards, > Aljosa Aleksandrovic > > > > Aljosa Aleksandrovic, FRM, CAIA > Quantitative Analyst - Convertibles > aljosa.aleksandrovic at man.com > Tel +41 55 417 7603 > > Man Investments (CH) AG > Huobstrasse 3 | 8808 Pf?ffikon SZ | Switzerland > > > -----Original Message----- > From: Kevin E. Thorpe [mailto:kevin.thorpe at utoronto.ca] > Sent: Dienstag, 26. April 2016 14:35 > To: Aleksandrovic, Aljosa (Pfaeffikon) > Subject: Re: Linear Regressions with constraint coefficients > > You need to send it to r-help at r-project.org however. > > Kevin > > On 04/26/2016 08:32 AM, Aleksandrovic, Aljosa (Pfaeffikon) wrote: >> Ok, will do! Thx a lot! >> >> Please find below my request: >> >> Hi all, >> >> I hope you are doing well? >> >> I?m currently using the lm() function from the package stats to fit linear multifactor regressions. >> >> Unfortunately, I didn?t yet find a way to fit linear multifactor regressions with constraint coefficients? I would like the slope coefficients to be all inside an interval, let?s say, between 0 and 1. Further, if possible, the slope coefficients should add up to 1. >> >> Is there an elegant and not too complicated way to do such a constraint regression estimation in R? >> >> I would very much appreciate if you could help me with my issue? >> >> Thanks a lot in advance and kind regards, Aljosa Aleksandrovic >> >> >> >> Aljosa Aleksandrovic, FRM, CAIA >> Quantitative Analyst - Convertibles >> aljosa.aleksandrovic at man.com >> Tel +41 55 417 7603 >> >> Man Investments (CH) AG >> Huobstrasse 3 | 8808 Pf?ffikon SZ | Switzerland >> >> >> -----Original Message----- >> From: Kevin E. Thorpe [mailto:kevin.thorpe at utoronto.ca] >> Sent: Dienstag, 26. April 2016 14:28 >> To: Aleksandrovic, Aljosa (Pfaeffikon); r-help-owner at r-project.org >> Subject: Re: Linear Regressions with constraint coefficients >> >> I believe I approved a message with such a subject. Perhaps there was another layer that subsequently rejected it after that. I didn't notice any unusual content. Try again, making sure you send the message in plain text only. >> >> Kevin >> >> On 04/26/2016 08:16 AM, Aleksandrovic, Aljosa (Pfaeffikon) wrote: >>> Do you know where I get help for my issue? >>> >>> Thanks in advance and kind regards, >>> Aljosa >>> >>> >>> Aljosa Aleksandrovic, FRM, CAIA >>> Quantitative Analyst - Convertibles >>> aljosa.aleksandrovic at man.com >>> Tel +41 55 417 7603 >>> >>> Man Investments (CH) AG >>> Huobstrasse 3 | 8808 Pf?ffikon SZ | Switzerland >>> >>> -----Original Message----- >>> From: R-help [mailto:r-help-bounces at r-project.org] On Behalf Of >>> r-help-owner at r-project.org >>> Sent: Dienstag, 26. April 2016 14:10 >>> To: Aleksandrovic, Aljosa (Pfaeffikon) >>> Subject: Linear Regressions with constraint coefficients >>> >>> The message's content type was not explicitly allowed >>> > > > -- > Kevin E. Thorpe > Head of Biostatistics, Applied Health Research Centre (AHRC) > Li Ka Shing Knowledge Institute of St. Michael's Hospital > Assistant Professor, Dalla Lana School of Public Health > University of Toronto > email: kevin.thorpe at utoronto.ca Tel: 416.864.5776 Fax: 416.864.3016 > > This email has been sent by a member of the Man group (?Man?). Man?s parent company, Man Group plc, is registered in England and Wales (company number 08172396) at Riverbank House, 2 Swan Lane, London, EC4R 3AD. > The contents of this email are for the named addressee(s) only. It contains information which may be confidential and privileged. If you are not the intended recipient, please notify the sender immediately, destroy this email and any attachments and do not otherwise disclose or use them. Email transmission is not a secure method of communication and Man cannot accept responsibility for the completeness or accuracy of this email or any attachments. Whilst Man makes every effort to keep its network free from viruses, it does not accept responsibility for any computer virus which might be transferred by way of this email or any attachments. This email does not constitute a request, offer, recommendation or solicitation of any kind to buy, subscribe, sell or redeem any investment instruments or to perform other such transactions of any kind. Man reserves the right to monitor, record and retain all electronic and telephone communications through its network in accordance with applicable laws and regulations. --UwQe9f5k7pI3vplngP > > ______________________________________________ > R-help at r-project.org mailing list -- To UNSUBSCRIBE and more, see > https://stat.ethz.ch/mailman/listinfo/r-help > PLEASE do read the posting guide http://www.R-project.org/posting-guide.html > and provide commented, minimal, self-contained, reproducible code.-- Statistics & Software Consulting GKX Group, GKX Associates Inc. tel: 1-877-GKX-GROUP email: ggrothendieck at gmail.com
Aleksandrovic, Aljosa (Pfaeffikon)
2016-Apr-26 16:16 UTC
[R] Linear Regressions with constraint coefficients
Hi Gabor, Thanks a lot for your input! Kind regards, Aljosa Aljosa Aleksandrovic, FRM, CAIA Quantitative Analyst - Convertibles aljosa.aleksandrovic at man.com Tel +41 55 417 76 03 Man Investments (CH) AG Huobstrasse 3 | 8808 Pf?ffikon SZ | Switzerland -----Original Message----- From: Gabor Grothendieck [mailto:ggrothendieck at gmail.com] Sent: Dienstag, 26. April 2016 17:59 To: Aleksandrovic, Aljosa (Pfaeffikon) Cc: r-help at r-project.org Subject: Re: [R] Linear Regressions with constraint coefficients This is a quadratic programming problem that you can solve using either a quadratic programming solver with constraints or a general nonlinear solver with constraints. See https://cran.r-project.org/web/views/Optimization.html for more info on what is available. Here is an example using a nonlinear least squares solver and non-negative bound constraints. The constraint that the coefficients sum to 1 is implied by dividing them by their sum and then dividing the coefficients found by their sum at the end: # test data set.seed(123) n <- 1000 X1 <- rnorm(n) X2 <- rnorm(n) X3 <- rnorm(n) Y <- .2 * X1 + .3 * X2 + .5 * X3 + rnorm(n) # fit library(nlmrt) fm <- nlxb(Y ~ (b1 * X1 + b2 * X2 + b3 * X3)/(b1 + b2 + b3), data = list(Y = Y, X1 = X1, X2 = X2, X3 = X3), lower = numeric(3), start = list(b1 = 1, b2 = 2, b3 = 3)) giving the following non-negative coefficients which sum to 1 that are reasonably close to the true values of 0.2, 0.3 and 0.5:> fm$coefficients / sum(fm$coefficients)b1 b2 b3 0.18463 0.27887 0.53650 On Tue, Apr 26, 2016 at 8:39 AM, Aleksandrovic, Aljosa (Pfaeffikon) <Aljosa.Aleksandrovic at man.com> wrote:> Hi all, > > I hope you are doing well? > > I?m currently using the lm() function from the package stats to fit linear multifactor regressions. > > Unfortunately, I didn?t yet find a way to fit linear multifactor regressions with constraint coefficients? I would like the slope coefficients to be all inside an interval, let?s say, between 0 and 1. Further, if possible, the slope coefficients should add up to 1. > > Is there an elegant and not too complicated way to do such a constraint regression estimation in R? > > I would very much appreciate if you could help me with my issue? > > Thanks a lot in advance and kind regards, Aljosa Aleksandrovic > > > > Aljosa Aleksandrovic, FRM, CAIA > Quantitative Analyst - Convertibles > aljosa.aleksandrovic at man.com > Tel +41 55 417 7603 > > Man Investments (CH) AG > Huobstrasse 3 | 8808 Pf?ffikon SZ | Switzerland > > > -----Original Message----- > From: Kevin E. Thorpe [mailto:kevin.thorpe at utoronto.ca] > Sent: Dienstag, 26. April 2016 14:35 > To: Aleksandrovic, Aljosa (Pfaeffikon) > Subject: Re: Linear Regressions with constraint coefficients > > You need to send it to r-help at r-project.org however. > > Kevin > > On 04/26/2016 08:32 AM, Aleksandrovic, Aljosa (Pfaeffikon) wrote: >> Ok, will do! Thx a lot! >> >> Please find below my request: >> >> Hi all, >> >> I hope you are doing well? >> >> I?m currently using the lm() function from the package stats to fit linear multifactor regressions. >> >> Unfortunately, I didn?t yet find a way to fit linear multifactor regressions with constraint coefficients? I would like the slope coefficients to be all inside an interval, let?s say, between 0 and 1. Further, if possible, the slope coefficients should add up to 1. >> >> Is there an elegant and not too complicated way to do such a constraint regression estimation in R? >> >> I would very much appreciate if you could help me with my issue? >> >> Thanks a lot in advance and kind regards, Aljosa Aleksandrovic >> >> >> >> Aljosa Aleksandrovic, FRM, CAIA >> Quantitative Analyst - Convertibles >> aljosa.aleksandrovic at man.com >> Tel +41 55 417 7603 >> >> Man Investments (CH) AG >> Huobstrasse 3 | 8808 Pf?ffikon SZ | Switzerland >> >> >> -----Original Message----- >> From: Kevin E. Thorpe [mailto:kevin.thorpe at utoronto.ca] >> Sent: Dienstag, 26. April 2016 14:28 >> To: Aleksandrovic, Aljosa (Pfaeffikon); r-help-owner at r-project.org >> Subject: Re: Linear Regressions with constraint coefficients >> >> I believe I approved a message with such a subject. Perhaps there was another layer that subsequently rejected it after that. I didn't notice any unusual content. Try again, making sure you send the message in plain text only. >> >> Kevin >> >> On 04/26/2016 08:16 AM, Aleksandrovic, Aljosa (Pfaeffikon) wrote: >>> Do you know where I get help for my issue? >>> >>> Thanks in advance and kind regards, >>> Aljosa >>> >>> >>> Aljosa Aleksandrovic, FRM, CAIA >>> Quantitative Analyst - Convertibles >>> aljosa.aleksandrovic at man.com >>> Tel +41 55 417 7603 >>> >>> Man Investments (CH) AG >>> Huobstrasse 3 | 8808 Pf?ffikon SZ | Switzerland >>> >>> -----Original Message----- >>> From: R-help [mailto:r-help-bounces at r-project.org] On Behalf Of >>> r-help-owner at r-project.org >>> Sent: Dienstag, 26. April 2016 14:10 >>> To: Aleksandrovic, Aljosa (Pfaeffikon) >>> Subject: Linear Regressions with constraint coefficients >>> >>> The message's content type was not explicitly allowed >>> > > > -- > Kevin E. Thorpe > Head of Biostatistics, Applied Health Research Centre (AHRC) > Li Ka Shing Knowledge Institute of St. Michael's Hospital > Assistant Professor, Dalla Lana School of Public Health > University of Toronto > email: kevin.thorpe at utoronto.ca Tel: 416.864.5776 Fax: 416.864.3016 > > This email has been sent by a member of the Man group (?Man?). Man?s parent company, Man Group plc, is registered in England and Wales (company number 08172396) at Riverbank House, 2 Swan Lane, London, EC4R 3AD. > The contents of this email are for the named addressee(s) only. It contains information which may be confidential and privileged. If you are not the intended recipient, please notify the sender immediately, destroy this email and any attachments and do not otherwise disclose or use them. Email transmission is not a secure method of communication and Man cannot accept responsibility for the completeness or accuracy of this email or any attachments. Whilst Man makes every effort to keep its network free from viruses, it does not accept responsibility for any computer virus which might be transferred by way of this email or any attachments. This email does not constitute a request, offer, recommendation or solicitation of any kind to buy, subscribe, sell or redeem any investment instruments or to perform other such transactions of any kind. Man reserves the right to monitor, record and retain all electronic and telephone communications through its network in accordance with applicable laws and regulations. --UwQe9f5k7pI3vplngP > > ______________________________________________ > R-help at r-project.org mailing list -- To UNSUBSCRIBE and more, see > https://stat.ethz.ch/mailman/listinfo/r-help > PLEASE do read the posting guide http://www.R-project.org/posting-guide.html > and provide commented, minimal, self-contained, reproducible code.-- Statistics & Software Consulting GKX Group, GKX Associates Inc. tel: 1-877-GKX-GROUP email: ggrothendieck at gmail.com
Aleksandrovic, Aljosa (Pfaeffikon)
2016-Apr-28 12:42 UTC
[R] Linear Regressions with constraint coefficients
Hi Gabor, Thanks a lot for your help! I tried to implement your nonlinear least squares solver on my data set. I was just wondering about the argument start. If I would like to force all my coefficients to be inside an interval, let?s say, between 0 and 1, what kind of starting values are normally recommended for the start argument (e.g. Using a 4 factor model with b1, b2, b3 and b4, I tried start = list(b1 = 0.5, b2 = 0.5, b3 = 0.5, b4 = 0.5))? I also tried other starting values ... Hence, the outputs are very sensitive to that start argument? Thanks a lot for your answer in advance! Kind regards, Aljosa Aljosa Aleksandrovic, FRM, CAIA Quantitative Analyst - Convertibles aljosa.aleksandrovic at man.com Tel +41 55 417 76 03 Man Investments (CH) AG Huobstrasse 3 | 8808 Pf?ffikon SZ | Switzerland -----Original Message----- From: Gabor Grothendieck [mailto:ggrothendieck at gmail.com] Sent: Dienstag, 26. April 2016 17:59 To: Aleksandrovic, Aljosa (Pfaeffikon) Cc: r-help at r-project.org Subject: Re: [R] Linear Regressions with constraint coefficients This is a quadratic programming problem that you can solve using either a quadratic programming solver with constraints or a general nonlinear solver with constraints. See https://cran.r-project.org/web/views/Optimization.html for more info on what is available. Here is an example using a nonlinear least squares solver and non-negative bound constraints. The constraint that the coefficients sum to 1 is implied by dividing them by their sum and then dividing the coefficients found by their sum at the end: # test data set.seed(123) n <- 1000 X1 <- rnorm(n) X2 <- rnorm(n) X3 <- rnorm(n) Y <- .2 * X1 + .3 * X2 + .5 * X3 + rnorm(n) # fit library(nlmrt) fm <- nlxb(Y ~ (b1 * X1 + b2 * X2 + b3 * X3)/(b1 + b2 + b3), data = list(Y = Y, X1 = X1, X2 = X2, X3 = X3), lower = numeric(3), start = list(b1 = 1, b2 = 2, b3 = 3)) giving the following non-negative coefficients which sum to 1 that are reasonably close to the true values of 0.2, 0.3 and 0.5:> fm$coefficients / sum(fm$coefficients)b1 b2 b3 0.18463 0.27887 0.53650 On Tue, Apr 26, 2016 at 8:39 AM, Aleksandrovic, Aljosa (Pfaeffikon) <Aljosa.Aleksandrovic at man.com> wrote:> Hi all, > > I hope you are doing well? > > I?m currently using the lm() function from the package stats to fit linear multifactor regressions. > > Unfortunately, I didn?t yet find a way to fit linear multifactor regressions with constraint coefficients? I would like the slope coefficients to be all inside an interval, let?s say, between 0 and 1. Further, if possible, the slope coefficients should add up to 1. > > Is there an elegant and not too complicated way to do such a constraint regression estimation in R? > > I would very much appreciate if you could help me with my issue? > > Thanks a lot in advance and kind regards, Aljosa Aleksandrovic > > > > Aljosa Aleksandrovic, FRM, CAIA > Quantitative Analyst - Convertibles > aljosa.aleksandrovic at man.com > Tel +41 55 417 7603 > > Man Investments (CH) AG > Huobstrasse 3 | 8808 Pf?ffikon SZ | Switzerland > > > -----Original Message----- > From: Kevin E. Thorpe [mailto:kevin.thorpe at utoronto.ca] > Sent: Dienstag, 26. April 2016 14:35 > To: Aleksandrovic, Aljosa (Pfaeffikon) > Subject: Re: Linear Regressions with constraint coefficients > > You need to send it to r-help at r-project.org however. > > Kevin > > On 04/26/2016 08:32 AM, Aleksandrovic, Aljosa (Pfaeffikon) wrote: >> Ok, will do! Thx a lot! >> >> Please find below my request: >> >> Hi all, >> >> I hope you are doing well? >> >> I?m currently using the lm() function from the package stats to fit linear multifactor regressions. >> >> Unfortunately, I didn?t yet find a way to fit linear multifactor regressions with constraint coefficients? I would like the slope coefficients to be all inside an interval, let?s say, between 0 and 1. Further, if possible, the slope coefficients should add up to 1. >> >> Is there an elegant and not too complicated way to do such a constraint regression estimation in R? >> >> I would very much appreciate if you could help me with my issue? >> >> Thanks a lot in advance and kind regards, Aljosa Aleksandrovic >> >> >> >> Aljosa Aleksandrovic, FRM, CAIA >> Quantitative Analyst - Convertibles >> aljosa.aleksandrovic at man.com >> Tel +41 55 417 7603 >> >> Man Investments (CH) AG >> Huobstrasse 3 | 8808 Pf?ffikon SZ | Switzerland >> >> >> -----Original Message----- >> From: Kevin E. Thorpe [mailto:kevin.thorpe at utoronto.ca] >> Sent: Dienstag, 26. April 2016 14:28 >> To: Aleksandrovic, Aljosa (Pfaeffikon); r-help-owner at r-project.org >> Subject: Re: Linear Regressions with constraint coefficients >> >> I believe I approved a message with such a subject. Perhaps there was another layer that subsequently rejected it after that. I didn't notice any unusual content. Try again, making sure you send the message in plain text only. >> >> Kevin >> >> On 04/26/2016 08:16 AM, Aleksandrovic, Aljosa (Pfaeffikon) wrote: >>> Do you know where I get help for my issue? >>> >>> Thanks in advance and kind regards, >>> Aljosa >>> >>> >>> Aljosa Aleksandrovic, FRM, CAIA >>> Quantitative Analyst - Convertibles >>> aljosa.aleksandrovic at man.com >>> Tel +41 55 417 7603 >>> >>> Man Investments (CH) AG >>> Huobstrasse 3 | 8808 Pf?ffikon SZ | Switzerland >>> >>> -----Original Message----- >>> From: R-help [mailto:r-help-bounces at r-project.org] On Behalf Of >>> r-help-owner at r-project.org >>> Sent: Dienstag, 26. April 2016 14:10 >>> To: Aleksandrovic, Aljosa (Pfaeffikon) >>> Subject: Linear Regressions with constraint coefficients >>> >>> The message's content type was not explicitly allowed >>> > > > -- > Kevin E. Thorpe > Head of Biostatistics, Applied Health Research Centre (AHRC) > Li Ka Shing Knowledge Institute of St. Michael's Hospital > Assistant Professor, Dalla Lana School of Public Health > University of Toronto > email: kevin.thorpe at utoronto.ca Tel: 416.864.5776 Fax: 416.864.3016 > > This email has been sent by a member of the Man group (?Man?). Man?s parent company, Man Group plc, is registered in England and Wales (company number 08172396) at Riverbank House, 2 Swan Lane, London, EC4R 3AD. > The contents of this email are for the named addressee(s) only. It contains information which may be confidential and privileged. If you are not the intended recipient, please notify the sender immediately, destroy this email and any attachments and do not otherwise disclose or use them. Email transmission is not a secure method of communication and Man cannot accept responsibility for the completeness or accuracy of this email or any attachments. Whilst Man makes every effort to keep its network free from viruses, it does not accept responsibility for any computer virus which might be transferred by way of this email or any attachments. This email does not constitute a request, offer, recommendation or solicitation of any kind to buy, subscribe, sell or redeem any investment instruments or to perform other such transactions of any kind. Man reserves the right to monitor, record and retain all electronic and telephone communications through its network in accordance with applicable laws and regulations. --UwQe9f5k7pI3vplngP > > ______________________________________________ > R-help at r-project.org mailing list -- To UNSUBSCRIBE and more, see > https://stat.ethz.ch/mailman/listinfo/r-help > PLEASE do read the posting guide http://www.R-project.org/posting-guide.html > and provide commented, minimal, self-contained, reproducible code.-- Statistics & Software Consulting GKX Group, GKX Associates Inc. tel: 1-877-GKX-GROUP email: ggrothendieck at gmail.com