Residuals from Regress
15 Ansichten (letzte 30 Tage)
Ältere Kommentare anzeigen
I'm trying to get the residual error from a linear fit between two variables and the residuals I get from the regress function make no sense and don't match what I get from the data fitting gui (which looks correct). What is the difference in the procedures here and how can I programmatically get the residuals I see through the data fitting menu option?
1 Kommentar
the cyclist
am 14 Apr. 2011
Can post the code that uses the regress function and seems suspicious to you?
Akzeptierte Antwort
Richard Willey
am 14 Apr. 2011
% Generate some random data
X = linspace(1,100,100)';
Y = X + randn(100,1);
% Use Curve Fitting Toolbox to generate a fit
% In your workflow, you'd create the fit in cftool and then export the
% model to MATLAB as a fit object
foo = fit(X,Y,'poly1')
% Calculate residuals
resid1 = Y - foo(X)
% Use regress to compute residuals
b = regress(Y, [ones(length(X),1) X])
Yhat = [ones(length(X),1) X]*b;
resid2 = Y - Yhat
% Check that the residuals are the same
resid1./resid2
2 Kommentare
Richard Willey
am 14 Apr. 2011
Easy mistake to make. regress gives you really fine grained control over your design matrix. However, in turn you need to do things like add a ones vector for your constant and the like...
Weitere Antworten (0)
Siehe auch
Kategorien
Mehr zu Linear and Nonlinear Regression finden Sie in Help Center und File Exchange
Produkte
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!