Asked by Adam Cervenka
on 11 Aug 2018

After linear fitting I need to get value of standard error. When I use this

A = [x(:),ones(length(x),1)]; [u,std_u] = lscov(A,y(:)); for x=[2550 2450 2352 2256 2162] for y=[1,93 2,11 2,39 2,44 2,63]

I get right values.

But when I use the same code where

x = [5,13e-19 5,55e-19 5,9e-19 6,370e-19 6,77e-19] y = [40,40 39,97 39,21 38,67 38,75]

std_u and u value are 0 but they shouldn't be.

Did I use the wrong function? How can I get these values?

Answer by David Goodmanson
on 13 Aug 2018

Accepted Answer

Hi Adam,

Time to rescale.

S = 1e18; % scale factor to bring x into the same ballpark as the second column of A

x = S*[5.13e-19 5.55e-19 5.9e-19 6.370e-19 6.77e-19]; y = [40.40 39.97 39.21 38.67 38.75]; A = [x(:),ones(length(x),1)]; [u,std_u] = lscov(A,y(:))

u= (rescaled) -11.1558 46.0310

std_u = 2.0929 1.2499

In terms of the rescaled x you get a good result.

The problem being solved is basically ux = y, or (u/S)(Sx) = y. So for the rescaled problem, u -> u/S.

To get back to the original problem you have to multiply the rescaled u by S. But since only the first column of A was rescaled, only the first element of u and std_u have to be changed. Then

u(1) = -1.1156e+19 (original) u(2) = 46.0310 std_u(1) = 2.0929e+18 std_u(2) = 1.2499

Lots of scale factors that are within a few powers of 10 of S=1e19 are possible, and they don't change the 'original' results above (by any significant amount). But all in all, it makes at least as much sense to stay with the rescaled problam, because then the elements of u and std_u are of comparable size. I used a scale factor of 1e18 instead of 1e19 because for example if x were in meters, then the rescaled x is in the SI unit of attometers.

David Goodmanson
on 13 Aug 2018

Not that I know of. Is there evidence that these numbers are inaccurate?

Adam Cervenka
on 14 Aug 2018

No, but I need values with more decimal places (about ten).

David Goodmanson
on 18 Aug 2018

Sign in to comment.

Opportunities for recent engineering grads.

Apply Today
## 2 Comments

## Star Strider (view profile)

Direct link to this comment:https://www.mathworks.com/matlabcentral/answers/414496-how-to-get-linear-fit-standard-deviation#comment_598801

The documentation section on

Accuracy of Floating-Point Data(link) might be helpful.## Adam Cervenka (view profile)

Direct link to this comment:https://www.mathworks.com/matlabcentral/answers/414496-how-to-get-linear-fit-standard-deviation#comment_598858

So what should I do now?

Sign in to comment.