How to do linear regression?

How to do a regression line ?

1 Commento

Stephan
Stephan il 22 Ago 2018
Do you have access to Optimization Toolbox or to Curve Fitting Toolbox?

Accedi per commentare.

Risposte (2)

Star Strider
Star Strider il 22 Ago 2018

1 voto

To do a simple linear least-square fit, see the mldivide,\ (link) function.

5 Commenti

Note that this solution only gives a correct answer, when the function passes through the origin of the coordinate system
y= m .* x + n ---> with n = 0
will give a correct answer. If n~=0 you get more bad results for m the more n is different from zero.
It gives a correct result if you include a column vector of ones with the independent variable to estimate the intercept:
B = [x(:) ones(size(x(:)))] \ y(:); % Estimate Parameters
yfit = [x(:) ones(size(x(:)))] * B; % Calculate Regression Line
figure
plot(x, y, 'pg')
hold on
plot(x, yfit, '-r')
hold off
grid
The polyfit (link) and polyval (link) options, with a polynomial order of 1, will also work.
Stephan
Stephan il 22 Ago 2018
Nice,
and learned something again ;-)
Star Strider
Star Strider il 22 Ago 2018
Thank you!
Actually, I got the idea for the column of ones from the documentation for the regress (link) function when I first began using it, many years ago. (I simply forgot to include polyfit and friends initially.)
Stephan
Stephan il 22 Ago 2018
I had to think about it for a few minutes. But after understanding what happens, i saw that this is a pretty nice approach.

Accedi per commentare.

Categorie

Commentato:

il 22 Ago 2018

Community Treasure Hunt

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

Start Hunting!

Translated by