如何解决在 f(0) == min(ydata) 约束下的逻辑曲线拟合
我想执行一个受约束的逻辑曲线拟合,我可以同时计算上渐近线和下渐近线的水平。以下函数允许这样做
def func(x,U,L,k,x0):
return L + (U - L) / (1 + np.exp(-k*(x - x0)))
其中U
是上渐近线,L
是下渐近线,k
是最大增长率,x0
是最大增长率的x位置率。
尽管我可以严格限制 L 和 U 可以取的值(通过 bounds
参数 scipy.optimize.curve_fit
),但我无法控制函数达到这些值的 x 值.例如,请参阅:
我意识到上面的逻辑函数无法正确描述这里的不对称(我有更高级的模型,参数更多,效果很好)。但是,如果我可以施加 f(0) = min(ydata)
的约束,我很想看看拟合曲线的样子。显然,由于增加了约束,拟合会更糟,但让我们忽略这一点。
有没有办法用 `scipy` 强加这样的约束?
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。