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.aleksandro...@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:ggrothendi...@gmail.com] 
Sent: Dienstag, 26. April 2016 17:59
To: Aleksandrovic, Aljosa (Pfaeffikon)
Cc: r-help@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.aleksandro...@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.aleksandro...@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.tho...@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@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.aleksandro...@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.tho...@utoronto.ca]
>> Sent: Dienstag, 26. April 2016 14:28
>> To: Aleksandrovic, Aljosa (Pfaeffikon); r-help-ow...@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.aleksandro...@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-boun...@r-project.org] On Behalf Of
>>> r-help-ow...@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.tho...@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@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
______________________________________________
R-help@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.

Reply via email to