Scipy优化最小二维2D参数以优化

时间:2018-06-05 18:09:10

标签: python scipy 2d least-squares nonlinear-optimization

我有一个类似于python nonlinear least squares fitting的问题,除了我想要优化矢量和一些自由参数。

我已经习惯了scipy.optimize.curve_fit包装函数,但没有为我优化的向量提供函数形式。我需要最小化这个残差的平方和(使用乳胶符号,抱歉它不具有超级可读性):

\ sum_n [f_n - \ sum_N(a_N + b_N + DATA(n,N))]

现在,我的代码只是优化了f_n:

def residuals(fn, a, b, DATA):
    return fn - function(a, b, DATA)

def function(aN, bN, DATA):
    stuff = np.zeros(max_n)
    for N in range(len(DATA)):
            stuff += aN[N] + bN[N]*np.array(range(max_n)) + DATA[N]
    return stuff

bestfit_f_n = sp.optimize.leastsq(residuals,INITIAL_GUESS_FOR_f_n,args=(aN,bN, DATA), full_output=1)

但我想让a_N和b_N成为可以优化并返回的自由参数。

如果有更好的功能使用,我很高兴听到。现在,这可以线性优化,但我可能会在未来使用非常大的数据集,并且更喜欢非线性优化。

0 个答案:

没有答案