Multiple linear regression with constraint

I need to run a multiple linear regression such that all of the coefficients are positive, and their sum = 1 . I have 7 variables, so i need 7 seven coefficients.
Thanks !

 Réponse acceptée

Amit
Amit le 8 Fév 2014

0 votes

6 commentaires

Thanks Amit, with lsqlin i am able to set the sum of the coefficients being equal to zero, but i do not know how to make sure that they are all positive numbers.. sorry, if the question sounds dumb, i am new matlab user thank
make sure that all the coefficients are positive, you set the lower bound as 0 and upper bound as inf. something like:
lsqlin(.......,zeros(7,1),Inf*ones(7,1))
Hello Amit, even after setting the lower bound to zero it gives negative coefficients.
Amit
Amit le 8 Fév 2014
How did you set it? How did you use lsqlin?
John D'Errico
John D'Errico le 8 Fév 2014
Modifié(e) : John D'Errico le 8 Fév 2014
Note that most likely, some of the coefficients MIGHT go negative by an amount on the order of eps. Look at the numbers. If they are -1.e-13, why do you care? Just set them to ZERO afterwards.
abdoulaye thiam
abdoulaye thiam le 8 Fév 2014
Modifié(e) : abdoulaye thiam le 8 Fév 2014
Yes you are right John, the only the only negative number that i have is -2.641592169276901e-17...Sure, why would I care!! Thank you both!!

Connectez-vous pour commenter.

Plus de réponses (0)

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by