Я пытаюсь вызвать scipy.optimize.minimize
, чтобы минимизировать функцию poissonNegLogLikelihood
, которая определяется следующим образом:
def poissonNegLogLikelihood(lam, y):
Computes the negative log-likelihood for a Poisson random variable.
Inputs:
lam - float or array. Parameter for the poisson distribution.
y - float or array. Observed data.
Outputs:
log_lik - float. The negative log-likelihood for the data (y) with parameter (lam).
Y = np.atleast_1d(y)
LAM = np.atleast_1d(lam)
log_lik = -np.sum(np.multiply(Y,np.log(LAM)) - gammaln(Y+1) - LAM)
return log_lik
Эта функция работает нормально, но когда я пытаюсь использовать ее в качестве ввода для scipy.optimize.minimize
вернуть [инф].Вот как я это передаю:
data = np.array([1.0])
betas = np.array([0])
minimize(poissonNegLogLikelihood,betas,args=(data),jac=False)
Я неправильно использую функцию scipy.optimize.minimize
?