BFGS Алгоритм Нахождение практически хороших параметров, но не сходятся с scipy.minimize ()Python

Программы на Python
Ответить Пред. темаСлед. тема
Anonymous
 BFGS Алгоритм Нахождение практически хороших параметров, но не сходятся с scipy.minimize ()

Сообщение Anonymous »

Я оцениваю модель интервальной регрессии. Я написал свою функцию вероятности (см. Integ, Stata) как указано, и сравнил свои результаты с Stata. Я нахожу почти точно (в пределах 0,001) те же параметры, что и STATA, но алгоритм BFGS, кажется, все еще не сходится.

Код: Выделить всё

  message: Desired error not necessarily achieved due to precision loss.
success: False
status: 2
fun: 26435.40918822449
x: [ 7.379e+00 -6.967e-02 ...  2.149e-01  4.295e-01]
nit: 94
jac: [-4.883e-04  0.000e+00 ... -2.441e-04  4.883e-04]
hess_inv: [[ 3.566e-04 -7.314e-05 ... -1.261e-04 -1.775e-06]
[-7.314e-05  5.599e-05 ...  3.216e-05  5.660e-07]
...
[-1.261e-04  3.216e-05 ...  4.981e-04  1.297e-06]
[-1.775e-06  5.660e-07 ...  1.297e-06  8.380e-06]]
nfev: 4235
njev: 121

< /code>
Функция log-likelihood: < /p>
def log_likelihood(params, x, y_lower, y_upper):
beta = params[:-1]
sigma = np.abs(params[-1])

z_upper = (y_upper - np.dot(x, beta)) / sigma
z_lower = (y_lower - np.dot(x, beta)) / sigma

epsilon = 1e-10
ll_interval = np.sum(np.log(np.clip(norm.cdf(z_upper) - norm.cdf(z_lower), epsilon, None)))

log_likelihood = ll_interval

return -log_likelihood

< /code>
и команда, которую я использую для минимизации: < /p>
initial_params = np.concatenate([np.zeros(X.shape[1]), [1.0]])
result = minimize(log_likelihood, initial_params, args=(X, y_lower, y_upper), method='BFGS', options={'disp':True})

У кого -то есть представление о том, почему алгоритм, кажется, сходится, но все еще дает сообщение, что это не так?


Подробнее здесь: https://stackoverflow.com/questions/788 ... scipy-mini
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «Python»