问题标签 [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 回答
3578 浏览

python-2.7 - Python lmfit 自定义模型:设置固定参数并分配前缀

我对lmfit包中的参数有 2 个问题。

1.

有没有办法为自定义模型预设参数值?

例如。

例如,在倒数第二行中,amp=2000初始化参数amp。如果我想在内置模型中修复这个参数(例如这个):

问题 1

是否可以在自定义模型的行或其他地方将参数的值固定amp为 2000 ?mod.fit()

2.

我正在尝试为自定义复合模型分配前缀,如下所示:

当我尝试上述行时,我得到了:

如果有很多自定义模型,那么初始化其中的所有参数mod.make_params()(如我在上面的 1. 中所示)可能会很乏味。该问题似乎在此处讨论(1 , 2),但它们并没有真正说明如何为复合模型的单独组件实际分配前缀。

问题2

是否可以为复合自定义模型分配前缀lmfit

0 投票
2 回答
8105 浏览

python - lmfit 拟合后提取拟合统计参数

这是一个关于从lmfit fit_report()( 1 ) 对象中提取拟合统计信息的问题

lmfit示例中,返回以下部分输出:

我试图将该Fit Statistics部分中的所有数量提取为单独的变量。

例如。要提取模型参数,我们可以使用 (per 1 , 2 ):

然而,这只给出了模型参数;它没有给出拟合统计参数,这些参数也很有用。我似乎在文档中找不到这个。

是否有类似的方法可以分别提取拟合统计参数(chi-squarereduced chi-squarefunction evals等)?

0 投票
1 回答
4754 浏览

python-2.7 - Python lmfit 在加权拟合后减少卡方太小

我正在lmfit使用带有以下代码的一些测试数据来运行 Python 2.7。1/y我需要权重为(使用 Leven-Marq. 例程)的加权拟合。我已经定义了权重并在这里使用它们:

输出是:

最后一行(就在此处上方,或紧接在 之前plt.plot(xd, yd, 'bo', label='raw'))是 R^2 并且结果拟合附在此处。在此处输入图像描述.

R^2 和输出的目视检查表明这是一个合理的拟合。我期待减少 1.00 阶的卡方(来源)。但是,减少的卡方值的返回值比 1.00 小几个数量级。

由于默认情况下没有权重并且lmfit我需要加权拟合,因此我已经定义了权重,但我认为我需要以不同的方式指定它们。我怀疑这种权重规范可能导致减少的卡方变得如此之小。

是否有不同的方法来指定权重或其他一些参数,以便曲线拟合后减少的卡方接近或等于 1.00 的大小?

0 投票
2 回答
426 浏览

python - lmfit - best 和 init fit 与报告不对应

我正在尝试使用 Python 库lmfit拟合数据。在数据中,有两个高斯函数,第二个(LO)高于第一个(TO)。代码如下:

我可以制作这个图表:

lmfit还生成以下报告:

起初,最终和初始 LO_amplitudes 与报告中的不对应(您可以看到,初始值为 2e4,但在图中至少为 5e4)。怎么来的?

其次,我期待合身会更好,而所有界限都已设定。

编辑 1 - 添加数据

我已经发布了完整的脚本,只有缺少的是加载数据:

以下是数据:

0 投票
1 回答
605 浏览

python - Non-linear fitting with weighted errorbars - Minimizer/scipy.curve_fit/model.fit

I am working on a Python fitting code for Michaelies-Menten, a non-linear equation, able to include weighted errorbars. At the moment I have tried using Minimizer and model.fit from lmfit. Though Minimizer does not include weighted errorbars and model.fit seems to be less statistical than Minimizer.
Is there a way to include weighted errorbars in Minimizer?
Would scipy.optimize.curve_fit be a better way to fit this code?
Or is there another fitting program that would be better?

My code is below

Hope you can help me! Cheers

0 投票
1 回答
118 浏览

python - 使用 lmfit LognormalModel 时出现 ValueError

我已经使用 lmfit 大约一天了,不用说我对图书馆知之甚少。我一直在使用几个内置模型进行曲线拟合,除了对数正态模型外,它们都可以完美地处理数据。

这是我的代码:

错误输出是:

0 投票
0 回答
398 浏览

python - 非线性磁模型拟合 - 使用 scipy.integrate.quad 和 lmfit

我想使用包括朗之万函数和对分布函数 [ 1 ]的磁模型来拟合具有超顺磁行为的磁滞曲线。为了适应这个方程,我必须求解一个定积分。我试图为此目的使用 scipy.integrate.quad 和 lmfit 的功能,但我没有得到 - 至少 - 来模拟合理的曲线(参见下面的代码)。可以用来模拟这个方程的一些实际物理参数是:Dm = 3.2E-9 m,w = 0.26,NT = 1.7E12,kB=1.38E-23 J/K 和 T=300K。使用此值进行模拟必须产生超顺磁曲线,如下面的链接中包含的那样。我将不胜感激任何使此代码工作并改进它的建议。

朗之万方程与 PDF

www.dropbox.com/pri/get/superpara.dat?_subject_uid=197016565&w=AADkHqW1w-gE9pQkG0oLoE7tNG1J-rWxN0lcIM9ioXWiLA

0 投票
1 回答
2619 浏览

python - Python - 使用 lmfit 将高斯拟合到噪声数据

我正在尝试对这些数据进行高斯拟合

我已经尝试了Python gaussian fit on simulation gaussian noise dataFitting (a gaussian) with Scipy vs. ROOT et al中给出的示例 ,但没有运气。

我正在寻找这样做,lmfit因为它有几个优点。这个尝试是按照lmfit文档完成的,这里是代码和情节

在此处输入图像描述

所以绿色是与初始参数的拟合,蓝色是最好的拟合,正如你所看到的,我得到一个从我的点和一条直线偏移的高斯。

此外,我的数据的第三行是 y 轴上的误差。在拟合数据时如何考虑错误lmfit

0 投票
0 回答
109 浏览

python - 为什么我的代码在 Mathematica 中运行良好,但在翻译成 python 时却不起作用?

我正在尝试模拟一个非常用于分析磁性材料的模型。最初,我用python写了这段代码,但没有得到结果;然后,我决定使用 Mathematica 进行相同的模拟 [ 1 ] 并且它似乎工作正常,至少它显示了与预期相似的曲线,但是当它被转换为 python 时(使用 lmfit 包和 scipy.integrate.quad)它只显示一条线。我还应该考虑什么才能让它在 python 中正常工作?

数学代码

这是我所拥有的:

任何帮助,将不胜感激。谢谢!

0 投票
3 回答
436 浏览

python - 使用 lmfit minimize 在 3D 点的数据集上拟合 3D 线

我正在使用 lmfit minimize 在 3D 点的数据集上拟合 3D 线。

错误是 TypeError: Improper input: N=4 must not超过 M=1。

我知道这是因为只有 1 个残差(距离)和 4 个参数,但这正是我所需要的。我想优化 4 个参数以获得最小的距离总和。