Python 拟合不确定性

Python 拟合不确定性,python,lmfit,Python,Lmfit,我试图在lmfit上绘制一个复合函数,以从在线数据中获得具有背景的质谱直方图的峰值。峰值为高斯形式,背景为指数形式。我已经能够得到一条曲线,很好地拟合数据,但不断得到错误“警告:不确定性无法估计”。据我所知,我完全是按照网上的方式做的,但我想知道是否有人有任何想法。 Lmfit似乎也没有调整我输入的初始参数来匹配数据。 我已经附上了产生的情节,错误和我的代码的图像 任何提示都很好。非常感谢 import numpy as np import matplotlib.pyplot a

我试图在lmfit上绘制一个复合函数,以从在线数据中获得具有背景的质谱直方图的峰值。峰值为高斯形式,背景为指数形式。我已经能够得到一条曲线,很好地拟合数据,但不断得到错误“警告:不确定性无法估计”。据我所知,我完全是按照网上的方式做的,但我想知道是否有人有任何想法。 Lmfit似乎也没有调整我输入的初始参数来匹配数据。 我已经附上了产生的情节,错误和我的代码的图像

任何提示都很好。非常感谢

    import numpy as np
    import matplotlib.pyplot as plt
    from scipy.optimize import curve_fit
    from lmfit import Model, Parameters, Minimizer

    f = open("ups-15-small.bin", "r")
    datalist= np.fromfile(f, dtype=np.float32)

    #number of events
    nevent = len(datalist)/6
    xdata = np.split(datalist, nevent)

    #make list of invarient mass events
    x1 =[]
    for i in range(0, int(nevent)):
       x1.append(xdata[i][0])
    xp1 = []
    xpo1 = []
    for i in range(len(x1)):
        if x1[i] >= 9.150 and x1[i] <= 9.765:
           xp1.append(x1[i])
        if x1[i] >= 9.35 and x1[i] <= 9.55:
           xpo1.append(x1[i])

   def guas(x, mu, sigma, a):
     guas = (a*(np.exp(-(x-mu)**2/(2*sigma**2))))
     return guas

   def exp(x, n, d):
     exp = n * np.exp(-d*x)
     return exp


   yp1, xp1, _ = plt.hist(xp1, bins = 250, color = 'pink')
   for i in range(len(yp1)):
      if yp1[i] == np.amax(yp1):
         mu = xp1[i]
   mod = Model(exp) + Model(guas)
   pars = mod.make_params(mu = mu, sigma = 0.0439, a = np.amax(yp1), n=234673,d=0.558476073)
   result = mod.fit(yp1, params=pars, x=xp1[:-1])
   print(result.fit_report())
   plt.plot(xp1[:-1], result.best_fit)
   plt.show()
将numpy导入为np
将matplotlib.pyplot作为plt导入
从scipy.optimize导入曲线\u拟合
从lmfit导入模型、参数、最小化
f=打开(“ups-15-小箱子”,“r”)
datalist=np.fromfile(f,dtype=np.float32)
#活动次数
nevent=len(数据列表)/6
扩展数据=np.split(数据列表,nevent)
#列出不变质量事件
x1=[]
对于范围(0,int(nevent))中的i:
x1.追加(扩展数据[i][0])
xp1=[]
xpo1=[]
对于范围内的i(len(x1)):

如果x1[i]>=9.150和x1[i]=9.35以及x1[i],请不要将错误消息作为图像发布。直接将它们作为文本发布在这里。此外,我们不知道您的输入是什么。请提供再现您的问题的玩具数据集。