La variable de código en la función nlm ()

9

En R hay una función nlm () que realiza una minimización de una función f usando el algoritmo Newton-Raphson. En particular, esa función genera el valor del código variable definido de la siguiente manera:

codifique un número entero que indique por qué terminó el proceso de optimización.

1: el gradiente relativo es cercano a cero, la iteración actual es probablemente la solución.

2: iteraciones sucesivas dentro de la tolerancia, la iteración actual es probablemente la solución.

3: el último paso global no pudo ubicar un punto más bajo que el estimado. O la estimación es un mínimo local aproximado de la función o el esteptol es demasiado pequeño.

4: límite de iteración excedido.

5: tamaño de paso máximo stepmax excedió cinco veces consecutivas. O la función no está limitada a continuación, se vuelve asintótica a un valor finito desde arriba en alguna dirección o stepmax es demasiado pequeño.

¿Puede alguien explicarme (quizás usando una ilustración simple con una función de una sola variable) a qué situaciones corresponden 1-5?

Por ejemplo, la situación 1 podría corresponder a la siguiente imagen:

ingrese la descripción de la imagen aquí

¡Gracias de antemano!

ocram
fuente

Respuestas:

8

Estas situaciones se entienden más claramente cuando se tiene en cuenta qué es realmente la minimización o maximización y cómo funciona la optimización.

FX0 0XyoX0 0F

yo

XX0 0F(X)>F(X0 0)F(Xyo)>F(Xyo-1)

FX0 0F(X0 0)=0 0F(Xyo)0 0Xyo

XyoX0 0XyoXyo+1yoEl |Xyo-Xyo-1El |<εXyoX0 0

Las secuencias convergentes tienen la propiedad de que se contraen, es decir, si estamos cerca de la convergencia, todos los elementos restantes de la secuencia están contenidos en un área pequeña. Entonces, si la secuencia que en teoría debería converger comienza a dar grandes pasos, esto es una indicación de que probablemente no hay convergencia. Esto corresponde a la situación 5

Nota Las definiciones matemáticas estrictas se omitieron intencionalmente.

mpiktas
fuente