问题标签 [scipy-optimize-minimize]

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 回答
2396 浏览

python - Difference between scipy.optimize.fmin and scipy.optimize.minimize

I'm learning python to make models these days. I read the documentation of scipy.optimize.fmin. It also recommends scipy.optimize.minimize. It seems that scipy.optimize.minimize is a more advanced method. Real wonder what's the difference between these two.

0 投票
0 回答
1352 浏览

python - scipy.optimize 最小化不一致的结果

从 scipy optimize 运行最小化函数时,我得到了一些非常奇怪的结果。

这是代码

跑步时

我得到2500x 的每个元素的分配。和fun: -14.164036415985395

通过快速检查,此分配[3800, 1200]给出-14.9

它对初始条件也高度敏感。

关于我做错了什么的任何想法

绘制的两个函数

UPDATE 它实际上返回初始条件。

如果我试试这个

返回的结果似乎很好(我已经改变了目标函数)

0 投票
0 回答
1024 浏览

python-3.x - 使用 scipy 最小化时出现未定义的名称错误

我正在尝试使用scipy.optimize.minimize(). 下面是我要执行的一段代码。

当我执行相同的操作时,我得到了

NameError:名称“j”未定义

我期望的结果是 j[0] 和 j[1] 的值以使函数值(sig2)接近于零

0 投票
2 回答
170 浏览

scipy - 多元最小化/拟合结果的置信区间

我有一组观察结果 [x(t), y(t)],我尝试将其拟合到某个假设:x=Fx(ax, bx, t), y=Fy(ay, by, t)。Fx 和 Fy 是线性的,但观测的噪声明显不是高斯的。

为此,我执行了自定义编写函数 F(ax, bx, ay, by, [observations]) 的最小化。我使用 scipy.optimize.minimize ,并通过最小化给定观察集的 F 来获取参数 ax、bx、ay 的值。

问题 1:我如何估计这些结果的 95% 置信区域,以便我可以看到答案是多么模糊或可靠?

我相信参数的值不是独立的,所以置信区域可能不是一个 4 矩形,而是最小点周围的解空间中的一些斑点。

问题 2:如果我将假设简化为线性形式:x=ax t + bx, y=ay t + by,观察噪声为 2d 高斯,python 中是否有任何现成的例程可以通过计算置信区间来进行拟合结果呢?

0 投票
1 回答
109 浏览

python - ctypes 数组不可调用

我想使用 scipy.optimize.minimize 函数。该函数包含来自需要 ctypes 数组的 DLL 的命令。目标是改变 ctypes 数组中的输入以优化也是 ctypes 数组的特定输出(参见下面的代码)。

0 投票
1 回答
220 浏览

python-3.x - 嵌入到 def 中时,参数不会传递到我的 scipy.optimize.minimize 函数中。他们不断返回“未定义”

感谢您的关注,我已经听取了建议并尽可能简化了代码以隔离故障。

最小化中使用的函数找不到我的频率或幅度断点。它似乎与将 getpaz() def 及其最小化函数嵌入另一个定义中有关。当我在主循环中使用最小化代码运行 Getpaz() 函数时,它会运行。当我创建定义(例如通道处理 def)时,它失败了。

应该运行以下代码,在 Jupyter Notebooks 以及在命令行中编译的 python 3.x 中重复该问题。问题是,最小化函数找不到我引用的变量“响应”或“频率”,即使它们明显存在。我不明白为什么最小化功能会失败。这个精彩的节目让我倒退了三个星期。我无计可施,试图弄清楚。

如果我采用定义 paztest_fixed() 并将其代码剥离并将其放入可执行循环中,它就会运行。有没有人了解导致它失败的原因以及我如何解决它?我真的需要一个定义,以便我可以为整个历史地震台站目录处理多个通道!

0 投票
1 回答
532 浏览

python-3.x - 回调函数在 scipy.optimize.minimize 类中引发错误

我正在使用 scipy.minimize 来解决优化问题。

这是我的代码

运行此程序时出现错误。

错误在于回调函数,它说

我哪里错了?

0 投票
1 回答
3170 浏览

python - Scipy.optimize.minimize 没有给出最小值,即使它看到了最小值

我正在使用 scipy.optimize.minimize 为我的目标函数找到最佳参数。

我的代码:

给出初始值后,我得到的最小值(res.fun)是-7.1。我正在创建一个列表(energy_history)来查看它是如何达到这个值的。我在该列表中看到一些小于 -7.1 的值,但为什么 -7.1 会作为最小值返回。

图片

目标函数多次达到 -21 的值,但为什么仍然返回 -7 作为最小值?

0 投票
1 回答
425 浏览

python - scipy.optimize.minimize results differ between Python 2.x-3.x

Basically, I have a nonlinear constrained problem using the SLSQP solver in scipy.optimize.minimize. Unfortunately, the problem (same file, same code) is returning different results on different computers (one Windows, one Linux). The scipy version is the same (1.2.1). Here is my code:

The Windows machine yields:

I believe these results are locally optimal and I can verify the same output with fmincon in MATLAB.

However, the Linux machine yields:

Clearly, the optimizer is getting stuck in the Linux computer. What could be causing this? My only guess is that there's some precision within numpy that's throwing off the numbers.

0 投票
1 回答
87 浏览

python-3.x - 包含循环的函数优化问题

我在优化包含循环的函数时遇到问题。我从lista=[0.002,0.006,0.003,0.02,0.008,0.006,0.05] 浮点数和间隔 `(0,k*0.0025),(0.005,k*0.005),(0.005,k*0.0125) 开始,其中上边界取决于。因此,根据列表的浮点数属于哪个区间,我将值 k*0.005、k*0.01、k*0.025 和 k*0.05 之一分配给函数,这些值也取决于 k。

我想最小化,使得或k值的总和(新标量函数)等于 0.32。assign(k)sum(assign(k))

我使用scipy.optimize程序来做到这一点。我的约束是constraint=sum(assign(k))-0.32和目标函数 iz fun(k)=k。所以,我最小化k以满足约束。

我得到k=1.1999这是一个奇怪的结果,它不满足约束。应该是2因为sum(assign(2))=0.52。我还收到一条错误消息:

有谁知道如何克服这个限制?先感谢您!