Residuals from Regress
3 ビュー (過去 30 日間)
古いコメントを表示
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 件のコメント
the cyclist
2011 年 4 月 14 日
Can post the code that uses the regress function and seems suspicious to you?
採用された回答
Richard Willey
2011 年 4 月 14 日
% 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 件のコメント
Richard Willey
2011 年 4 月 14 日
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...
その他の回答 (0 件)
参考
カテゴリ
Help Center および File Exchange で Linear and Nonlinear Regression についてさらに検索
製品
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!