nlm число вычислений функции за итерацию?

Я использую nlm, чтобы максимизировать вероятность в R. Я хотел бы предсказать количество оценок правдоподобия и прервать, если задача может занять слишком много времени. nlm возвращает количество «итераций» (обычно 10-20), и я полагаю, что каждая итерация включает одну числовую оценку гессиана. Время для каждой итерации (Гессиана?) зависит от количества параметров. Поэтому я хотел бы знать: какова общая связь между количеством параметров и количеством вычислений функции на итерацию в nlm?


person user3291798    schedule 04.11.2019    source источник


Ответы (1)


Вопрос очень общий, как и мой ответ.

Из ссылки nlm:

Если значение функции имеет атрибут, называемый градиентом, или атрибуты градиента и гессиана, они будут использоваться при расчете обновленных значений параметров. В противном случае используются численные производные. deriv возвращает функцию с подходящим атрибутом градиента и, необязательно, атрибутом гессиана.

Если вы предоставляете градиент и гессиан для минимизируемой функции, каждая итерация включает два вычисления функции. Если этого не сделать, гессиан и градиент рассчитываются численно. Исходный код можно найти здесь< /а>. Насколько я понимаю, параметры функции R nlm влияют только на количество итераций до сходимости, но не влияют на способ численной оценки градиентов.

person slava-kohut    schedule 05.11.2019
comment
Чтобы было ясно, я оцениваю градиенты численно, а «количество параметров» — это длина вектора параметров p. - person user3291798; 06.11.2019