我有一组点x,y
,我试图使其符合二次关系,
y = ax^2 + bx + c
我在a,b,c,
上也有一些等式约束,例如
b=-a*K ( where K is a constant)
解决此问题的最简单方法是什么?
好的,这就是我对此的努力:我可以定义一个错误函数并将约束定义为惩罚条款,并使用二次优化器,我很好奇,如果有人有一个更简单的方法。也许使用内置的东西,据我所知,没有标准的内置方法可以做到。
答案 0 :(得分:1)
如果您明确知道其他参数对其他参数的约束(如示例b=-a*K
中所示),则应在执行之前从模型中删除此参数(示例中为b
)配件。在您的示例中,我将模型编写为
y = a (x^2 - K x) +c
,
并调整参数a
和c
。这仍然是线性拟合,应该通过与y = a x^2 + b x + c
模型相同的拟合例程轻松解决。
您可能已经从实际问题中简化了示例。如果是这种情况,并且如果根据其他参数解决一个参数的约束并不容易,则可以引入拉格朗日乘数。关键词“约束优化”可能会对您有所帮助。