how to return the R-squared using lscov command
3 views (last 30 days)
Show older comments
How can I get the R-squared using the LSCOV command?
Answers (1)
Wayne King
on 13 Jan 2013
Edited: Wayne King
on 13 Jan 2013
I'm not sure whether your A matrix can be interpreted as a design matrix for a linear model and B is your response vector (here I'm using the input designations in lscov), but if that is the case, then the classic R-squared would be.
X = lscov(A,B);
xhat = A*X;
resid = xhat-B;
SSE = norm(resid,2)^2;
TSE = norm((B-mean(B),2)^2;
R2 = 1-SSE/TSS;
Alternatively, you could use something like:
X = lscov(A,B);
xhat = A*X;
r2 = norm(xhat,2)^2/norm(B,2)^2;
The l2-norm of xhat is less than or equal to the l2 norm of the B vector. If A*X is a good fit for B, then the norm of xhat will be close to the l2 norm of B and the ratio will be close to 1.
If A*X is bad fit for B, then the ratio will be small.
See Also
Categories
Find more on Creating and Concatenating Matrices 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!