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 !

 채택된 답변

Amit
Amit 2014년 2월 8일

0 개 추천

댓글 수: 6

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 2014년 2월 8일
How did you set it? How did you use lsqlin?
John D'Errico
John D'Errico 2014년 2월 8일
편집: John D'Errico 2014년 2월 8일
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 2014년 2월 8일
편집: abdoulaye thiam 2014년 2월 8일
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!!

댓글을 달려면 로그인하십시오.

추가 답변 (0개)

카테고리

질문:

2014년 2월 7일

편집:

2014년 2월 8일

Community Treasure Hunt

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

Start Hunting!

Translated by