Calculating R-Squared for robustfit
Show older comments
In the linear regression function (regress), one may get the R^2 value directly from one of the 'stats' variable in [b, bint, r, rint, stats] = regress(y,X) function
I want to do a robust linear regression with [b,stats] = robustfit(X,Y)
However, it doesn't give me the new/adjusted R^2 from the output variables of the 'robustfit' function.
This workaround works well for the case of only 1 independent variable:
[brob, rob_stats] = robustfit(x,y);
rsquare = corr(y,brob(1)+brob(2)*x)^2
Unfortunately, I have a at least 4 independent variables. I tried this (for 1 constant and 3 independent variables), but it doesn't work and it most likely is not mathematically correct ;-) :
B_Rsqrd(1,j) = corr(Y,b(1)+b(2)*X(:,1)+b(3)*X(:,2)...
+b(4)*X(:,3)+b(5)*X(:,4))^2;
Any help is much appreciated!
Cheers, Christian
2 Comments
Riyadh Muttaleb
on 27 Jul 2018
I have the same problem, have gotten the answer?
JM90
on 8 May 2019
I have the same problem. Did you find an answer?
Answers (1)
Milad Ekramnia
on 25 Sep 2019
0 votes
Same here!
Categories
Find more on Multiple Linear Regression 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!