Non-linear curve fitting fail to converge
3 次查看(过去 30 天)
显示 更早的评论
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)
![](https://www.mathworks.com/matlabcentral/answers/uploaded_files/667020/image.png)
For some groups of data, the fitting can converge but the standard error of the fitted parameters are very big.
![](https://www.mathworks.com/matlabcentral/answers/uploaded_files/667025/image.png)
I have a feeling that this is because my function is overparameterised, but I can't prove.
Thanks a lot in advance.
3 个评论
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 Center 和 File Exchange 中查找有关 Interpolation 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!