Calculating R-Squared for robustfit

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 Kommentare

Riyadh Muttaleb
Riyadh Muttaleb am 27 Jul. 2018
I have the same problem, have gotten the answer?
JM90
JM90 am 8 Mai 2019
I have the same problem. Did you find an answer?

Melden Sie sich an, um zu kommentieren.

Tags

Gefragt:

am 20 Mai 2015

Beantwortet:

am 25 Sep. 2019

Community Treasure Hunt

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

Start Hunting!

Translated by