Scipy.optimization не работает для моей функции log_likelihood. Какие еще функции / пакеты я могу использовать? - PullRequest
0 голосов
/ 28 мая 2020

enter image description here

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

Вот код:

def f(x):        
    LLH = -llh.log_likelihood(x[0], x[1], x[2], alpha=[x[3]], theta=[x[4]])          
    return LLH

x0 =  [9, 1, 0.7, 0.5, 0.7]

bds = ((1.5, 15), (1, 10), (1/2, 2), (-3, 5/3), (0, 1))

res = optimize.minimize(f, x0, bounds=bds, tol=1e-3)

print(res)

Пожалуйста, посмотрите результат на прикрепленном изображении. Я использовал алгоритм geneti c от Deap. Работает нормально. Но это слишком медленно и каждый раз дает разные результаты (как значение функции, так и оптимальные коэффициенты).

Что еще я могу использовать для оптимизации моей функции?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...