Как я могу использовать функцию optimize.minimize с дополнительными аргументами? - PullRequest
0 голосов
/ 05 сентября 2018

Это просто тестовая функция, которую я сделал. Учитывая список, если я могу добавить одно значение в список, какое значение минимизирует дисперсию списка?

from scipy import optimize

def var_func(x,observations):
    path_var=variance([x]+observations)
    return path_var


observations=[15,24,46,23,54]
var_func_bet=optimize.minimize(var_func,100,args=(observations))

Я успешно использовал optimize.minimize для функций с одним изменением с успехом, но здесь это не работает.

Попытка вышеуказанного кода дала мне ошибку:

TypeError: can't convert type 'ndarray' to numerator/denominator

1 Ответ

0 голосов
/ 05 сентября 2018

Используйте numpy.var для вычисления дисперсии и убедитесь, что вы передаете свои аргументы в виде кортежа (см. Комментарий hpaulj):

from scipy.optimize import minimize
import numpy as np

def var_func(x,observations):
    return np.var([x]+observations)


observations = [15,24,46,23,54]
var_func_bet = minimize(var_func, 100, args=(observations,))
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...