simple regression analysis issue

2 ビュー (過去 30 日間)
Coleman Hiett
Coleman Hiett 2022 年 9 月 16 日
編集済み: the cyclist 2022 年 9 月 16 日
I am trying to get a simple regression analysis to work, using the \ operator, following the example in this page: https://www.mathworks.com/help/matlab/data_analysis/linear-regression.html
Somehow my regression coefficient is not coming up correct, it has an opposite slope and the value is off. Can someone help me figure out what I'm doing wrong?
Ultimately, I hope to run a loop and find the regression coeffecients between a column vector and a large number of other column vectors pulled from an array, but I need to first pass this simple test...
y = [-38.34; -42.48; -52.71; -49.72];
x = [69.482; 60.645; 37.093; 42.889];
b1 = x\y;
yreg = b1*x;
scatter(x,y)
hold on
plot(x,yreg)

採用された回答

the cyclist
the cyclist 2022 年 9 月 16 日
編集済み: the cyclist 2022 年 9 月 16 日
The method you used does not include an intercept, so your fit is forced to go through the origin. Try this instead (which is also on that documentation page).
y = [-38.34; -42.48; -52.71; -49.72];
x = [69.482; 60.645; 37.093; 42.889];
X = [ones(size(x)), x];
b1 = X\y;
yreg = X*b1;
scatter(x,y)
hold on
plot(x,yreg)
  1 件のコメント
Coleman Hiett
Coleman Hiett 2022 年 9 月 16 日
duhh! thanks for your help. I knew it would be something obvious that I wan't seeing...

サインインしてコメントする。

その他の回答 (0 件)

製品


リリース

R2021b

Community Treasure Hunt

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

Start Hunting!

Translated by