问题标签 [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.
python - 在 Python 中实现 Stata 的“nl”包(非线性最小二乘)
有谁知道是否有Stata nl
(非线性最小二乘)包的实现Python
?我尝试使用lmfit
以及optimize.leastsq
from 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
python - 在python中使用lmfit模块,如何调用模型中的参数?
在这段代码中,我想在 python 中调用“amp”、“shift”等参数。print(amp)..各种东西 拟合后如何在python中调用这些参数?当我使用 print(amp) 时,会显示错误消息;名称“amp”未定义。如何使用打印功能打印这些拟合参数?(等打印(放大器))
python - 如何在 lmfit 最小化中使用缺失数据点拟合数据?
例如我有数据:
其中 x 是 x 轴,y1, y2, y3 是三个不同的数据集,它们被拟合在一起。
为简单起见,以下是拟合代码的简化版本:
in minimize(objective, fit_params, args=(x, data))
:
data
is 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 )) 不是有效的答案。
python - 在 python 中使用 lmfit 的数据本身的置信区间
这是参数置信区间的 LMFIT 实现的链接:http://lmfit.github.io/lmfit-py/confidence.html这 是我正在使用的代码:
lmfit - 可以在lmfit中指定参数epsfcn来近似雅可比吗?
我想在 中指定选项的epsfcn
值。可以指定值吗?leastsq
lmfit
epsfcn
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.
该怎么办?
python - 曲线拟合数据问题
无法正常工作并出现以下警告:
但适用于
Lmfit 也不起作用。
python - 曲线拟合出现问题 - lmfit 无法正确拟合峰值数据
我对 python 和 lmfit 模型很陌生,遇到了一些麻烦。我想为我的实验数据拟合一个峰值函数(比如高斯或 Voigtian 轮廓),但它从来没有给我任何好的结果。它的最佳拟合是线性函数,它描述了我的峰轮廓的基线。
拟合过程的 x 数据只是从 0 到 100 的数字。这是我的 y 数据:
我尝试了以下具有不同模型函数(Gaussian、Voigtian 和 PseudoVoigtian)的方法:
完全相同的代码对于我创建的配置文件测试功能非常有效,所以我想它没有任何问题。但是对于真实的测量数据,无论我选择哪种剖面模型,它总是给出一个线性函数。这是一个例子:
我使用以下方法进行了另一次尝试,但在这里,它根本不适合某些东西,我只得到了 nan 值,尽管它适用于我的高斯测试函数:
我试图用原点拟合数据,它肯定有效(所以数据不是'不合适'),但我怎样才能用 python 正确地做到这一点?你有没有其他我可以尝试的方法或我可以初始化的东西来使它工作?
python - 曲线拟合仍有问题
我已经就这个主题提出了一个问题,但我不确定是否应该在此处发布,所以我在这里提出了一个新问题。
拟合两个或更多峰时我又遇到了麻烦。第一个问题出现在计算的示例函数上。
我尝试了两种不同的方法,我在文档中找到,如下所示(针对我的数据进行了修改),但都给了我错误的拟合数据和混乱的图表(我猜每个拟合步骤只有一行)。
第一次尝试:
当我包含“分数”参数时,我经常得到
虽然它应该被定义。我也用这种方法得到了真实数据的这个错误。
第二次尝试:
所以结果看起来像这样,在这两种情况下。它似乎绘制了所有拟合尝试,但从未正确解决它。最佳拟合参数在我给出的范围内。
有人知道这种类型的错误吗?或者对此有什么解决方案?有谁知道如何避免使用这些方法NameError
调用模型函数lmfit
?
python - 如何在 lmfit 中抑制“添加参数”的打印
如何在以下代码中禁止打印“添加参数”
谢谢。