scipy.optimize.minimize returning [inf] - PullRequest
       20

scipy.optimize.minimize returning [inf]

0 голосов
/ 24 сентября 2019

Я пытаюсь вызвать 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?

1 Ответ

1 голос
/ 24 сентября 2019

Вы вычисляете np.log(LAM = beats = [0]) в poissonNegLogLikelihood(), а log(0) равно -inf.Поэтому мне кажется, что ваша первоначальная догадка betas является проблемой.Вы должны проверить с адекватными значениями.

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