Need help with Least Squares fit problem! Not overly difficult I don't believe.

3 vues (au cours des 30 derniers jours)
Hello, I am doing some homework for my computational methods class and need some help. We are covering linear regressions and least fit squares. So the problem I am doing is having me derive by hand the least fit squares for the equation y=a1x+e, meaning determine the slope that results from a straight line with a zero intercept. I did it by hand and got a slope of 0.61436, but was wondering how I would go about checking on matlab if this was correct?
The x and y data are as follows: X: 2 4 6 7 10 11 14 17 20 Y: 4 5 6 5 8 8 6 9 12 I understand basic plotting but am unsure of how to fit the line to it on here. Thanks!

Réponse acceptée

Star Strider
Star Strider le 8 Oct 2017
Use the MATLAB mldivide,\ (link) function to calculate the least-squares fit:
X = [2 4 6 7 10 11 14 17 20];
Y = [4 5 6 5 8 8 6 9 12];
a1_1 = X(:)\Y(:) % Using ‘mldivide,\’
You may want to check your calculations and derivation, since I get a different result from taking the first (partial) derivative of:
S = sum((Y - a1*X)^2)
with respect to ‘a1’, then setting it to zero and solving for ‘a1’:
a1_2 = sum(X.*Y)/sum(X.^2) % Using Computed Least Squares
My derivation result agrees with the mldivide result.
Plotting:
figure(1)
plot(X, Y, 'pg')
hold on
plot(X, a1_1*X, '-r')
hold off
grid
text(7, 11, sprintf('Y = %.3f\\cdotX', a1_1))
text(7, 13, sprintf('Y = %.3f\\cdotX', a1_2))
  2 commentaires
Grant Piephoff
Grant Piephoff le 8 Oct 2017
Thank you so much! I recalculated my numbers and got the same value as you.
Star Strider
Star Strider le 8 Oct 2017
As always, my pleasure!
I decided to do the derivation as well (by hand, not using the Symbolic Math Toolbox) to be certain I could get the same result.

Connectez-vous pour commenter.

Plus de réponses (1)

Kaushik Lakshminarasimhan

Catégories

En savoir plus sur Creating and Concatenating Matrices dans Help Center et File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by