Está en la página 1de 23

Macroeconomı́a

Tema 3 - Introducción a Métodos Numéricos

Miguel Angel Cabello1

1 Banco Central de Reserva del Perú

Septiembre 2023

MAC (BCRP) Macroeconomı́a Septiembre 2023 1 / 21


Introducción

Caracterizar modelos a través de condiciones de equilibrio o condiciones


de primer orden útil para entender funcionamiento y obtener intuiciones
importantes.

Mientras más complejo y sofisticado el modelo, más complicado obtener


resultados analı́ticos.

Asimismo, actualmente muy relevante obtener medidas cuantitativas


de los modelos.

Dificultad: Modelos macro modernos son caracterizados por sistemas


de ecuaciones no-lineales.

MAC (BCRP) Macroeconomı́a Septiembre 2023 2 / 21


Búsqueda de Raı́ces

Tenemos el siguiente problema

f (x) = 0

con f : RK 7→ R.

El objetivo es encontrar x ? que satisface la ecuación anterior.

¿Cómo obtener la solución numérica?


Método de Bisección.
Método de Newton y cuasi-Newton.
Algoritmo de Broyden.

MAC (BCRP) Macroeconomı́a Septiembre 2023 3 / 21


Método de Bisección

Método simple.

Supuestos:
1 K = 1.
2 f (x) es continua y cerrada en [a, b].
3 f (a)f (b) < 0.

¿Qué garantiza el funcionamiento del algoritmo? Teorema del Valor


Intermedio.

MAC (BCRP) Macroeconomı́a Septiembre 2023 4 / 21


Método de Bisección

Algoritmo
n representa la iteración.  criterio de convergencia. Asumir f (a) < 0 y
f (b) > 0.
1 Empezar con n = 1, an = a y bn = b.
an +bn
2 Calcular punto medio del intervalo [an , bn ]: cn = 2 .

3 Cacular f (cn ):
3.1 Si |f (cn ) − 0| < , detener el algoritmo. x ? = cn .
3.2 Si |f (cn ) − 0| ≥ :
(a) Si f (cn ) < 0, volver a paso (2) con y actualizar an+1 = cn y bn+1 = bn .
(b) Si f (cn ) > 0, volver a paso (2) con y actualizar an+1 = an y bn+1 = cn .

MAC (BCRP) Macroeconomı́a Septiembre 2023 5 / 21


Método de Bisección

Figure: Ejemplo - Método de Bisección

MAC (BCRP) Macroeconomı́a Septiembre 2023 6 / 21


Método de Bisección: Comentarios

Robusto y estable: convergencia asegurada.

No necesita cálculo de derivadas.

Ineficiente porque no explota información de la pendiente. Lento.

Sólo para problema uni-dimensional.

MAC (BCRP) Macroeconomı́a Septiembre 2023 7 / 21


Método de Newton

Basado en aproximación de primer orden alrededor de punto xn :

f (x) ≈ f (xn ) + f 0 (xn )(x − xn )

Necesario que f (x) diferenciable en todo su dominio.

Si x ? resuelve f (x) = 0, entonces:

f (xn )
x ? = xn −
f 0 (xn )

Regla de actualización.

MAC (BCRP) Macroeconomı́a Septiembre 2023 8 / 21


Método de Newton

Algoritmo
1 Inicio (n = 1): punto inicial (guess) xn .
2 Calcular f (xn ) y revisar:
(a) Si |f (xn )| < : parar y x ? = xn .
(b) Si |f (xn )| ≥  ir al siguiente paso.
3 Actualizar
f (xn )
xn+1 = xn −
f 0 (xn )
e ir al paso (1). Continuar hasta converger.

MAC (BCRP) Macroeconomı́a Septiembre 2023 9 / 21


Método de Newton

Figure: Ejemplo - Método de Newton

MAC (BCRP) Macroeconomı́a Septiembre 2023 10 / 21


Método de Newton: Comentarios

Convergencia rápida.

Método de Newton implica resolver problema de punto fijo:

g (x) = x
f (x)
con g (x) = x − f 0 (x) .

Teorema de punto fijo de Banach: Solución al problema anterior re-


quiere
f (x)f 00 (x)
g 0 (x) = ≤q<1
(f 0 (x))2

f 0 (xn ) 6= 0 para cualquier n.

Convergencia depende de cuán cerca está el punto inicial de la solución.


Problemático cuando el problema es de más de 2 dimensiones.
MAC (BCRP) Macroeconomı́a Septiembre 2023 11 / 21
Optimización

Tı́pico problema:
max f (x)
x∈[a,b]


max f (x)
x∈[a,b]n

Opción 1: Si f (x) es diferenciable y cóncava (o convexa) convertir en


problema de búsqueda de zero con g (x) = f 0 (x) = 0.
Opción 2:
1 Bracketing.
2 Newton Multivariable.

MAC (BCRP) Macroeconomı́a Septiembre 2023 12 / 21


Bracketing

Algoritmo
Diseñado para resolver problema de minimización.
0 Iniciar: Encontrar a < b < c tal que f (a), f (c) > f (b).
1 Elegir d ∈ (a, b) y calcular f (d).
2 Cambiar la tripleta (a, b, c) de acuerdo a:
Si f (d) > f (b): nueva tripleta es (a0 , b 0 , c 0 ) = (d, b, c).
Si f (d) < f (b): nueva tripleta es (a0 , b 0 , c 0 ) = (a, d, b).
3 Si c − a < , detener el algoritmo y mı́nimo se encuentra en [a, c]. De
lo contrario, seguir con (1).

MAC (BCRP) Macroeconomı́a Septiembre 2023 13 / 21


Método de Newton Multivariable

Aproximación de segundo orden de función objetivo f (x) con x ∈ Rn :

1
f (x) ≈ f (x n ) + ∇f (x n )0 (x − x n ) + (x − x n )0 H(x n ) (x − x n )
2

Fórmula de actualización multivariable

x n+1 = x n − H(x n )−1 ∇f (x n )

¿Por qué?
Con esto: f (x n+1 ) ≈ f (x n ) − 12 (x − x n )0 H(x n ) (x − x n )
Como H(x n ) es positiva definida, el algoritmo se mueve en la dirección
”correcta”.

MAC (BCRP) Macroeconomı́a Septiembre 2023 14 / 21


Método de Newton Multivariable

Método anterior costoso computacionalmente porque implica computar


H(x n ).

Alternativa 1: reemplazar H(x n ) por I (steepest descent).

Alternativa 2: reemplazar H(x n ) por ∇f (x n )∇f (x n )0 (método BHHH).

Alternativa 3: reemplazar H(x n ) por

h(x n )h(x n )0 Bn ∆x n ∆x n 0 Bn0


Bn+1 = Bn + −
h(x n )0 ∆x n ∆x n 0 Bn ∆x n

con B0 una matriz identidad escalada. Método BFGS.

MAC (BCRP) Macroeconomı́a Septiembre 2023 15 / 21


Iteración de Función de Valor

Considere un problema (de crecimiento) como:

F (c, l) + βEz,k (k 0 , z 0 )

V (k, z) = max
0c,k ,l

con c + k 0 = f (k, l; z) + (1 − δ)k y z 0 = ρz + ε0 .

Recordar que se busca: gc (k, z), gk 0 (k, z) y gl (k, z).

Hemos visto en tema anterior: podemos iterar sobre V (k, z).


(k, z) son (analı́ticamente) continuas. Solución: discretización.
Método de Tauchen.

MAC (BCRP) Macroeconomı́a Septiembre 2023 16 / 21


Método de Tauchen: Discretización de AR(1)
σε2
Si z 0 = ρz + ε0 , entonces: Var (z) = 1−ρ2
.

N número de posibles valores para z (tamaño de grid). zN valor


máximo del grid. p
zN = m Var (z)
con m entero positivo. z1 = −zN valor mı́nimo del grid.

{z1 , z2 , . . . , zN } equidistantes.

Probabilidades de transición: d = yi − yi−1


 
z1 − ρzi + d/2
πi,1 = Φ
σε
   
zj − ρzi + d/2 zj − ρzi − d/2
πi,j = Φ −Φ
σε σε
 
zN − ρzi − d/2
πi,N = 1 − Φ
σε
MAC (BCRP) Macroeconomı́a Septiembre 2023 17 / 21
Discretización de Capital

Igual que antes: grid equidistante de N puntos. k1 , kN > 0 valores


fijos.
ki = k1 + (i − 1) ∗ ∆k
kN −k1
con ∆k = N−1 .

Un grid más denso alrededor de k1 :


h i
˜
ki = k1 + exp (i − 1) ∗ ∆k

˜ = log(kN −k1 )
con ∆k N−1 .

¿Cómo elegir k1 y kN ? Obtener kSS estado estacionario y hacer:

0 < k1 < kSS < kN

MAC (BCRP) Macroeconomı́a Septiembre 2023 18 / 21


Valores para Trabajo

La tripleta (k, k 0 , z) es representada (de forma discreta) por tripleta


(ki , kj , zs ). La condición intratemporal es:

uc (f (ki , l, zs ) + (1 − δ)ki − kj ) f (ki , l, zs ) = −ul

LD es creciente en l, LI es decreciente en l.

l = 0 y l = 1 descartados.

Bisección para hallar l que resuelve condición anterior: l(ki , kj , zs ).

MAC (BCRP) Macroeconomı́a Septiembre 2023 19 / 21


Procedimiento de Iteración de Función de Valor
Algoritmo
Nk tamaño de grid para capital. Nz tamaño de grid para z.
1 Matriz 3D de dimensión (Nk , Nk , Nz ) con elemento tı́pico (ki , kj , zs ),
contiene valores para función de retorno:

R(ki , kj , zs ) = u (f (ki , zs ) + (1 − δ)ki − kj , l(ki , kj , zs ))


u(f (ki ,zs .l ? )−δki ,l ? )
2 Iniciar con función V0 (ki , zs ) = 1−β .
3 Iterar utilizando:
Nz
( )
X
Vn+1 (ki , zs ) = max R(ki , kj , zs ) + β (πss 0 Vn (kj , zs 0 ))
j
s 0 =1

4 Si kVn+1 − Vn k < , detener procedimiento. De lo contrario, continuar


con (3) usando ahora Vn+1 .
MAC (BCRP) Macroeconomı́a Septiembre 2023 20 / 21
Iteración de Función de Valor

Verificar que el tamaño de grid no influye en las policy functions. Re-


lajar los lı́mites para el grid de k

Robusto a cambios en el error de tolerancia.


Probar diferentes  hasta que las funciones de valor y de polı́tica sean
muy insensibles a los cambios en el error.

Revisar que el tamaño de grid sea ”denso”.


¿Incrementar el número de puntos en el grid cambia mucho los resulta-
dos?
Probar diferentes valores de Nk y Nz hasta que soluciones sean insensibles
a este valor.

MAC (BCRP) Macroeconomı́a Septiembre 2023 21 / 21

También podría gustarte