Calculate Uncertainty for fitted parameter from least squares fit

60 views (last 30 days)
How can I get the uncertainty for each of the fitted parameters after doing a least squares curve fit? I used tools-basic fitting- quadratic, but I could do the fit using lsqcurvefit or some other function if that is easier.
Each of the data points that were used for the curve fit had standard error associated with them, but I think that I can somehow calculate the uncertainty for each fitted parameter based off the residuals of the fit. Is this correct?
  1 Comment
Bernoulli Lizard
Bernoulli Lizard on 17 Oct 2012
I remember using Excel to calculate the chi squared values based off of the residuals, which somehow allowed to calculate the uncertainty for each parameter, one at a time. Is there any easier way to do this? Surely there must be a MATLAB function or routine for this by now...

Sign in to comment.

Accepted Answer

Matt J
Matt J on 17 Oct 2012
If your curve fit is unconstrained and your residual has uniform variance s2, then a common approximation to the covariance matrix of the parameters is
Cov=inv(J'*J)*s2
where J is the Jacobian of the residual at the solution. Both LSQCURVEFIT and LSQNONLIN return the Jacobian as an optional output argument.
  14 Comments
Graham Baker
Graham Baker on 11 Dec 2018
Can you explain why it is necessary to multiply by s2? In the definition of the covariance matrix that I'm familiar with, it would simply be calculated as cov=inv(J'*J).
Matt J
Matt J on 12 Dec 2018
Edited: Matt J on 12 Dec 2018
Well, the covariance of the parameter estimates has to depend on the statistical variability of the curve data y somehow. inv(J'*J) alone has no dependence on y whatsoever.

Sign in to comment.

More Answers (0)

Community Treasure Hunt

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

Start Hunting!