为什么您指定的初始值p0会在很大程度上影响拟合结果

2024-06-01 10:16:07 发布

您现在位置:Python中文网/ 问答频道 /正文

当我给P0分配不同的初始值时,拟合会变化两个数量级。问题是,我如何才能找到正确的一个,因为拟合的目的是寻找正确的参数

我得到了两个变量和两个未知参数要找到一个合适的方法

p0 = [0.5,0.3] #initial value
c,cov = curve_fit(titrition,(xp,xd),y,p0)
yp = titrition ((xp,xd),c[0],c[1])

Tags: 方法目的参数valuecovxpinitialfit
1条回答
网友
1楼 · 发布于 2024-06-01 10:16:07

这个问题与其说是编码问题,不如说是一个非常具体的数字问题curve_fit只是试图最小化代价函数,以使函数尽可能适合数据。我不知道函数titration是什么样子,但我怀疑优化它是非凸的。换句话说,curve_fit可能会根据您提供的初始猜测找到不同的最佳值。这就是你必须用某种物理直觉来提供一个关于初始条件应该是什么的最佳猜测

相关问题 更多 >