我试图找到使用 scipy.optimize 和 'lm' 方法最小化函数的值的问题。该函数不是解析的,我将数值模型与频谱进行比较,并计算卡方 (chi2) 进行比较。第一个图1显示了 chi2 值随参数 I 变化的变化。我们可以确定一个最小值,表面显得有些光滑。
我要以较小的步长重做上一个图,该图变得类似于图2中的第二个,曲线看起来很嘈杂。
问题是 LM 值给我的值有时与我从图1中期望的值不一致
我试过的
我假设由于曲线的混乱形状(LM 采取非常小的步骤来探索曲线),LM 未能找到最佳值。我试图更改终止容差(ftol、gtol、xtol),试图强制算法采取更大的步骤,而不是在局部最小值处停止。
想法?