Non-linear curve fitting fail to converge

조회 수: 2 (최근 30일)
Yanxin Liu
Yanxin Liu 2021년 6월 27일
댓글: Bjorn Gustavsson 2021년 6월 28일
I'm using the curve fitting toolbox to fit the data to a function: y = a*(1-b*exp(-c*x)-(1-b)*exp(-d*x)).
For a certain group of data, the fitting fails to converge. (Algorithm: Trust region. The boudaries set for the parameters are: a: 0.25 - Inf, b: 0-1, c: 0-Inf, d: 0-Inf)
For some groups of data, the fitting can converge but the standard error of the fitted parameters are very big.
I have a feeling that this is because my function is overparameterised, but I can't prove.
Thanks a lot in advance.
  댓글 수: 3
Yanxin Liu
Yanxin Liu 2021년 6월 28일
Thank you for your answer, Scott. The equation used here comes from a model in the bioenergy field that is believed can be used to describe the anaerobic biogas production. So if I can prove that this equation is overparameterised mathematically, the result can be more convincing than just a hunch, like they did in these two examples: https://www.originlab.com/doc/Origin-Help/The_Reason_Why_Fail_to_Converge and https://stats.stackexchange.com/questions/7102/non-linear-regression-fails-to-converge-but-fit-appears-good?answertab=votes#tab-top
Honestly speaking, this is more like a math question compared to a Matlab question now.
Bjorn Gustavsson
Bjorn Gustavsson 2021년 6월 28일
Overparameterized? You have some 30 data-points and a 4-parameter model - so some 5 data-points per parameter. I've understood overparameterization as when the model starts to fit to noise in the data. The problem rather seems to be that your model does not capture the data in the first graph. Your model should aproach a while that data seems to trail off towards a "constant growth" - that's not a good match even if your model fits the data reasonably well.

댓글을 달려면 로그인하십시오.

답변 (0개)

카테고리

Help CenterFile Exchange에서 Interpolation에 대해 자세히 알아보기

제품


릴리스

R2021a

Community Treasure Hunt

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

Start Hunting!

Translated by