Multiple regression by hand

4 views (last 30 days)
Tahariet Sharon
Tahariet Sharon on 2 Dec 2014
Commented: Rena Berman on 9 Apr 2018
Hi,
I want to compute the b of regression using matrix notation: Meaning this:
b1=regress(a,B) % Matlab function regress
into this
b2=((B'*B).^(-1))*B'*a % matrix notation
But I don't get the same betas: b1 is not equal to b2 when B has more than one column. But both are equal when it is simple regression. Not sure what I may be doing wrong,
Thank you, GM

Accepted Answer

Image Analyst
Image Analyst on 2 Dec 2014
What is your B?
I think the formula should be
b2 = inv(B'*B) * B' * a;
  4 Comments
Tahariet Sharon
Tahariet Sharon on 3 Dec 2014
Thanks, thanks, thanks, thanks!
Image Analyst
Image Analyst on 4 Dec 2014
Edited: Image Analyst on 4 Dec 2014
John's correct that the more MATLAB-ish backslash method is preferable to the standard "book" formula like I gave, and which is what I thought you wanted. I think I can give myself a pat on the back though for raising John to a level of excitement rarely, if ever, seen before. :-) Now I have a challenge to see what it will take to get 30 NO's.

Sign in to comment.

More Answers (0)

Categories

Find more on Mathematics and Optimization in Help Center and File Exchange

Tags

No tags entered yet.

Community Treasure Hunt

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

Start Hunting!