Calculating R-Squared for robustfit

8 次查看(过去 30 天)
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 个评论
Riyadh Muttaleb
Riyadh Muttaleb 2018-7-27
I have the same problem, have gotten the answer?
JM90
JM90 2019-5-8
I have the same problem. Did you find an answer?

请先登录,再进行评论。

回答(1 个)

Milad Ekramnia
Milad Ekramnia 2019-9-25
Same here!

标签

Community Treasure Hunt

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

Start Hunting!

Translated by