2016-09-29 17 views
0

我想找到最少y = mx + b这样y > f(x)如何找到比我所有数据点都大的最小线性函数?

基本上,我已经得到了数据的蓝,我想找到的功能在红:

my data and the end result

效率,而不是完全准确,是很重要的。我试过线性回归,但是它给出了一个与数据相交的值。

此外,我使用的是Java,但问题应该足够普遍,因为这没关系。

红色函数会被调用什么,以及什么是计算它的有效方法?

+0

如果你可以对“最少线”做更精确的描述,这可能会有所帮助。例如,假设你的数据在中间有一个最大值。然后,通过最大值的水平线将高于您的所有数据,但您可以将其旋转一下以获得最大值,并且stil在数据上方有一行。其中哪一个是最低的? – dmuir

回答

1

这可以通过例如用一种称为“约束优化BY线性近似(COBYLA)”的方法。 Scipy有一个FORTRAN实现的python包装器。您可以指定任意数量的约束函数,例如强制该拟合始终大于数据。

相关问题