【问题标题】:Extracting variables from fit statistics parameters after curve fitting using lmfit使用 lmfit 进行曲线拟合后从拟合统计参数中提取变量
【发布时间】:2021-07-13 09:45:18
【问题描述】:

我正在使用 lmfit 针对我的数据绘制高斯拟合。我只想提取一个可变参数(例如: I0 )并将其存储在一个数组中。 任何建议都会有帮助。 我在下面附上了我的示例代码:

def Gauss(x,I0,x0,sigma,Background):
            return I0*exp((-(x-x0)**2)/(2*sigma**2))+Background   
mod=Model(Gauss)
result=mod.fit(yData,x=xData,I0=1,x0=mean,sigma=sigma,Background=1)
result.plot()
plt.grid()
plt.xlabel('x,y,z distribution')
plt.ylabel('PL intensity')
basename=os.path.basename(file)
plt.title(basename)
print('The fit statistics for',basename)
print(result.fit_report()) 


[[Fit Statistics]]
    # fitting method   = leastsq
    # function evals   = 264
    # data points      = 30
    # variables        = 4
    chi-square         = 8379722.68
    reduced chi-square = 322297.026
    Akaike info crit   = 384.203840
    Bayesian info crit = 389.808629
[[Variables]]
    I0:          6128.15928 +/- 343.334644 (5.60%) (init = 1)
    x0:         -5.1147e-07 +/- 3.1252e-08 (6.11%) (init = -4.039265e-07)
    sigma:      -7.4953e-07 +/- 6.0842e-08 (8.12%) (init = 9.136697e-07)
    Background:  1730.50204 +/- 338.181818 (19.54%) (init = 1)

【问题讨论】:

    标签: python curve-fitting lmfit


    【解决方案1】:

    阅读 lmfit 文档并浏览一些示例可能会有所帮助。在 SO 上,您希望展示您尝试过的内容以及可能没有按预期工作的内容。

    你说:

    我想提取所有可变参数(例如: I0 )并将其与我的数据进行对比,并可视化适合我的误差条。

    生成的参数在result.params 中,这是一个包含参数名称键和lmfit.Parameter 值的字典,它将具有多个属性。

    如果您只想要最合适的参数值,您可以尝试

    print(result.params.valuesdict())

    有关更多信息,请参阅文档。

    我不确定您所说的“根据我的数据绘制它并可视化适合我的误差条”是什么意思。

    你还说:

    我还想计算每个数据点的可变参数并存储在一个数组中。

    也许您的意思是您想要模型的数组值?如果是这样,那就是result.best_fit

    【讨论】:

    • 非常感谢@M Newville。我的意思是我只想提取一个可变参数(I0)。我试图打印(result.I0),它不起作用。请让我知道如何仅访问上述代码中的一个变量参数。再次非常感谢!
    • @AngelaMary 这已经回答了:...result.params,一个包含参数名称键和 lmfit.Parameter 值的字典。。认真阅读文档并浏览示例。
    猜你喜欢
    • 1970-01-01
    • 2018-05-24
    • 2015-07-04
    • 1970-01-01
    • 2021-08-09
    • 2021-10-01
    • 2021-07-13
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多