Notas de Clase: Machine Learning para
Macroeconomı́a y Finanzas
Josue Cox
January 10, 2023
MÓDULO 1 Modelos Univariados: Revisión
Referencias:
• Hyndman and Athanasopoulos (2018) [[Link]
1. Introducción:
• Este modulo tiene por objetivo la revisión de los modelos univariados.
Estudiaremos las caracterı́sticas importantes que presentan las series
de tiempo: tendencia, ciclo, estacionalidad, y lo restante (que no es
explicado por nuestro modelo estadı́stico). Nos concentraremos en cómo
usar los modelos univariados para hacer predicciones1 , cómo estimarlos
y cómo interpretar los resultados.
• El estudio de la predicción o el pronóstico de variables económicas es de
gran interés no solo en el ámbito académico, sino también en la formu-
lación de la polı́tica económica y en la industria. Por ejemplo, existen
estudios sobre la predicción del rendimiento de las acciones, de la in-
flación, del PIB. En el caso de la industria, las empresas requiren hacer
predicciones en muchas situaciones, como por ejemplo, construir o no
una nueva planta depende de la demanda futura que enfrentará la em-
presa, el número de trabajadores en un call center requiere la predicción
del número de llamadas que se recibirán, entre otras situaciones.
• Es importante saber que algunas situaciones son más aptas para la
predicción que otras. Por ejemplo, es más facil predecir la hora de lle-
gada del tren electrico a una estación que el número ganador de la loterı́a
de mañana. Cuán predecible es un evento o alguna variable depende de
varios factores, en especial:
1. Qué tan bien entendemos los factores que contribuyen al evento o a
la variable
1
Más adelante, en el módulo de Predicción, discutiremos dos enfoques para generar predicciones: el
enfoque recursivo y el enfoque directo.
2
2. Qué tantos datos tenemos disponibles
3. Qué tan parecido podrı́a ser el futuro al pasado
4. Qué tan posible es afectar el futuro con la predicción que estamos
haciendo
Por ejemplo, supongamos que queremos predecir la demanda de energı́a
eléctrica residencial los próximos tres meses:
1. Sabemos los factores que contribuyen a la demanda de electricidad:
la temperatura, feriados, y las condiciones económicas
2. Generalmente existen datos historicos de la demanda de electricidad
desde hace muchos años al igual que datos del clima
3. Usualmente, en el corto plazo, la demanda de electricidad será sim-
ilar a los valores pasados
4. Para la mayorı́a de usuarios, el precio de la electricidad no es función
de su demanda, en este caso, la predicción de la demanda tendra un
efecto pequeño en el comportamiento del consumidor
Imaginemos ahora que queremos predecir el tipo de cambio:
1. La literatura no ha alcanzado consenso sobre los determinantes del
tipo de cambio y, por ende, no tenemos un claro entendimiento de
los factores que contribuyen al tipo de cambio
2. Generalmente existen datos historicos del tipo de cambio de varios
años
3. Incluso en el corto plazo, el tipo de cambio futuro será muy diferente
al pasado si algún evento polı́tico o alguna crisis financiera impacta
la economı́a
4. La predicción del tipo de cambio tiene un efecto directo sobre el tipo
de cambio. Si los agentes económicos creen en alguna predicción del
tipo de cambio que sugiere un alza, entonces comprarán hoy más
dólares y por ende el tipo de cambio subirá, en este sentido, el tipo
3
de cambio se convierte en su propio pronóstico. Si las personas no
creen en la predicción, entonces habremos errado. Por lo tanto,
predecir el tipo de cambio se convierte en un ejercicio parecido a
predecir si saldrá cara o sello al lanzar la moneda.
• Existen dos métodos de generar predicciones. Si tenemos una situación
en la que no hay datos disponibles, entonces tendrı́amos que usar un
método de predicción cualitativo2 . Por otro lado, usaremos un método
de predicción cuantitativo si se satisfacen dos condiciones:
– Existen datos historicos de la variable
– Es razonable asumir que algunos patrones observados en el pasado
seguirán ocurriendo en el futuro
• Nos enfocaremos en series temporales; es decir, cualquier variable que se
observa secuencialemente en el tiempo; además, asumiremos que obser-
vamos dicha variable en intervalos regulares de tiempo (minutos, horas,
dı́as, semanas, meses, trimestres, años). Ejemplos de estas variables
son: el valor por minuto del ı́ndice de la Bolsa de Valores de Lima, las
útilidades trimestrales de bancos residentes en el Perú, la demanda de
electricidad diaria, entre otros.
• Nuestro objetivo, por tanto, será estimar cómo continuará la secuancia
de observaciones de una variable en el futuro. Por ejemplo, la sigu-
iente variable muestra el número de arribos a los establecimientos de
hospedaje en Lima de parte de extranjeros:
2
No discutiremos este método en el curso, la persona interesada puede leer el capı́tulo 6 de Hyndman
and Athanasopoulos (2018) [[Link]
4
Figure 1: Arribo a establecimientos de hospedaje en Lima - extranjeros
• El siguiente código en python sirve para crear la figura anterior. Usamos
la API del Banco Central de Reserva del Perú y el formato JSON. En
este caso, solo obtenemos una variable a la vez. Para obtener más de
una serie a la vez, pueden ver los ejemplos en [Link]:
# Ejemplo 1 : Obtener una variable a la vez
url_base = " https :// estadisticas . bcrp . gob . pe / estadisticas / series / api
/"
cod_var = " RD13377DM "
form_out = " / json "
period = " / 2003 - 1 / 2019 - 12 "
url_final = url_base + cod_var + form_out + period
# Hacemos el request de los datos del BCRP
resp = requests . get ( url_final )
# Obtenemos los datos en formato JSON
resp_json = resp . json ()
# Extraemos los datos y las fechas en formato de list
periods = resp_json [ ’ periods ’]
value = []
for i in periods :
aux = i [ ’ values ’]
5
for j in aux :
j = float ( j )
value . append ( j )
dates = [ ]
for i in periods :
aux = i [ ’ name ’]
dates . append ( aux )
# Creamos un diccionario con las fechas y los valores
dict1 = { " Fecha " : dates , " Valores " : value }
# Creamos una base de datos usando la libreria Pandas
df0 = pd . DataFrame ( dict1 )
df0 . set_index ( df0 [ ’ Fecha ’] , inplace = True ) # Hacemos que la fecha sea
el indice
df0 = df0 . drop ( columns = [ ’ Fecha ’] ) # Borramos la columna fecha pues ya
es indice
# Para recrear el grafico
fig = df0 . plot ( figsize = ( 15 , 10 ) , fontsize = 20 , legend = False ) .
get_figure ()
• Noten que tenemos datos desde enero 2003 hasta diciembre 2019. Si
tuvieramos que proyectar el valor de esta variable en los siguientes 24
meses; es decir, de enero 2020 a diciembre 2021, podrı́amos usar un
modelo de series de tiempo como el ARIMA(p,1,q)(P ,1,Q)12 con esta-
cionalidad mensual para diferentes valores de p y de q (más adelante
hablaremos con más detalle de estos modelos). Este modelo usa solo
información proveniente de la variable que vamos a predecir y no incor-
pora información de otros factores que podrı́an afectar dicha variable.
El siguiente gráfico muestra a la variable como todos las proyecciones
generadas por este modelo para diferentes valores de p y de q.
6
Figure 2: Proyección del arribo a establecimientos de hospedaje en Lima - extranjeros
• Lo primero que podemos notar es que los modelos predicen valores con
dinámica parecida a la observada en el pasado, en esto el supuesto de
que algunos patrones observados en el pasado seguirán ocurriendo en el
futuro se está empleando. Lo segundo que podemos notar es que cuanto
más distante es la proyección, los modelos comienzan a diferir más y esto
sugiere que existe más incertidumbre sobre el futuro lejano.
• Existen tres tipos de modelos que podemos usar para hacer previsiones
de series temporales:
– Podemos usar un modelo descriptivo. En este tipo de modelos
usamos variables que nos ayudan a predecir el valor de una variable
en el futuro usando información de otras variables. Por ejemplo,
si queremos predecir el consumo de electricidad promedio por hora
(CE) en Perú, podriamos usar el siguiente modelo:
CE = f (Temperatura actual, crecimiento económico, población,
mes de año, error)
7
el término error denota todo lo que el model no puede explicar de
forma explicita (variables no incluidas en el modelo, por ejemplo).
– Podrı́amos usar un modelo de series temporales que solo usa los
valores pasados de CE; es decir, la predicción de CE se basa solo en
los valores pasado de la variable y no en alguna variable externa:
CEt+1 = f (CEt , CEt−1 , CEt−2 , · · · , error)
– Finalmente, podrı́amos usar un modelo mixto. Estos modelos
combinan los elementos de los modelos descriptivos y de series tem-
porales:
CEt+1 = f (CEt , Temperatura actual, crecimiento económico,
población, mes de año, error)
• En este curso, nos enfocaremos en la perspectiva estadı́stica del pro-
ceso predictivo. Dado que buscamos predecir un objeto desconocido,
definiremos este objeto como una variable aleatoria. Dicha variable
aleatoria puede tomar diversos posibles valores en el futuro. Por ejemplo,
la figura 3 muestra el crecimiento del PBI peruano desde 1996 hasta el
2019. Podemos usar un modelo de series temporales y tratar de estimar
los posibles valores futuros que esta variable puede tomar.
8
Figure 3: Crecimiento del Producto Bruto Interno: 1996:Q1 - 2019:Q4
• Usando un modelo ARIMA con estacionalidad, la figura 4 presenta el
promedio de todos los posibles valores futuros de la variable, la predicción
puntual, con la linea roja. Por otro lado, la figura también muestra los
intervalos de predicción que da una idea del rango de valores que la
variable aleatoria puede tomar. Con una probabilidad alta (95%) pode-
mos decir que el modelo predice que el crecimiento del PBI estarı́a entre
-7.5% y 10%. Con una menor probabilidad (80%) estarı́a entre -5% y
7.5%.
9
Figure 4: Crecimiento del Producto Bruto Interno: 1996:Q1 - 2019:Q4
2. Descomposición de series de tiempo:
• Las series de tiempo presentan diferentes patrones, por tal motivo, es útil
tratar de aislar dichos patrones en componentes de tal forma que teng-
amos un mejor entendimiento de porqué una serie de tiempo presenta
algún comportamiento especı́fico
• En esta sección discutiremos métodos que nos permiten extraer compo-
nentes como la tendencia (usualmente consideraremos la tendencia junto
al ciclo, ası́ por tendencia nos referimos a la tendencia-ciclo de una serie
de tiempo)
• Generalmente, transformar o ajustar los datos históricos puede ser de
gran utilidad a la hora de trabajar con series de tiempo. Hay por lo
menos cuatro tipos de ajustes que podemos hacer:
– Ajustes de calendario: cuando los datos presentan estacionalidad,
esto puede darse simplemente al hecho de que los meses tienen un
número diferente de dı́as. Por ejemplo, puede ser mejor usar el
10
promedio mensual de ventas en una tienda en vez del total de ventas
mensual en dicho establecimiento
– Ajustes poblacionales: durante la pandemia del COVID-19, una
forma de dar las estadı́sticas de número de camas, pacientes hospi-
talizados y muertes se daban por millón de habitantes o en términos
per cápita. Esto ayuda a poder comparar mejor las estadı́sticas entre
paı́ses. Los mismo sucede con el PBI y el PBI per cápita.
Figure 5: PBI y PBI per capita (millones S/.2007 & S/.2007)
Noten por ejemplo que durante 1988 - 1990, el PBI per cápita cayó
con mayor fuerza que el PBI total. Esto se debe a que durante este
periodo, la población creció más que el PBI
– Ajustes por inflación: cuando trabajamos con series de tiempo
que están afectadas por el valor del dinero, es mejor ajustarlas por
inflación. De tal forma, podremos comparar el valor de una variable
en diferentes momentos del tiempo. Para ajustar una variable yt
por inflacion, utilizamos un ı́ndice de precios como el IPC Pt . Por
ejemplo, si queremos expresar la variable en terminos de los soles en
11
algun periodo base (P0 ), tendremos:
yt
wt =
Pt /P0
La figura muestra el PBI en millones de soles y el PBI ajustado por
inflacion. En este caso, el año base es el 2007, es decir P0 = P2007 :
Figure 6: PBI (millones de S/.) & PBI (millones de S/. 2007)
– Transformación de Box-Cox: cuando las series de tiempo mues-
tran variaciones que aumentan o disminuyen con el nivel de las series,
entonces transformar los datos usando algún tipo de transformación
de Box-Cox es recomendable. Esta familia de transformaciones in-
cluyen los logaritmos y las potencias. El parámetro que definirá el
tipo de transformación será λ:
(
log(yt ) si λ = 0
wt = λ
yt −1 (1)
λ en otro caso
Noten que se requiere yt > 0. Un valor recomendable de λ es el que
hace que la amplitud de la variacion del componente estacional de la
serie sea aproximadamente igual en el tiempo. En Python, tenemos
la función boxcox dentro de la libreria [Link]
12
– La Figura 7 muestra los arribos a establecimientos de hospedaje en
Lima por parte de extranjeros. En primer panel presenta la serie de
tiempo oroginal. Noten que la amplitud del componente estacional
de la serie varı́a a los largo del tiempo. Cuando tomamos logaritmos
(λ = 0), la amplitud del componente estacional se aproxima a ser
constante a lo largo del tiempo. Lo mismo sucede con λ = 0.1 y λ =
0.3 (aunque en menor medida). Este ejercicio muestra la utilidad de
las transformaciones matemáticas antes de cualquier problema de
predicción. Al tener series con amplitudes relativamente constantes,
el trabajo se hace menos complejo
Figure 7: Transformación Box-Cox en los arribos a establecimientos de hospedaje en Lima
• Como ya mencionamos anteriormente, las series de tiempo pueden de-
scomponerse en el componente estacional (St ), el componente tendencia-
ciclo (Tt ), y el componente restante (Rt ). Recuerden que
– La tendencia: el componente que muestra incrementos o caı́das en
el largo plazo en la variable
– El ciclo: el componente que muestra incrementos o caı́das, que no
13
son regulares, en la variable (la duración generalmente es de más de
dos años)
– La estacionalidad: el componente que afecta la variable con reg-
ularidad (cada semana, mes, trimestre del año)
• La descomposición de una serie de tiempo se puede expresar mediante
una forma funcional general:
yt = f (St , Tt , Rt ) (2)
Si asumimos que la descomposición es aditiva, tendremos:
yt = St + Tt + Rt (3)
Podrı́amos asumir que la descomposición es multiplicativa, en cuyo caso
tendremos:
yt = St × Tt × Rt (4)
• Generalmente, usaremos la descomposicion aditiva si la magnitud de
las fluctuaciones por estacionalidad o la variación al rededor del ciclo-
tendencia no varı́a con el nivel de la variable. Si la variación cambia con
el nivel de la variable; entonces, usaremos la descomposición es multi-
plicativa. Noten, sin embargo, que si transformamos la variable usando
logaritmos, estamos asumiendo una descomposición multiplicativa en la
serie original:
yt = St × Tt × Rt → log yt = log St + log Tt + log Rt (5)
• Usando las expresiones anteriores, podemos obtener una variable ajus-
tada por estacionalidad de la siguiente manera:
– Aditiva → yt − St
yt
– Multiplicativa → St
• Uno de los métodos para obtener la descomposición de las series de
tiempo es el método STL (Seasonal and Trend decomposition using Loess)
14
– Dentro de las ventajas de este método podemos mencionar:
∗ Es versátil y robusto pues puede manejar cualquier tipo de esta-
cionalidad (no solo mensual o trimestral)
∗ El componente estacional puede cambiar en el tiempo a una tasa
de cambio controlada por el usuario
∗ El usuario tambien puede definir que tan suavizada será el com-
ponente de tendencia-ciclo
∗ Es robusto a los outliers (observaciones extremas)
– En Python, el módulo statsmodels proporciona una librerı́a que per-
mite obtener la descomposicion STL. Por ejemplo, podemos aplicar
la descomposición aditiva a los arribos a establecimientos de hospedaje
en Lima por parte de extranjeros, usando una periodicidad mensual
para el componente estacional:
Figure 8: Descomposición STL a los arribos a establecimientos de hospedaje en Lima
– Si aplicamos una descomposición multiplicativa, obtenemos:
15
Figure 9: Descomposición STL a los arribos a establecimientos de hospedaje en Lima
– Finalmente, podemos primero aplicar logaritmo y después obtener
la descomposición STL aditiva. Si hacemos esto, noten que los resid-
uos son más estables comparado a la descomposición aditiva ante-
rior. Esto muestra que al aplicar logaritmo inicialmente logramos
estabilizar el componente estacional de la variable:
16
Figure 10: Descomposición STL a los arribos a establecimientos de hospedaje en Lima
3. Herramientas para el proceso de predicción
El proceso fundamental de producir predicciones puede dividirse en los sigu-
ientes pasos:
1. Preparar (transformar o ajustar) los datos
2. Visualizar los datos
3. Especificar el modelo
4. Estimar el modelo
5. Evaluar el modelo (precisión)
6. Producir la predicción
Gráficamente tenemos
17
Figure 11: Flujo de trabajo para la previsión
3.1. Métodos simples de predicción
Algunos métodos de predicción son simples y efectivos. Estos métodos nos
servirán como benchmark para evaluar modelos más complejos que estudiare-
mos más adelante. Si asumimos que tenemos una serie de tiempo represen-
tada por {y1 , y2 , · · · , yT }, tenemos los siguientes métodos:
Método del promedio:
• En este caso, la predicción es igual al promedio de los valores historicos:
y 1 + y2 + · · · + yT
ŷT +h|T = ȳ = (6)
T
en adelante, ŷT +h|T denota la estimación de yT +h|T
• Por ejemplo, usando el crecimiento del PBI, tenemos
18
Figure 12: Predicción del PBI usando el método del promedio
Método del camino aleatorio:
• El método del camino aleatorio asume que la predicción es igual al último
valor de observado, es decir:
ŷT +h|T = yT (7)
este método asume que la serie de tiempo presenta una raı́z unitaria y
por ende funciona bien en variables que poseen dicha caracterı́stica
• Por ejemplo, usando el crecimiento del PBI, tenemos
19
Figure 13: Predicción del PBI usando el método del camino aleatorio
Método del camino aleatorio estacional:
• El método del camino aleatorio estacional es útil para datos con esta-
cionalidad. Asume que la predicción es igual al último valor de observado
de la misma estación, es decir:
ŷT +h|T = yT +h−m(k+1) (8)
donde m = el periodo estacional y k es la parte entera de (h − 1)/m
• Por ejemplo, usando la producción de ladrillos en Australia, tenemos
20
Figure 14: Predicción de la producción de ladrillos en Australia usando el método del camino
aleatorio estacional
Método de la tendencia:
• Una variación del método de camino aleatorio en el cual asumimos una
tendencia en el tiempo. El cambio en el tiempo se asume que es el cambio
promedio observado en el tiempo, es decir:
T y − y
h X T 1
ŷT +h|T = yT + (yt − yt−1 ) = yT + h (9)
T −1 T −1
t=2
• Por ejemplo, usando el crecimiento del PBI, tenemos
21
Figure 15: Predicción de la producción de ladrillos en Australia usando el método del camino
aleatorio estacional
22
MÓDULO 2 Modelos Multivariados I: VAR en Forma
Reducida
1. Introducción
• En la siguiente sección estudiaremos los VAR estructurales. Estos asumen
que el proceso generador de datos (PGD) es bien aproximado por un
VAR de forma reducida
• En esta sección discutiremos como especificar y estimar un VAR en forma
reducida, este modelo lineal es una de las herramientas más comunes en
diferentes ejercicios aplicados en macroeconomı́a y finanzas
2. Procesos estacionarios y de tendencia
• Un proceso estocástico caracteriza una sucesión de variables aleatorias
que evolucionan en función de otra variable, generalmente el tiempo
• Un proceso estocástico es covarianza estacionario o estacionario si tiene
primer y segundo momentos que no varı́an en el tiempo
• Es decir, yt ∈ R es estacionario si
E(yt ) = µ y Cov(yt , yt+h ) = γ ∀t, h (10)
noten que tanto µ como γh son independientes del tiempo, t. Esta
propiedad también se denomina estacionariedad de segundo orden
• Un proceso aleatorio es estacionario estricto si la distribución conjuta de
yt , · · · , yt+h es invariante en el tiempo para todo t y h
• Una serie de tiempo con tendencia se caracteriza por presentar movimien-
tos sistemáticos hacia arriba o hacia abajo a lo largo del tiempo
• Existen dos tipos de tendencias en las series de tiempo: tendencias de-
terminı́sticas y tendencias estocásticas
23
• Tendencias determinı́sticas: es un proceso que depende en forma deter-
minı́stica del tiempo. Por ejemplo, una variable con tendencia deter-
minı́stica lineal puede representarse de la siguiente forma:
yt = α0 + α1 t + xt
donde xt es un proceso estocástico estacionario con media cero
– Noten que en este caso
E(yt ) = α0 + α1 t y Var(yt ) = σx2
– En este caso, la fuente de no estacionariedad es la media pues va
cambiando en el tiempo
• Tendencias estocásticas: un ejemplo simple en este caso es el siguiente
proceso AR(1) con coeficiente igual a uno, tambien conocido como paseo
aleatorio:
yt = yt−1 + ut
ut es un proceso estocástico de ruido blanco3 con media 0 y varianza σu2
– Dada una condición inicial y0 t (variable aleatoria), podemos usar
substitución sucesiva para expresar yt de la siguiente forma
t
X
yt = y0 + ui
i=1
entonces, noten que
E(yt ) = E(y0 ) y Var(yt ) = Var(y0 ) + tσu2
– En este caso, asumiendo que Var(y0 ) es finita, la fuente de no esta-
cionariedad es la varianza; además, el proceso tiene memoria infinita,
pues cualquier valor de ut , impactará uno por uno los valores de ys
para s > t
3
Un ruido blanco es un proceso aleatorio cuyos valores son independiente e identicamente distribuidos
en el tiempo.
24
– Entonces, en un proceso con tendencia estocástica como el anterior,
tenemos que Var(yt ) → ∞ cuando t → ∞. Además, la correlación
viene dada por
hP P i
t t+h
E i=1 ui i=1 ui t
corr(yt , yt+h ) = 1/2
= −→ 1
2 + th)1/2 t→∞
2 2
[tσu (t + h)σu ] (t
es decir, las variables aleatorias yt y ys por mas que estén muy
alejadas en el tiempo (s >> t), presentarán una muy alta correlación
entre ellas
– El término tendencia estocástica viene del hecho que el tiempo es-
perado para que una variable aleatoria (yt ) cruce dos veces el cero
es infinito, este comportamiento es asociado a procesos con tenden-
cia. Más aún, dado que ut es estocástico, decimos que el proceso yt
presenta una tendencia estocástica
– Otro ejemplo conocido es el camino aleatorio con tendencia (recuer-
den los modelos benchmark del Modulo 1) en cuyo caso tanto la
media como la varianza dependen del tiempo:
yt = α + yt−1 + ut
de igual forma, usando substitución sucesiva:
t
X
yt = y0 + tα + ui
i=1
entonces
E(yt ) = E(y0 ) + tα y Var(yt ) = Var(y0 ) + tσu2
– En este caso, asumiendo que Var(y0 ) es finita, la fuente de no esta-
cionariedad son la media y la varianza
– Lo expuesto anterior muestra que para remover la raı́z unitaria, nece-
sitamos tomar primera diferencia a la variable aleatoria, es decir
∆yt = yt − yt−1 . Podemos tambien usar el operador de rezagos L,
que genera lo siguiente Lyt = yt−1 . Ası́, ∆yt ≡ (1 − L)yt
25
– Si un proceso aleatorio tiene d raı́ces unitarias, obtendremos un pro-
ceso estable (y estacionaro) si diferenciamos la variable d veces
– Si tenemos un sistema de variables yt = (y1t , y2t , · · · , yKt )′ , incluso
si solo una de las variables es I(d) individualmente, el sistema entero
se considerará I(d)
• Decimos que un proceso aleatorio AR(p) cuyos polinomios AR satisfacen
la siguiente condición es estable
1 − a1 z − a2 z 2 − · · · − ap z p ̸= 0 ∀z ∈ C, |z| ≤ 1
• La descomposición de Beveridge-Nelson:
– En general, para d ∈ N, un proceso estocastico yt es integrado de
orden d (I(d)), si ∆d yt ≡ zt es estacionario con representación de
medias mobiles (MA)
∞
X
zt = θj ut−j = θ(L)ut
j=0
donde los coeficientes θj satisfacen
∞
X
j |θj | < ∞
j=0
∞
X
θ(1) = θj ̸= 0
j=0
ut ∼ (0, σu2 ) es un ruı́do blanco
– Por ejemplo, en el caso de un proceso I(1) como yt = yt−1 + zt ,
tenemos
yt = y0 + z1 + · · · + zt = y0 + θ(L)u1 + · · · + θ(L)ut
Definamos el siguiente polinomio
θ∗ (L) = (1 − L)−1 [θ(L) − θ(1)] −→ θ(L) = θ(1) + (1 − L)θ∗ (L)
26
entonces
t
X t
X
y t = y0 + θ(L)ui = y0 + [θ(1) + (1 − L)θ∗ (L)] ui
i=1 i=1
Xt t
X
= θ(1) ui + (1 − L)θ∗ (L)ui + y0
i=1 i=1
noten que la primera parte de yt es un proceso estocástico de paseo
aleatorio, el segundo componente es un proceso estacionario y el
tercer componente denota condiciones iniciales. Este es el principal
resultado de la descomposición de Beveridge-Nelson
3. Modelos VAR lineales
• Supongamos que estamos interesados en la relación entre un conjunto
de K series de tiempo, yt = (y1t , y2t , · · · , yKt )′ , y que el PGD puede ser
representado como la suma de un componente determinı́stico µt y un
componentes estocástico xt con media cero:
yt = µt + xt (11)
es decir, E[yt ] = µt , que podrı́a contener una constante, polinomios de
tendencia, términos determinı́sticos de estacionalidad, y otro tipo de
variables dicotómicas (cambios estructurales, outliers, etc.). Por simpli-
cidad, asumiremos que µt = µ0
• Asumiremos que la parte estocástica xt del PGD sigue un modelo VAR
lineal de orden p, VAR(p) de la siguiente forma:
xt = A1 xt−1 + A2 xt−2 + · · · + Ap xt−p + ut (12)
donde Ai es una matriz de parámetros K×K y el vector ut = (u1t , · · · , uKt )′
es de orden K × 1 y definido como reuido blanco tal que ut ∼ (0, Σu )
con Σu = E(ut u′t )
27
• Usando el operador de rezagos A(L) = IK − A1 L − · · · − Ap Lp , tenemos
A(L)xt = ut (13)
• La variable aleatoria yt hereda la estructura VAR de xt , multiplicando
a expresion de yt por A(L), tenemos
A(L)yt = A(L) µt +A(L)xt = [IK − A1 − · · · − Ap ] µ0 +ut (14)
|{z} | {z }
=µ0 ν
entonces
yt = ν0 + A1 yt−1 + · · · + Ap yt−p + ut (15)
decimos que el VAR en (15) es de forma reducida pues todas las variables
de la derecha del signo de igualdad son rezagos y, por ende, predetermi-
nadas
• El proceso VAR xt , y por tanto, yt es estable si todas las raı́ces del
determinante del polinomio del VAR están fuera del circulo unitario
complejo; es decir,
det(A(z)) = det (IK − A1 z − · · · − Ap z p ) ̸= 0 ∀z ∈ C, |z| ≤ 1 (16)
• Si asumimos: (i) una media constante y (ii) innovaciones de ruı́do blanco
con matriz de covarianza invariante en el tiempo, un VAR estable tiene
media, varianza y covarianza invariantes y, por tanto, es estacionario
• Una forma conveniente de expresar el modelo VAR en (15) es apilando
las p variables yt en un vector pK−dimensional:
Yt = ν + AYt−1 + Ut (17)
donde
A1 A2 · · · Ap−1 Ap
yt ν0 ut
···0
IK 0 0
yt−1 0 0
Yt ≡ .
ν≡.
At ≡ 0
IK ···0 0
Ut ≡ .
.. .. ..
. .. .. .. ..
. .
. . . .
yt−p+1 0 0
Kp×1 Kp×1 0 0 · · · IK 0 Kp×1
Kp×Kp
28
• En este caso, diremos que Yt es estable si
det IKp − Az ̸= 0 ∀z ∈ C, |z| ≤ 1 (18)
que es equivalente a requerir que todos los valores propios de A tengan
modulo menor a 1
3.1. Representación de medias móbiles
• Un modelo VAR(p) estable yt puede ser representado como la suma
ponderada de las innovaciones presentes y pasadas; por ejemplo, en el
caso de un VAR(1), tenemos
yt = ν + A1 yt−1 + ut
substituyendo sucesivamente
∞
X ∞
X ∞
X
−1
yt = Ai1 ν + Ai1 ut−i = (IK − A1 ) ν+ Ai1 ut−i
i=0 i=0 i=0
• En el caso general de un VAR(p), usando el operador de rezagos tenemos:
yt = A(L)−1 ν0 + A(L)−1 ut = A(1)−1 ν0 + A(L)−1 ut
Por otro lado, usando la ecuacion (17) y la forma extensiva del VAR(1)
anterior, tenemos
∞
X
−1
Yt = (IKp − A) ν+ Ai Ut−i
i=0
Solo nos interesa la primera entrada (yt ) del vector; entonces, podemos
usar la siguiente matriz J ≡ IK , 0K×K(p−1) con la que selecionaremos
la primera fila de la matriz A; ası́ tenemos que
∞
X
−1 i ′
yt = A(1) ν0 + JA
| {zJ} ut−i (19)
| {z }
=:µ i=0 =:Φi
con Φ0 = IK . Entonces, noten que tenemos la siguiente condición
∞
X
−1
A(L) = Φi ut−i
i=0
29
• La existencia de la inversa A(L)−1 se garantiza con la estabilidad del
proceso yt . La representación (19) se conoce como la representación MA,
la representacion MA de Wold, o la representación MA de la predicción
de error.
• Noten la importancia de la definición de la representación ya que exis-
ten infinidad de potenciales representaciones MA para yt ; por ejemplo,
cualquier transformación lineal no singular de ut , vt = Qut , genera un
proceso de ruido blanco que puede ser usando como una representación
MA de yt
• De lo expuesto anterior sobre la representación MA de Wold, tenemos
que
E(yt ) = µ
y que
∞
X
′
Γy (h) ≡ Cov(yt , yt−h ) = E[(yt − µ)(yt−h − µ) ] = Φh+i Σu Φ′i
i=0
lo que muestra que tanto el primer como el segundo momento del VAR
son invariantes al tiempo y por ende el proceso es estacionario
4. Estimación de modelos VAR lineales
• Podemos estimar los modelos VAR con cualquiera de los siguientes métodos:
– Mı́nimos cuadrados (irrestrictos)
– Mı́nimos cuadrados generalizados
– Mı́nimos cuadrados con correción de sesgo
– Máxima verosimilitud (ML)
30
4.1. Mı́nimos cuadrados:
• Consideremos el modelo VAR(p) en (15) y expresemos el modelo de la
siguiente forma:
1
y
t−1
yt = [v0 , A1 , · · · , Ap ] . +ut (20)
| {z } ..
A
yt−p
| {z }
Zt−1
iid
asumiremos que ut ∼ (0, Σu ) con Σu no-singular. Asumiremos que ten-
emos datos y1 , · · · , yT y p vectores con datos antes del periodo 1; es
decir, y− p + 1, · · · , y0
• Aplicar mı́nimos cuadrados ordinarios (MCO) para cada ecuación de
forma separada resulta en estimadores eficientes!
• El estimador MCO para A es
T
! T
!−1
h i X X
′ ′
 = v̂0 , Â1 , · · · , Âp = yt Zt−1 Zt−1 Zt−1 = Y Z ′ (ZZ ′ )−1
t=1 t=1
(21)
donde Y ≡ [y1 , · · · , yT ]K×T and Z ≡ [Z0 , · · · ZT −1 ](Kp+1)×T
• Si el proceso es estable y ut es una variable continua iid con los primeros
cuatro momentos finitos; entonces, tendremos convergencia en distribución:
√ d
T (α̂ − α) → N (0, Σα̂ ) (22)
−1
donde α = vec(A) y Σα̂ = plim T1 ZZ ′ Σu ; y, además, el estimador
será consistente
• Un estimador consistente de la matriz de covarianza Σu es por ejemplo
Û Û ′
Σ̂u = (23)
T − Kp − 1
31
donde Û = Y − ÂZ son los residuos de MCO. Por lo tanto, en muestras
grandes, tenemos que
′ −1
vec(Â) ∼ N vec(A), (ZZ ) ⊗ Σ̂u (24)
es decir, asimptoticamente, los test t pueden ser usados para testear
restricciones en los coeficientes y para definir intervalos de confianza
• Si queremos hacer un test sobre alguna restricción lineal, podemos definir
las siguientes hipótesis
H0 : Rα = r H1 : Rα ̸= r
• Si H0 es verdad, entonces tenemos el siguiente estadı́stico de Wald:
−1
W = T (Rα̂ − r) RΣ̂α̂ R ′
(Rα̂ − r)′
que sigue una distribución χ2
• Podemos estar interesados en una transformación de los parametros; por
ejemplo, ϕ(A). Usando el método Delta, tenemos que
√ ∂ϕ′
d ∂ϕ
T ϕ̂ − ϕ → N 0, ′ Σα̂ (25)
∂α ∂α
en este caso, el test de Wald será
′ −1
∂ϕ(α̂) ∂ϕ(α̂)
W = T (ϕ(α̂) − ϕ0 )′ Σ̂α̂ (ϕ(α̂) − ϕ0 )
∂α′ ∂α
• Ejemplo
– Vamos a estimar un VAR(4) usando las tres primeras variables (de
las cinco) usadas por Rubio-Ramirez, Waggoner, and Zha (2010). El
siguiente gráfico muestra el crecimiento del GNP, la tasa de interés
de los fondos federales, y la inflación obtenida del deflactor del GNP
para el periodo 1954:Q4 - 2017:Q4. Vamos a tratar estas variables
como I(0):
32
Figure 16: Datos trimestrales para el crecimiento del GNP, la tasa de interés y la inflación
de EEUU
– Podemos usar las librerias disponibles en Python para estimar el
modelo VAR(4) facilmente
# Metodo 1 : usando las librerias disponibles en Python
# Definir un modelo VAR ( ver la libreria en la primera celda )
model = VAR ( df )
model_fitted = model . fit ( 4 ) # modelo con 4 rezagos
# Resultados
display ( ’ ---- Coeficientes de la constante ---- ’)
display ( model_fitted . intercept )
print ( " " )
display ( ’ ---- Coeficientes de las variables ---- ’)
display ( model_fitted . coefs )
print ( " " )
display ( ’ ---- Matriz de Covarianza ---- ’)
display ( model_fitted . sigma_u )
print ( " " )
33
– Los resultados que obtendrán serán los siguientes:
4.2. Mı́nimos cuadrados generalizados (MCG):
• Si no hay restricciones sobre los parámetros, el estimador de MCO para
α coincide con el de MCG
• Si existen restricciones sobre los parámetros, MCO será asimptotica-
mente ineficiente y será preferible usar MCG
• Asumamos restricciones en los parametros dadas por la matriz R(K 2 p+K)×M
34
tal que
α = Rγ (26)
donde γM ×1 es el vector de parámetros irrestrictos. El estimador MCG
para γ es
−1 ′
γ̂ = R′ ZZ ′ ⊗ Σ−1 −1 ′
u R R vec Σ u Y Z (27)
• Bajo ciertas condiciones, el estimador MCG es consistente y asimptoti-
camente distribuido normalmente
√ d
′ −1
−1
T (γ̂ − γ) → N 0, R Σα̂ R (28)
• Finalmente, el estimador MCG factible para α usando el método delta
es
√
d
′ −1
−1 ′
ˆ
T α̂ − α → N 0, R R Σα̂ R R (29)
• Ejemplo
– Nuevamente, estimamos un VAR(4) usando el crecimiento del GNP,
la tasa de interés de los fondos federales, y la inflación obtenida del
deflactor del GNP para el periodo 1954:Q4 - 2017:Q4.
– Asumiremos que los valores pasados de la inflación del deflactor del
GNP no afectan al crecimiento del GNP
– En este caso, M = 35 y la matriz R39×35 está llena de 1 a excepción
de las filas 10, 19, 28 y 37
– En ese caso, tenemos la siguiente estimación de los parámetros para
el intercepto y las matrices de rezago
ν0 = [0.7517, −0.3888, 0.0058]
y
35
4.3. Máxima Verosimilitud:
• Si la distribución muestral es conocida y tiene la siguiente función de den-
sidad f (y1 , · · · , yT ), podemos estimar los parámetros usando el método
de máxima verosimilitud
• Agrupemos los parámetros, incluyendo los de la matriz de covarianza,
en θ. Podemos expresar la distribución conjunta de la siguiente manera
f (y1 , · · · , yT |θ) = f1 (y1 ) × f2 (y2 |y1 ) × f3 (y3 |y2 , y1 ) × · · · × fT (yT |yT −1 , · · · , y1 )
• La función de log-verosimilitud es
T
X
log l (θ|y1 , · · · , yT ) = log ft (yt |yt−1 , · · · , y1 ) (30)
t=1
• El vector θ̃ que maximiza la función anterior es el estimador de máxima
verosimilitud. Bajo condiciones generales, tiene una distribución asimptótica
normal
√ d
T θ̃ − θ → N 0, Ia (θ)−1
donde
∂ 2 log l
Ia (θ)−1 = −E
∂θ∂θ′
• Existe una equivalencia númerica de MCO y máxima verosimilitud. Si
la distribución del error no es normal, entonces el estimador de máxima
verosimilitud de la covarianza es más preciso y por ende preferible
• En nuesto ejemplo anterior, los estimadores del intercepto y las matrices
de rezagos son numéricamente iguales a las obtenidas por MCO. La
matriz de covarianza es diferente y viene dada por
36
References
Hyndman, R. J., and G. Athanasopoulos (2018): Forecasting: princi-
ples and practice. OTexts.
Rubio-Ramirez, J. F., D. F. Waggoner, and T. Zha (2010): “Struc-
tural vector autoregressions: Theory of identification and algorithms for
inference,” The Review of Economic Studies, 77(2), 665–696.
37