Я хочу минимизировать следующее уравнение, изменяя параметры B0, B1, B2, B3, T1, T2.Переменная у просто еще одна переменная для вычисления целевой функции.Мне просто нужна помощь, чтобы минимизировать эту функцию (используемую как целевую функцию) путем изменения параметров, но я не могу получить результаты.Я попробовал с scipy, но я не изменил параметры.Запустив функцию, я получаю желаемый результат:
funcion_opt(B0, B1, B2, B3, T1, T2)
output: 64.30571361326217
Но когда я минимизирую, я получаю следующий результат:
res = optimize.minimize(funcion_opt, parameters, args=(beta0, beta1, beta2,
beta3, tau1, tau2))
output: funcion_opt() takes 6 positional arguments but 7 were given
Я знаю, что ошибкаспособ ввести параметры и там, где мне нужна помощь.Извините, если это не совсем понятно.
Небольшой пример моей проблемы:
y = np.array([98.494500, 97.828500, 97.610000, 97.314000, 97.014500,
92.959000, 96.696222])
def objective(b0, b1, b2, b3, t1, t2):
return (y * b0 + b1) - ( y * b2 + b3) + t1 + t2
x0 = np.array([0.03, -0.03, 0, 0, 1, 1]) #Initial values of b0, b1...
result = minimize(objective, x0, args=(b0, b1, b2, b3, t1, t2))
Я знаю, что входные данные в функции неправильные, переменные, которые являются постоянными, это y, и я хочуизменить значения параметров b0, b1, b2, b3, t1, t2.Поэтому мне нужна функция минимизации, которая возвращает функцию и, настраивая параметры, минимизирует ошибку.Так что, возможно, ошибка в настройке целевой функции.
Это фиктивная функция, оригинальная - сумма квадратичных ошибок.После этого мне нужно минимизировать функцию tat, изменяя значения параметров внутри возвращаемых b0, b1, b2, b3, t1, t2, потому что в функции эти параметры установлены как.Коэффициент дисконтирования не имеет значения. Мне просто нужно, как изменить параметры на те, которые минимизируют целевую функцию:
Когда я пытаюсь минимизировать, получаю вывод, что ошибка та же, а параметры не изменились.Любая помощь с этим будет высоко ценится.Заранее спасибо.