Python lmfit参数上的错误并不总是显示出来

Python lmfit参数上的错误并不总是显示出来,python,lmfit,Python,Lmfit,我正在尝试使用lmfit将曲线拟合到一些数据点,我需要参数上的误差。调用后:out=model.fit(y,pars,x,weights=1/错误)I执行:print(out.fit\u report())。有时输出是这样的(此处发布了部分点击): 这正是我所需要的(即参数有与之相关的错误)。但其他时候是这样的: # fitting method = leastsq # function evals = 9509 # data points = 64

我正在尝试使用lmfit将曲线拟合到一些数据点,我需要参数上的误差。调用后:
out=model.fit(y,pars,x,weights=1/错误)
I执行:
print(out.fit\u report())
。有时输出是这样的(此处发布了部分点击):

这正是我所需要的(即参数有与之相关的错误)。但其他时候是这样的:

    # fitting method   = leastsq
    # function evals   = 9509
    # data points      = 64
    # variables        = 14
    chi-square         = 3023.19802
    reduced chi-square = 60.4639605
    Akaike info crit   = 274.731995
    Bayesian info crit = 304.956358
##  Warning: uncertainties could not be estimated:
    sv3_center:     at initial value
    sv4_amplitude:  at boundary
[[Variables]]
    line1_c:        49.6633100 (init = 60.35763)
    sv1_skew:      -19.2947984 (init = 0)
    sv1_amplitude:  269.063100 (init = 1)
    sv1_center:     13285.0635 (init = 13284)
    sv1_sigma:      1.66532381 (init = 1)
    sv1_gamma:      1.66532381 == 'sv1_sigma'

为什么不能在第二种情况下估计不确定性。另外,对于完全相同的拟合和数据,有时我会得到参数上的错误,有时我不会,也就是说,我只是连续运行
python code.py
两次,没有任何修改,有时我会得到错误估计值,有时我不会。然而,在这两种情况下,合身的眼睛看起来都很好。有人能帮我理解发生了什么事吗?谢谢大家!

如果一个或多个变量没有引起拟合结果的变化,则无法估计参数值的不确定性。这通常意味着一个或多个参数被固定在初始值(可能是一个非常糟糕的猜测,或者可能导致部分模型无响应)或固定在边界

fit报告试图给出一些好的提示,说明是什么阻止了不确定性的估计。它说:

##  Warning: uncertainties could not be estimated:
    sv3_center:     at initial value
    sv4_amplitude:  at boundary

除其他外,这意味着您没有包括完整的错误报告,该报告将列出所有14个变量。

哦,我明白了!非常感谢你这么做。然而,为什么完全相同的程序有时会给出错误估计,而有时不会?
##  Warning: uncertainties could not be estimated:
    sv3_center:     at initial value
    sv4_amplitude:  at boundary