Scipy оптимизировать Leastsq 2D параметров для оптимизации - PullRequest
0 голосов
/ 05 июня 2018

У меня есть вопрос, похожий на Python, нелинейный метод наименьших квадратов , за исключением того, что я хочу оптимизировать вектор И некоторые свободные параметры.

Я привык к функции-обертке 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 были свободными параметрами, которые также должны быть оптимизированы и возвращены.

Если есть лучшая функция для использования, я был бы рад услышать.Прямо сейчас это может быть линейно оптимизировано, но я мог бы работать с очень большими наборами данных в будущем и предпочел бы нелинейную оптимизацию.

...