MATLAB: What is an accurate function for linear regression
linear regression
Hi All,
can anyone tell me an accurate function for linear regression (fitting a line to data). I am also interested in the slop, interception and R-square of the fitted line. I am only familiar with polifit
Thanks Aziz
Best Answer
Which Toolboxen do you have? There'sfit in the Curve Fitting TB andLinearModel.fit in the Statistics Toolbox. polyfit is certainly just as accurate; for such simple fitting and wants, the coefficients are returned directly and Rsq is easily computed from the definition as 1-SSE/SST
ADDENDUM
>> x=1:10; x=x(:); y=randn(size(x)); % sample data
>> b=polyfit(x,y,1) % fit....
b =
0.2412 -0.7021
>> plot(x,y,'-*)
>> yhat=polyval(b,x); % evaluate
>> hold all
>> plot(x,yhat)
>> mn=mean(y);
>> dot(y-mn,y-mn) % definition for SST, total sum squares
ans =
28.1924
>> SST=var(y)*(length(y)-1) % Use builtin VAR function
Best Answer