Multiple regression by hand
4 views (last 30 days)
Show older comments
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
on 2 Dec 2014
What is your B?
I think the formula should be
b2 = inv(B'*B) * B' * a;
4 Comments
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.
More Answers (0)
See Also
Categories
Find more on Mathematics and Optimization in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!