Multiple linear regression with constraint

2 views (last 30 days)
Hi,
I need some help with a code. I need to run a multiple linear regression for 4 variables (x1, x2, x3, x4) : y = a x1 + b x2 + c x3 + d x4 such that: b = 1 and c = ad
I know i need to use the lsqlin function but i don't really understand how it works.
Thanks for your help !
  1 Comment
Matt J
Matt J on 26 May 2014
Edited: Matt J on 26 May 2014
b=1 is not really a constraint. It means its value is known. You should just exclude it from the list of unknowns and do the regression in terms of a, b, and d.

Sign in to comment.

Accepted Answer

John D'Errico
John D'Errico on 26 May 2014
No. You cannot use LSQLIN. Sorry, but not an option.
Why not? Because one of your constraints is nonlinear, i.e., c=a*d.
You will need to use FMINCON, minimizing a sum of squares of residuals. FMINCON can handle the nonlinear equality constraint.
  1 Comment
Aurélien
Aurélien on 26 May 2014
Thanks a lot fot this quick reply! I am not familiar with mathematical formulation so I have difficulty to code with FMINCON. Is it possible to give me a hand to implement the code which answers to my question?

Sign in to comment.

More Answers (0)

Community Treasure Hunt

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

Start Hunting!