微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

相关变量和scipy curve_fit

如何解决相关变量和scipy curve_fit

我有一个物理模型,其中包含一个自变量X和三个参数ABC。因变量为Y=F(X,A,B,C),其中F是平滑且连续的模型函数

我有许多数据点为(X,Y)文件(每个文件)都适合模型以研究参数的变化。该模型对于自变量和所有参数都是非线性的。

为适应模型,我在整个文件中包含数据点的scipy.optimize curve_fit内的Python中使用for loop。对于每个文件,我都会得到最合适的参数(A,C),并且该模型非常适合所有文件。但是,当我在拟合之后检查参数错误时,我发现A中的错误确实很大,甚至比相应的值高两个数量级。

经验告诉我,这些较大的差异可能是由于参数A可能与其他任何参数相关联。为了检验这一假设,我针对AB的值绘制了C的值。我看到,实际上,出现了A=a*B^b形式的幂律关系,这在物理上是可以接受的。

是否有一种方法可以告诉curve_fit处理这种相关性,而不必引入新参数(例如ab)以使模型具有最低的方差可能吗?

解决方法

尝试使用method = 'trf'作为适合您的参数。这样可以避免使用最小二乘法,并且可以使用雅可比行列的伪逆。我相信特征值为零的雅可比行列式应该不是问题。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。