Calculating R-Squared for robustfit

4 次查看(过去 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!

类别

Help CenterFile Exchange 中查找有关 Linear Regression 的更多信息

标签

Community Treasure Hunt

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

Start Hunting!

Translated by