如何找到大于我所有数据点的最小线性函数?

How to find the smallest linear function that's greater than all my datapoints?

我想找到最少的 y = mx + b 这样 y > f(x).

基本上,我已经得到了蓝色的数据,我想找到红色的函数:

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

此外,我正在使用 Java,但问题应该足够普遍,所以这无关紧要。

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

这可以做到,例如使用名为 "Constrained Optimization BY Linear Approximation (COBYLA)" 的方法。 Scipy 有一个 FORTRAN 实现的 python 包装器。您可以指定任意数量的约束函数,例如强制拟合始终大于数据。