问题标签 [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 投票
2 回答
3164 浏览

lmfit - lmfit 中拟合参数的不确定性

我正在寻找在拟合参数中输出不确定性的最简单方法。使用 spo.curve_fit,我们只需在拟合时得到协方差矩阵,我们可以取对角线和平方根来找出不确定性。使用 lmfit 似乎并不那么简单。

我的配件看起来像这样:

当我生成拟合报告时,我会得到不确定性值,因此它们显然是在计算中的。我的问题是打电话给他们并使用他们。我尝试使用 stderr 打印参数的不确定性,就像上面最后一行代码一样,但这只是返回“无”。我可以得到一个协方差矩阵,但我不知道它是以什么顺序显示的。我的最终目标只是获得值和相关的不确定性,然后我可以将它们放入一个数组中并在我的代码中进一步使用。

0 投票
1 回答
372 浏览

lmfit - 如何理解基于 F 检验的 lmfit 置信区间

出色的 lmfit 软件包可让您运行非线性回归。它可以报告两种不同的配置间隔——一种基于协方差矩阵,另一种使用基于 F 检验的更复杂的技术。详细信息可以在文档中找到。我想深入了解他在这项技术背后的推理。我应该阅读哪些主题?注意:我有足够的统计知识

0 投票
1 回答
987 浏览

python - 在 ipython 中导入 lmfit 时出错

我在 ipython 中导入 lmfit 时遇到问题。

使用 python 2.7.9 运行 ipython 2.30:导入 lmfit 会产生两个错误:
1)

如果我尝试重新导入,该错误就会消失,我得到这个:

重新运行导入时 此错误不会消失。

如果我使用 ipython 而只是导入到普通的 python shell,我没有错误/问题。显然与 ipython 存在某种冲突!

有没有人看到类似的东西,或者可以指出我正确的方向来解决这个问题?马哈洛!

0 投票
1 回答
189 浏览

python - 使用具有共享参数的 lmfit 拟合多个函数,没有数据集 - 在 Python 中

我想从这 3 个函数中找到参数E_utau_max和。G

功能如下:

Function 1: 0=0.009000900090009*E_u*(0.000103939092728486*exp(1500000.0/tau_max) + 0.000157703794137242*exp(2999000.0/tau_max) + 0.00017784012*exp(4500000.0/tau_max) + 0.00025534696*exp(6000000.0/tau_max) + 0.00027086158*exp( 7500000.0/tau_max) + 0.000280826592271819*exp(9000000.0/tau_max) + 0.0004132622*exp(10501000.0/tau_max))*exp(-10501000.0/tau_max) + 1000000.0*G*(0.000467438377626028*exp(2999000.0/tau_max) + 0.00117770839577636*exp( 4500000.0/tau_max) + 0.00197826966391473*exp(6000000.0/tau_max) + 0.00312798328672298*exp(7500000.0/tau_max) + 0.00434787369844519*exp(9000000.0/tau_max) + 0.00561383708066149*exp(10501000.0/tau_max))*exp(-10501000.0/tau_max)/ tau_max

Function 2: 1.13624775718=0.09000900090009*E_u*(0.000103939092728486*exp(15000.0/tau_max) + 0.000157703794137242*exp(29990.0/tau_max) + 0.00017784012*exp(45000.0/tau_max) + 0.00025534696*exp(60000.0/tau_max) + 0.00027086158*exp( 75000.0/tau_max) + 0.000280826592271819*exp(90000.0/tau_max) + 0.0004132622*exp(105010.0/tau_max))*exp(-105010.0/tau_max) + 10000.0*G*(0.000467438377626028*exp(29990.0/tau_max) + 0.00117770839577636*exp( 45000.0/tau_max) + 0.00197826966391473*exp(60000.0/tau_max) + 0.00312798328672298*exp(75000.0/tau_max) + 0.00434787369844519*exp(90000.0/tau_max) + 0.00561383708066149*exp(105010.0/tau_max))*exp(-105010.0/tau_max)/ tau_max

Function 3: 1.13106678093=0.9000900090009*E_u*(0.000103939092728486*exp(150.0/tau_max) + 0.000157703794137242*exp(299.9/tau_max) + 0.00017784012*exp(450.0/tau_max) + 0.00025534696*exp(600.0/tau_max) + 0.00027086158*exp( 750.0/tau_max) + 0.000280826592271819*exp(900.0/tau_max) + 0.0004132622*EXP(1050.1/tau_max) 450.0/tau_max) + 0.00197826966391473*exp(600.0/tau_max) + 0.00312798328672298*exp(750.0/tau_max) + 0.00434787369844519*exp(900.0/tau_max) + 0.00561383708066149*exp(1050.1/tau_max))*exp(-1050.1/tau_max)/ tau_max

0 投票
1 回答
233 浏览

python - 将两个非线性模型拟合到数据中

按照中给出的示例lmfit,我正在尝试设置一个与我的问题类似的示例。我的问题最初是在我的数据中我可以拟合两个或三个模型,而我的模型是高度非线性的,但每个模型只有一个自由参数。

我的示例类似于lmfit文档:

得到的结果:

自由参数看起来完全不正确,但在最终结果图中,很明显它遵循数据的分布,但幅度并不完全正确

有什么建议可以修改代码以获得正确的结果吗? 在此处输入图像描述

0 投票
1 回答
648 浏览

python - lmfit 未按预期执行

我正在编写一个脚本,该脚本将用于将一些光致发光光谱与自定义模型拟合,在使用 SciPy 创建脚本后,我了解到如果 lmfit (cars9.uchicago.edu/software/) 设置拟合参数的界限要容易得多python/lmfit/intro.html) 被使用,所以我决定使用它。下面是我编写的一个脚本,用于将一个光谱与一个高斯函数拟合(使用 2 个高斯函数更好,但我想从一个更简单的情况开始)。

这将返回:

图表输出1

如果我将 pars.add_many() 更改为更接近自然的东西,例如:

我明白了:

图表输出2

帮助?

0 投票
1 回答
310 浏览

python - python lmfit:给定一个定义模型的离散值数组,如何用指定的不确定性值拟合相同长度的数据数组?

我有一个长度为 100 的单个数组的数据集和不确定性。我还有一个长度为 100 的“模型”数组。目标:仅优化该模型数组的一个参数(缩放幅度),以更好地拟合给定不确定性的数据。

到目前为止,我已经尝试过:

然后,我将最佳拟合值幅度与原始模型数组相乘:

然后,我在原始数据集上绘制拟合图,它看起来非常糟糕,我什至在靠近数据的任何地方都看不到模型。代码/算法有什么问题?

0 投票
1 回答
1818 浏览

python - 创建具有任意数量参数的 python lmfit 模型

有没有办法基于具有任意数量因变量的函数构建 lmfit 模型?例如:

如果我对多项式级数感兴趣并且想随着级数的增长或缩小来测试性能,那么与上述类似的东西会很棒。

0 投票
1 回答
1776 浏览

python - lmfit 中最小化()和残差()函数如何协同工作

我正在尝试在 Python 中实现运动结构,但无法真正理解这个最小化函数如何与我的残差函数完全配合。如果我传递一组参数来表示相机位置和观察点的位置,我的残差函数将如何处理它们?他们会逐行喂食吗(这将是逻辑)?但是当我从残差函数中打印输入时,我看到所有行都在那里。我还在我的残差函数中使用外部函数来进行四元数分解,他们似乎对 lmfit 一次呈现参数数组并不满意。

0 投票
2 回答
2588 浏览

python - 在 Python lmfit 中使用多个自变量

我正在尝试使模型适合某些数据。自变量称为AB,它们是 Pandas DataFrame 中的列。我试图适应y数据框中的两个参数。

以前,使用curve_fitScipy,我可以这样做:

但是现在,我正在使用lmfit,我不能像这样简单地“打包”自变量curve_fit

我怎么跑到model.fit()这里?常见问题解答并没有真正的帮助——我首先要展平什么?