问题标签 [lmfit]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
417 浏览

python-2.7 - Lmfit 分离峰拟合

我对曲线/峰值拟合非常陌生,但我正在尝试拟合具有多个独立峰值的数据集。我尝试了类似于 lmfit 提供的示例的方法,这是我的代码:

然而,结果变成了这样: 拟合曲线

我对如何继续拟合三个单独的峰值感到非常困惑,如下所示。我认为参数更新是为了将多个模型放入同一个数据集中,而不是为了单独的独立峰。不过我可能是错的。有什么建议吗?

0 投票
1 回答
866 浏览

python - 使用 LMFIT 中的不确定性进行误差加权拟合

我正在尝试使用 LMFIT 拟合模型,我可以轻松地执行以下操作:

并得到非常合理的结果

现在我还有一些与我的measured变量相关的不确定性(例如测量误差),所以我想通过与之相关的标准误差对残差中的点进行加权(假设它始终是测量值的 20%)。代码现在变成了这样:

问题是现在我得到完全不可靠的拟合结果。为什么?我怎样才能解决这个问题?

0 投票
1 回答
196 浏览

python - 如何区分lmfit中的已知局部参数和全局参数?

我正在使用 lmfit python 包https://lmfit.github.io/lmfit-py/在某些参数的某些允许变化范围内将数据拟合到指定的非线性函数(这主要是我发现 lmfit 有吸引力的原因)。

通常,lmfit 的两行重要代码是:

我的应用程序是对 36 个数据图执行全局拟合。问题是一些参数没有被拟合(vary=None),是已知的数量,并且在所有 36 个图表中都不同,但在它们自己的图表中保持不变。目前,我正在尝试实现以下语法,以便将这些已知参数与其关联的 x_data 和 y_data 点一起传递。

这里 x_data、y_data 和 known_params 是长度相同的数组。x_data 和 y_data 由所有 36 个图的单个数组组成,并且 known_params 是一个三列数组,其中包含在每个图中固定的那些参数的重复条目。

目前程序运行速度很慢(直到执行完成 30 分钟)。同样,目前所有图的拟合曲线都是相同的,而我希望它用已知参数拟合每个局部图并仅拟合全局参数。

我想问一下我这样做是否正确?我明白为什么 minimize() 需要引用要拟合的 y_data,但为什么 fcn2min() 需要 y_data 作为输入?我的拟合程序是否会混淆它是否拟合 y_data 或 known_params 数组?有没有更好的方法通过 lmfit 做到这一点,或者我应该寻找另一个数字包?

0 投票
1 回答
4019 浏览

python - 拟合后如何获取lmfit参数?

我编写了一个程序来拟合一些拉曼光谱峰。我需要返回拟合参数(位置、幅度、HWHM)。

我使用了 modul lmfit 来创建一个带约束的洛伦兹峰。

根据我的图形图,我在拟合峰值和原始数据之间有很好的一致性。但是在拟合提取参数时,我有一个问题,程序只返回初始值。

我绑定了“report_fit 模块”并更改了初始参数但没有成功。参数值不会演变。

困扰我的是,这个程序可以在我同事的电脑上运行,但不能在我的电脑上运行。所以问题可能来自我的python版本。

我正在使用 spyder 2.3.9,以及在 windows 10 下安装了 anaconda 的 python 3.4。lmfit 模块 0.9.3 似乎可以部分工作,因为我可以获得一个很好的拟合协议(来自图 plt.plot)。但是我无法在拟合后返回参数值。


这是我的代码:

谢谢你的帮助 :)

一个工作适合的例子

请将您的回复发送至 deniz.cakir@etu.umontpellier.fr

0 投票
1 回答
33 浏览

matplotlib - 用模型的前缀注释拟合的峰

所以现在我有一个拟合例程,可以将复合模型拟合到数据集。它会在 matplotlib 上返回这样的图表。有没有办法用复合模型中的单个模型的前缀来注释每个峰?

谢谢!

顶部需要注释的拟合峰

0 投票
1 回答
5518 浏览

python - ValueError:输入包含 nan 值 - 尽管输入不包含 NaN,但来自 lmfit 模型

我正在尝试使用 lmfit (链接到文档)构建模型,但我似乎无法找出为什么我ValueError: The input contains nan values在尝试拟合模型时不断得到一个。

产生以下错误:

但是,以下对 NaN 的检查结果证实我的数据中没有 NaN 值:

到目前为止,我已经尝试将 1 和/或两者datatime列表转换为numpy ndarrays,删除第 0 个时间步(以防除以 0 错误),明确指定t为独立并允许所有变量变化。然而,这些都抛出相同的错误。

有谁知道是什么导致这个错误被抛出?谢谢。

0 投票
1 回答
1807 浏览

python - 如何拟合具有共享和非共享参数组合的多个数据集

我正在尝试拟合多个数据集,这些数据集应该有一些变量在数据集之间共享,而其他变量则不是。但是我不确定我需要采取哪些步骤来做到这一点。下面我展示了我正在尝试使用的方法(从“问题从这里开始”不起作用,它只是为了说明目的)。

在这个答案中,有人能够共享参数arcoss数据集是否有某种方式可以调整,以便我也可以拥有一些非共享参数?

有人知道我如何实现这一目标,或者有人可以提出更好的方法来实现相同的结果吗?谢谢。

0 投票
1 回答
2436 浏览

python - 使用 LMFIT Python 进行三边测量

我正在尝试出于三边测量的目的执行非线性最小二乘拟合 LMFIT:

  • LMFIT
  • 信标包括信标位置 x,y,z
  • Parameters()包括Xinit要估计的位置。
  • tag_distances[i]包括测量值(从标签到 的距离beacon[i]

我收到此错误:

raise TypeError('Improper input: N=%s must not超过 M=%s' % (n, m)) TypeError: Improper input: N=3 must not超过 M=1

0 投票
1 回答
866 浏览

python - 曲线拟合参数的约束

我试图在我的二次曲线拟合过程中施加界限和约束。目标是找到系数a,bc。对 b: 施加约束delta-2*a*x是我的疑问。如何x在我的约束中添加变量。可操作的代码:

谢谢 !

编辑:我改变了变量,使这个程序工作。但不确定这是否是应用约束的正确方法。

编辑 2:添加了必要的约束: c <=0, a>0 和 2*a*x+b >= 0 ;

0 投票
1 回答
453 浏览

python - Python, Lmfit, globalfit

我正在尝试使用 1 个共享参数和 6 个其他参数进行全局拟合。dataComplete 是我从文本文件和剂量 = x 值解析的数据。在这里,bValue 随浓度变化而其他保持不变。在进行全局拟合之前,会使用参数进行一些计算。我收到两个错误

1:nan 值和 2:TypeError:输入不当:N=35 不得超过 M=22

我检查了各个元素,它们似乎有效,但不是全局适合。任何帮助都感激不尽。我尝试使用此处先前解决的示例中的代码,但显然有问题。