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

python - 在 Python 中实现 Stata 的“nl”包(非线性最小二乘)

有谁知道是否有Stata nl(非线性最小二乘)包的实现Python?我尝试使用lmfit以及optimize.leastsqfrom scipy,但两者似乎都不起作用。

回归方程为

其中Y是因变量,x's是自变量,b's是要估计的系数。

使用该lmfit软件包,我尝试了以下操作:



结果,所有参数估计为NaN。谁能解释我做错了什么?或者,在 Python 中有没有很好的实现 Stata 的 nl ​​函数?非常感谢!

这是 CSV 文件中的数据:


x1,x2,x3,y
1981,15.2824955,14.56475067,2.936807632
1982,15.2635746,15.52343941,2.908272743
1983,15.30461597,16.30871582,2.940227509
1984,15.37490845,16.76519966,3.001846313
1985,15.41295338,17.04235458,3.030970573
1986,15.44680405,17.25271797,3.055702209
1987 ,15.48135281,17.44781876,3.081344604
1988,15.52259159,17.62217331,3.113491058
1989,15.5565939,17.71343422,3.138068199
1990,15.57392025,17.81187439,3.144176483
1991,15.57197666,17.89474106,3.128887177
1992,15.60479259,17.98217583,3.14837265
1993,15.63134575,18.06685829,3.161927223
1994, 15.67116165,18.16578865,3.18959713
1995,15.69621944,18.27449799,3.202876091
1996,15.7329874,18.38712311,3.228042603
1997,15.77698135,18.50685883,3.260077477
1998,15.81788635,18.63579178,3.289312363
1999,15.86141682,18.76427078,3.321393967
2000,15.89737129,18.89691544,3.34650898
2001,15.90485096,18.99729347,3.344522476
2002,15.92070866,19.06253433,3.351119995


0 投票
1 回答
1077 浏览

python - 在python中使用lmfit模块,如何调用模型中的参数?

在这段代码中,我想在 python 中调用“amp”、“shift”等参数。print(amp)..各种东西 拟合后如何在python中调用这些参数?当我使用 print(amp) 时,会显示错误消息;名称“amp”未定义。如何使用打印功能打印这些拟合参数?(等打印(放大器))

0 投票
1 回答
698 浏览

python - 如何在 lmfit 最小化中使用缺失数据点拟合数据?

例如我有数据:

其中 x 是 x 轴,y1, y2, y3 是三个不同的数据集,它们被拟合在一起。

为简单起见,以下是拟合代码的简化版本:

in minimize(objective, fit_params, args=(x, data)): datais data[y][z]: y - 数据集,z - 该数据集中的数据。并且x是 x 轴。

如何修改我的 python 脚本 lmfit 最小化以忽略丢失的数据点或重写我的脚本,以便每个数据都有自己的 x 轴?:

我也不能使用多个最小化拟合(脚本实际上比上面显示的更复杂),所以 first = minimum(objective, fit_params, args=(x1, y1)), second = minimize(objective, fit_params, args=(x2, y2 )) 不是有效的答案。

0 投票
1 回答
940 浏览

python - 在 python 中使用 lmfit 的数据本身的置信区间

在此处输入图像描述

这是参数置信区间的 LMFIT 实现的链接:http://lmfit.github.io/lmfit-py/confidence.html 是我正在使用的代码:

0 投票
1 回答
290 浏览

lmfit - 可以在lmfit中指定参数epsfcn来近似雅可比吗?

我想在 中指定选项的epsfcn值。可以指定值吗?leastsqlmfitepsfcn

0 投票
2 回答
1411 浏览

python - 曲线拟合参数界限

我有实验数据:

和公式f(x) = m1 + m2 / (1 + e ^ (-m3*(x - m4)))。我需要m1, m2, m3, m4用最小二乘法找到,其中 0.05 < m1 < 0.3 0.3 < m2 < 0.8 0.05 < m3 < 0.5 100 < m4 < 200。

我使用curve_fit,我的功能是:

但是程序返回错误:RuntimeError: Optimal parameters not found: Number of calls to function has reached maxfev = 1000.

该怎么办?

0 投票
1 回答
2280 浏览

python - 曲线拟合数据问题

无法正常工作并出现以下警告:

但适用于

Lmfit 也不起作用。

0 投票
1 回答
1573 浏览

python - 曲线拟合出现问题 - lmfit 无法正确拟合峰值数据

我对 python 和 lmfit 模型很陌生,遇到了一些麻烦。我想为我的实验数据拟合一个峰值函数(比如高斯或 Voigtian 轮廓),但它从来没有给我任何好的结果。它的最佳拟合是线性函数,它描述了我的峰轮廓的基线。

拟合过程的 x 数据只是从 0 到 100 的数字。这是我的 y 数据:

我尝试了以下具有不同模型函数(Gaussian、Voigtian 和 PseudoVoigtian)的方法:

完全相同的代码对于我创建的配置文件测试功能非常有效,所以我想它没有任何问题。但是对于真实的测量数据,无论我选择哪种剖面模型,它总是给出一个线性函数。这是一个例子:

我使用以下方法进行了另一次尝试,但在这里,它根本不适合某些东西,我只得到了 nan 值,尽管它适用于我的高斯测试函数:

我试图用原点拟合数据,它肯定有效(所以数据不是'不合适'),但我怎样才能用 python 正确地做到这一点?你有没有其他我可以尝试的方法或我可以初始化的东西来使它工作?

0 投票
2 回答
521 浏览

python - 曲线拟合仍有问题

我已经就这个主题提出了一个问题,但我不确定是否应该在此处发布,所以我在这里提出了一个新问题。

拟合两个或更多峰时我又遇到了麻烦。第一个问题出现在计算的示例函数上。

我尝试了两种不同的方法,我在文档中找到,如下所示(针对我的数据进行了修改),但都给了我错误的拟合数据和混乱的图表(我猜每个拟合步骤只有一行)。

第一次尝试:

当我包含“分数”参数时,我经常得到

虽然它应该被定义。我也用这种方法得到了真实数据的这个错误。

第二次尝试:

所以结果看起来像这样,在这两种情况下。它似乎绘制了所有拟合尝试,但从未正确解决它。最佳拟合参数在我给出的范围内。

在此处输入图像描述

在此处输入图像描述

有人知道这种类型的错误吗?或者对此有什么解决方案?有谁知道如何避免使用这些方法NameError调用模型函数lmfit

0 投票
1 回答
118 浏览

python - 如何在 lmfit 中抑制“添加参数”的打印

如何在以下代码中禁止打印“添加参数”

谢谢。