我有一组 x、y 点,我想找到最适合的线,使该线低于使用 SciPy 的所有点。我正在尝试为此使用 minimumsq,但我不确定如何将线调整为低于所有点而不是最佳拟合线。最佳拟合线的系数可以通过以下方式产生:
def linreg(x, y):
fit = lambda params, x: params[0] * x - params[1]
err = lambda p, x, y: (y - fit(p, x))**2
# initial slope/intercept
init_p = np.array((1, 0))
p, _ = leastsq(err, init_p.copy(), args=(x, y))
return p
xs = sp.array([1, 2, 3, 4, 5])
ys = sp.array([10, 20, 30, 40, 50])
print linreg(xs, ys)
输出是最佳拟合线的系数:
array([ 9.99999997e+00, -1.68071668e-15])
如何获得低于所有点的最佳拟合线的系数?