0% encontró este documento útil (0 votos)
5 vistas18 páginas

Pronóstico de Series Temporales MIDAS

El documento presenta una metodología para el pronóstico de series temporales utilizando datos de frecuencias mixtas y técnicas de regularización en alta dimensión, abordando problemas como la alineación de frecuencias y la multicolinealidad. Se proponen modelos MIDAS que incorporan rezagos de alta frecuencia mediante polinomios de pesos, junto con métodos de regularización como Ridge y LASSO para mejorar la capacidad predictiva. La implementación práctica incluye pasos detallados y ejemplos en R y Python para aplicar esta metodología en contextos reales.

Cargado por

maxicaprari
Derechos de autor
© All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
5 vistas18 páginas

Pronóstico de Series Temporales MIDAS

El documento presenta una metodología para el pronóstico de series temporales utilizando datos de frecuencias mixtas y técnicas de regularización en alta dimensión, abordando problemas como la alineación de frecuencias y la multicolinealidad. Se proponen modelos MIDAS que incorporan rezagos de alta frecuencia mediante polinomios de pesos, junto con métodos de regularización como Ridge y LASSO para mejorar la capacidad predictiva. La implementación práctica incluye pasos detallados y ejemplos en R y Python para aplicar esta metodología en contextos reales.

Cargado por

maxicaprari
Derechos de autor
© All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd

NOTAS TESIS

Maximo Caprari
August 2025

1 Introduction
2 Time Series Forecasting con Frecuencias Mixtas y Regularización
El pronóstico de series temporales presenta diversos desafíos, especialmente en entornos de datos ricos y
heterogéneos. A continuación, se detallan los principales problemas y la metodología propuesta por Babii,
Ghysels y Striaukas (2022) para abordarlos mediante la combinación de Mixed-Frequency Data Sampling
(MIDAS) y métodos de regularización en alta dimensión.

2.1 Problemas principales


1. Frecuencia distinta entre variables
Es común que la variable objetivo se mida en baja frecuencia (por ejemplo, PIB trimestral), mientras
que los predictores estén disponibles en alta frecuencia (mensual o diaria). Alinear las frecuencias de
forma directa puede generar pérdida de información o introducir ruido.
2. Persistencia temporal
Muchos efectos económicos tienen memoria, por lo que es necesario incluir rezagos de la variable de-
pendiente y de los predictores. Un uso inadecuado de rezagos puede llevar a sobreparametrización y
multicolinealidad.

3. Alta dimensión
El uso de numerosos predictores (macroeconómicos, financieros y datos alternativos como registros de
consumo, tráfico o imágenes satelitales) genera problemas de multicolinealidad y sobreajuste.

2.2 Estrategia de solución


2.2.1 Modelos MIDAS
En lugar de convertir todo a la frecuencia más baja, los modelos MIDAS utilizan funciones polinómicas
de ponderación para resumir los lags de alta frecuencia e incorporarlos directamente en la regresión. Por
ejemplo, si el PIB es trimestral y la inflación mensual, con nH = 3 se pueden modelar los tres valores
mensuales correspondientes a cada trimestre mediante un polinomio de pesos (Almon polynomials).

2.2.2 Regularización en alta dimensión


Se aplican métodos como:

• Ridge: penaliza el tamaño de los coeficientes, mantiene todas las variables.


• LASSO: penaliza y puede eliminar variables irrelevantes.
Estos métodos ayudan a controlar la multicolinealidad, evitar sobreajuste y seleccionar automáticamente
predictores relevantes.

1
2.2.3 Combinación MIDAS + Regularización
La propuesta de Babii, Ghysels y Striaukas (2022) consiste en aplicar regularización a las proyecciones de
frecuencia mixta:
• Incorporar datos de distintas frecuencias en la misma ecuación.
• Reducir dimensionalidad en los rezagos mediante funciones de pesos.
• Regularizar los coeficientes para mejorar la capacidad predictiva.

2.3 Ecuación general


El modelo propuesto para predecir una variable de baja frecuencia yt+h a un horizonte h ≥ 1 es:
J K  
X X k
yt+h = α + ρj yt−j + ψ L1/nH ; βk xt,k + ut+h
j=0 k=1

donde:
• yt+h : variable objetivo en baja frecuencia (por ejemplo, PIB trimestral).
• ρj yt−j : rezagos de la variable dependiente.
• xt,k : predictor k, potencialmente en alta frecuencia.
k
• ψ(L1/nH ; βk ): polinomio que resume los lags de alta frecuencia.
• ut+h : término de error.

2.4 Aplicación práctica


Los pasos para implementar esta metodología son:
1. Organizar los datos por frecuencia, separando la variable objetivo y los predictores.
2. Generar las estructuras MIDAS creando rezagos de alta frecuencia y aplicando funciones polinómicas
de pesos.
3. Aplicar regularización (Ridge o LASSO) usando validación cruzada temporal para seleccionar el parámetro
de penalización óptimo.
4. Evaluar el desempeño del modelo frente a benchmarks como AR o Random Walk mediante expanding
window o rolling window.

1. MIDAS — marco teórico a fondo (intuición + formalización)


Intuición. MIDAS (Mixed-Data Sampling) resuelve el problema de predecir una variable de baja fre-
cuencia y (p. ej. PIB trimestral) usando información disponible a mayor frecuencia (mensual, diaria).
En lugar de (i) agregarlos a la baja frecuencia (pérdida de información) o (ii) incluir todos los rezagos li-
bremente (explosión dimensional), MIDAS modela los rezagos de alta frecuencia mediante un polinomio
de pesos (restricción paramétrica en la función de rezagos) e incorpora la información intra-periodo sin
crecer excesivamente en parámetros. La idea fue formalizada por Ghysels, Santa-Clara y Valkanov en
el trabajo original y desarrollos posteriores.
[Link] [Link]

Forma general (versión compacta). Para horizonte h ≥ 1 y objetivo de baja frecuencia yt+h :

J dk
K X
(k)
X X
yt+h = α + ρj yt−j + θk,ℓ x t−ℓ/mk + ut+h ,
j=0 k=1 ℓ=0

2
donde x(k) es el k-ésimo predictor de alta frecuencia con mk observaciones por periodo de y y dk es el
número de rezagos intra-periodo considerados. El MIDAS restringido impone que los coeficientes sigan
una función de pesos paramétrica

θk,ℓ = ψ(ℓ; βk ),

con pocos parámetros βk . La suma interior se escribe compactamente como


 (k)
ψ L1/mk ; βk xt .

[Link]

Funciones de ponderación comunes

• Almon polinómico y su versión exponencial Almon normalizada (nealmon) — controlan forma


(decay, hump). El paquete midasr implementa nealmon, almon, etc.
• Funciones Beta / Spline / Legendre: permiten mayor flexibilidad o bases ortogonales para
representar la curva de pesos.

Elegir la forma depende del problema: si se espera un decaimiento rápido, Almon/exp-Almon suele
funcionar; si se desea flexibilidad, usar una base ortogonal y luego regularizar.
[Link] [Link]

Estimación

• MIDAS restringido: típicamente por nonlinear least squares (NLS), porque ψ(·; β) es no lineal
en β. Paquetes como midasr (R) facilitan la especificación y NLS. [Link]
• MIDAS no restringido: se estima como un ARDL con cada coeficiente de lag libre — útil para
comparaciones pero impracticable si hay muchos rezagos/predictores.

Ventajas / limitaciones

• Ahorra parámetros y usa información intra-periodo sin agregación.


• Flexible (distintas funciones de peso).
– Si hay muchos predictores y muchos lags, el MIDAS restringido con pocos parámetros por predictor
puede quedar corto; conviene combinar con técnicas de reducción/regularización.

[Link]
2. LASSO — marco teórico a fondo
Idea básica. LASSO (Least Absolute Shrinkage and Selection Operator) añade una penalización ℓ1
al problema de mínimos cuadrados, lo que tiende a forzar coeficientes exactamente a cero (selección
automática de variables) y reduce la varianza a costa de sesgo; es especialmente útil cuando el número
de predictores p es grande respecto a T . Introducido por Tibshirani (1996).
[Link]

Objetivo (forma canónica)

1
β̂LASSO = arg min ∥y − Xβ∥22 + λ ∥β∥1 ,
β 2n

donde λ ≥ 0 controla la penalización (mayor λ ⇒ más coeficientes en cero).

Propiedades importantes

3
• Selección + regularización (reduce overfitting).
• Si las covariables están fuertemente correlacionadas, LASSO puede seleccionar arbitrariamente
entre grupos — por eso se compara/combina con Ridge (ℓ2 ) o Elastic Net (mezcla ℓ1 y ℓ2 ).

[Link]
Algoritmos eficientes: coordinate descent, LARS, y las implementaciones optimizadas (glmnet en R usa
coordinate descent).
[Link]

Extensiones útiles para MIDAS / estructura por grupos

• Group LASSO: penaliza por grupos (p. ej. todos los rezagos de un predictor forman un grupo).
• Sparse-Group LASSO: mezcla selección a nivel de grupo y a nivel de variable dentro del grupo.

Paquetes recientes como sparsegl/SGL implementan estas variantes eficientemente.


[Link] [Link]
3. Cómo combinarlos: MIDAS + LASSO (alta dimensión)
Problema: tienes K predictores de alta frecuencia, cada uno con dk lags ⇒ el diseño puede ser enorme
(p = k dk ). Dos rutas principales:
P

Ruta A — MIDAS restringido + LASSO sobre coeficientes agregados Para cada predictor
k se usa una función de pesos paramétrica ψ(ℓ; βk ) con pocos parámetros βk . El número to-
tal de parámetros se reduce mucho y luego se aplica un LASSO sobre otros (p. ej. rezagos de y u
otras variables).
Ventaja: parsimonioso. Desventaja: si ψ está mal especificada se pueden perder señales.
Ruta B — Diccionario / basis + (sparse-group) LASSO (recomendado para alta dimensión y tesis)
Para cada predictor k, se construye un diccionario de funciones/bases (p. ej. lags explícitos, poli-
nomios ortogonales: Legendre, Chebyshev, pequeñas bases de Fourier) ⇒ cada predictor produce q
columnas (q denso pero < dk ). Se apilan todos los diccionarios ⇒ matriz X grande con estructura
por grupo (las q columnas de cada predictor forman un grupo).
Se estima con sparse-group LASSO (o group LASSO). Permite: (i) seleccionar qué predictores
(grupos) son útiles y (ii) dentro de cada predictor, seleccionar las componentes relevantes.
Ruta usada en trabajos recientes sobre MIDAS en alta dimensión (p. ej. Babii, Ghysels & Striaukas;
implementación midasml/midasmlpy). [Link]

Papers y recursos clave

• Ghysels, Santa-Clara & Valkanov — introducen MIDAS y extensiones. [Link]


• Tibshirani (1996) — LASSO. [Link]
• Babii, Ghysels & Striaukas — high-dimensional MIDAS / machine-learning time-series regressions
(sparse-group LASSO, diccionarios). [Link]

4. Implementación práctica — pasos concretos y ejemplos (R y Python)


4.1 Flujo general (paso a paso)
(a) Definición del objetivo y horizonte: fija yt+h y h (nowcast h = 0, forecast h > 0).
(b) Recolectar y limpiar: series de frecuencia distinta; mantener la información intra-periodo (p. ej.
los 3 meses antes del trimestre).
(c) Manejo de ragged edges / datos publicados con retraso: decidir políticas (usar valores disponibles
en la fecha de pronóstico — vintage data ideal).
(d) Construir diseño:

4
• Opción MIDAS restringido: especificar función de pesos (nealmon, almon, etc.) y estimar con
midasr.
• Opción alta dimensión: crear matrices de lags o bases (por predictor) → construir X y vector
group.
(e) Estandarizar features (por columna) antes de LASSO.
(f) Validación temporal (walk-forward / expanding window / rolling window) para elegir hiperparámet-
ros (λ, α en sparse-group).
(g) Evaluación: métricas out-of-sample (RMSE, MAE, MAPE), pruebas de comparación (Diebold-
Mariano).
4.2 Implementación en R

[Link](c("midasr","sparsegl","glmnet","forecast"))

A. MIDAS restringido (ejemplo simple)

library(midasr)
# suponer data_list = list(y = y_quarterly_ts,
# x1 = x1_monthly_ts,
# x2 = x2_monthly_ts)

model_midas <- midas_r(y ~ fmls(x1, 0:2, 3, nealmon) +


fmls(x2, 0:5, 3, nealmon),
data = data_list,
start = list(x1 = c(1,0.1),
x2 = c(1,0.1)))
summary(model_midas)

midasr maneja forecasting con rolling/recursive re-estimations (forecast.midas_r, etc.).


B. High-dim MIDAS usando sparse-group LASSO

library(sparsegl)
# X: matriz n × p ; y: vector n
# groups: entero length p, groups[j] = id grupo columna j
cvfit <- [Link](x = X, y = y, group = groups, nfolds = 5)
best <- coef(cvfit, s = "[Link]")

4.3 Implementación en Python (ejemplo práctico)


Opción 1 — Lags + scikit-learn Lasso

import numpy as np, pandas as pd


from sklearn.linear_model import LassoCV
from sklearn.model_selection import TimeSeriesSplit
from [Link] import StandardScaler

def build_lag_matrix(monthly_df, low_freq_dates, m):


rows = []
for t in low_freq_dates:
win = monthly_df.loc[:t].iloc[-m:]
if len(win) < m:
[Link]([[Link]]*(monthly_df.shape[1]*m))
else:

5
flat = []
for col in monthly_df.columns:
[Link](win[col].values[::-1]) # newest first
[Link](flat)
return [Link](rows, index=low_freq_dates)

X = build_lag_matrix(df_x, df_y.index, m=6)


mask = [Link]().all(axis=1)
X, y = X[mask], df_y.loc[[Link]]

scaler = StandardScaler()
Xs = scaler.fit_transform(X)

tscv = TimeSeriesSplit(n_splits=5)
lasso = LassoCV(cv=tscv, max_iter=10000).fit(Xs, [Link]())

Opción 2 — sparse-group lasso en Python

from skglm import GLM


from [Link] import GroupLasso

pen = GroupLasso(groups=group_array, alpha=0.5)


model = GLM(penalty=pen).fit(Xs, y)

5. Qué poner en tu Marco Teórico y en la sección metodología de la tesis

• Introducción al problema de frecuencia mixta y relevancia (pérdida de información si se agrega).


Cita Ghysels et al.
• MIDAS: definición, variantes, funciones de peso (Almon, nealmon, Beta, spline). Mencionar MI-
DAS restringido/no restringido.
• LASSO y extensiones: penalización ℓ1 , trade-off bias/varianza, Elastic Net, group y sparse-group
LASSO.
• Combinación MIDAS + regularización: lógica de diccionario + sparse-group LASSO; cita Babii
et al. (2022) y trabajos relacionados.
• Metodología empírica: datos, construcción de matrices, CV temporal, métricas, tests de compara-
ción (Diebold-Mariano), robustez.

6. Experimentos sugeridos (para la tesis — ordenados y reproducibles)

(a) Benchmark: AR(p) y Random Walk a distintos horizontes.


(b) MIDAS restringido (nealmon) con pocos parámetros.
(c) Expansión de lags + LASSO (cada lag es feature).
(d) Diccionario (p. ej. 5 polinomios Legendre por predictor) + sparse-group LASSO (foco principal).
(e) Nowcasting (h = 0) con ragged-edge / vintage data.
(f) Robustez: variar dk , cambiar bases (Almon vs. Legendre), usar ElasticNet vs. LASSO vs. sparse-
group.
(g) Inferencia y selección: analizar qué predictores/rezagos se seleccionan y su estabilidad temporal.
(h) Comparar pronósticos con RMSE/MAE y Diebold-Mariano; guardar semillas y scripts para re-
producibilidad.

6
3 MIDAS como herramienta de preprocesamiento de datos
3.1 Marco teórico
Cuando se trabaja con series de tiempo de distinta frecuencia (por ejemplo, PBI trimestral y variables
financieras mensuales o diarias), el enfoque tradicional consiste en agregar los datos de alta frecuencia antes
de modelar. Este procedimiento, si bien es simple, impone supuestos rígidos sobre la dinámica temporal (por
ejemplo, tomar promedios o el último valor disponible) y descarta parte de la información contenida en la
estructura de retardos.
El enfoque Mixed Data Sampling (MIDAS), introducido por ghysels2004midas,ghysels2007midas, permite
incorporar directamente variables de alta frecuencia en la ecuación de regresión de baja frecuencia a través
de un polinomio de retardos ponderados. La especificación general puede escribirse como:
JX
max

Yt = β0 + β1 wj (θ) Xt−j/m + εt (1)


j=0

donde:
• m es el número de observaciones de alta frecuencia por cada observación de baja frecuencia (por ejemplo,
m = 3 si hay tres datos mensuales por trimestre).
• wj (θ) es una función de ponderación paramétrica que asigna pesos decrecientes o con forma específica
a los retardos. Comúnmente se utilizan polinomios de Almon o distribuciones Beta.

• Jmax es el número máximo de retardos de alta frecuencia considerados.


• θ son los parámetros de la función de ponderación, estimados junto con los coeficientes β.
El MIDAS reduce drásticamente la dimensionalidad: en lugar de estimar un coeficiente por cada retardo
(lo que sería inviable en muestras pequeñas), estima solo unos pocos parámetros θ que determinan toda la
estructura de pesos.
En este trabajo, el objetivo no es utilizar el MIDAS como modelo de predicción final, sino como pre-
procesador de datos. Cada variable de alta frecuencia se transforma en una o pocas variables sintéticas
(features) que resumen su efecto sobre la variable objetivo de baja frecuencia, de acuerdo a la estructura
temporal óptima estimada.

3.2 Ventajas como preprocesador


El uso del MIDAS previo al entrenamiento del modelo principal (por ejemplo, XGBoost) presenta varias
ventajas:
1. Reducción de dimensionalidad: decenas o cientos de retardos se sintetizan en 1–3 variables.

2. Preservación de la estructura temporal: las ponderaciones estimadas no son arbitrarias, sino


consistentes con la dinámica empírica.
3. Menor riesgo de sobreajuste: el modelo principal no necesita estimar el efecto de cada retardo
individualmente.

4. Integración directa de distintas frecuencias: no es necesario forzar todas las series a la misma
frecuencia de forma previa.

3.3 Flujo de implementación


El procedimiento para utilizar MIDAS como preprocesador de datos antes del entrenamiento del modelo es
el siguiente:

1. Preparación de la base de datos:

7
• Identificar la variable objetivo Yt (baja frecuencia).
(m)
• Identificar predictores Xt de alta frecuencia.
• Alinear calendarios de forma que cada observación de Yt se asocie con el bloque correspondiente
de datos de X.
• Tratar valores faltantes y ajustar estacionalidad si es necesario.
2. Selección de Jmax : definir el número máximo de retardos a incluir según criterios económicos y
disponibilidad de datos.
3. Definición de la función de pesos wj (θ):

• Polinomio de Almon: flexible y parsimonioso.


• Distribución Beta: permite picos y asimetrías.
4. Estimación de parámetros:

• Estimación de θ y β mediante Mínimos Cuadrados No Lineales o Máxima Verosimilitud.


• Paquetes en Python: linearmidas, pyMIDAS.
5. Generación de variables sintéticas MIDAS:
JX
max

Zt = wj (θ̂)Xt−j/m (2)
j=0

Cada predictor de alta frecuencia se convierte en uno o pocos Zt .


6. Integración en el modelo principal:
• Construir el dataset final con:
(a) Variables originales de baja frecuencia.
(b) Variables transformadas MIDAS de alta frecuencia.
• Normalizar o estandarizar si es necesario para mejorar estabilidad numérica.

7. Entrenamiento y validación:
• Aplicar esquema de validación temporal (por ejemplo, expanding window cross-validation).
• Comparar el rendimiento con modelos que usen agregaciones simples.

3.4 Referencias
3.5 Preparación de datos: comparación de dos enfoques
En esta sección se describen dos enfoques alternativos para la preparación de datos macroeconómicos y
financieros, con el objetivo de modelar una variable de frecuencia trimestral (por ejemplo, el crecimiento del
PIB). Cada enfoque presenta pasos específicos, así como ventajas y desventajas que deben ser consideradas
para la aplicación en modelos econométricos o de machine learning.

3.5.1 Enfoque 1: Conversión directa a trimestral con MIDAS


Este enfoque parte del supuesto de que el objetivo del modelo se encuentra disponible en frecuencia trimestral.
La estrategia consiste en mantener la frecuencia del objetivo y adaptar las variables explicativas de mayor
frecuencia para que puedan incorporarse de manera coherente al modelo mediante técnicas MIDAS (Mixed
Data Sampling).

8
Pasos
1. Normalización y filtrado: unificación del formato de fechas y filtrado geográfico para conservar
únicamente las observaciones de Argentina.

2. Conversión a frecuencia trimestral: variables de menor frecuencia (por ejemplo, deuda o reservas)
se colapsan al último dato disponible de cada trimestre (end-of-period).
3. Construcción de predictores MIDAS: las series mensuales se transforman en un conjunto de rezagos
ponderados, permitiendo capturar la dinámica intra-trimestral sin desalinear las fechas del objetivo.
4. Integración de la base: todas las series se llevan a la frecuencia trimestral y se añaden rezagos para
su uso en modelado.

Ventajas

• Coherencia temporal con la frecuencia del objetivo.


• Evita la inclusión accidental de datos futuros (data leakage).
• Captura variaciones dentro del trimestre mediante ponderaciones MIDAS.

Desventajas
• Se pierde el detalle mensual para análisis exploratorio.

• Requiere calibrar cuidadosamente los rezagos y parámetros MIDAS.

3.5.2 Enfoque 2: Panel mensual unificado


Este enfoque genera un panel mensual completo a partir de series con diferentes frecuencias, realizando
interpolaciones cuando es necesario. La base resultante permite realizar análisis exploratorios más detallados
y, en caso de ser necesario, agregarse posteriormente a frecuencia trimestral.

Pasos
1. Normalización de fechas: conversión de todas las series a inicio de mes (month start).
2. Desagregación de series trimestrales: interpolación lineal entre observaciones para obtener valores
mensuales.

3. Estandarización de variables: renombrado de columnas con prefijos temáticos (EXT_ para sector
externo, FISCAL_ para fiscal, etc.).
4. Integración del panel mensual: unificación de todas las series en una sola base de datos alineada
en fechas.

5. Transformaciones estadísticas: cálculo de logaritmos, variaciones intermensuales e interanuales,


medias y desvíos móviles.

Ventajas
• Permite análisis exploratorios y visualizaciones detalladas.
• Base flexible que puede adaptarse a diferentes frecuencias y modelos.
• Facilita la detección de valores atípicos y problemas de datos.

9
Desventajas
• Si el objetivo es trimestral, la conversión a mensual puede ser redundante.
• El uso de interpolaciones puede introducir ruido que no refleja información real.

3.5.3 Resumen comparativo

3.6 Procesamiento y análisis exploratorio de series mensuales


En esta sección se detalla el procedimiento aplicado para preparar, transformar y analizar las variables
macroeconómicas mensuales utilizadas en el trabajo. El objetivo principal de este pipeline es limpiar, es-
tandarizar y generar métricas adicionales (features) que permitan capturar patrones de tendencia, volatilidad
y correlaciones dinámicas, tanto para el análisis descriptivo como para el modelado predictivo.

3.6.1 Librerías y configuración


Se emplearon las siguientes librerías de Python:
• pandas, numpy para manipulación y transformación de datos.
• matplotlib y seaborn para visualización.

• [Link] para estadísticos de forma (asimetría, curtosis).


• statsmodels para métodos de series de tiempo, en particular descomposición STL y filtro de Hodrick-
Prescott (HP).
Se configuró un estilo gráfico uniforme (whitegrid) para todos los gráficos.

3.6.2 Funciones utilitarias


Se definieron funciones auxiliares para:

• Normalización de fechas: ensure_month_start convierte todas las observaciones al primer día del
mes (Month Start) y ordena cronológicamente.
• Selección de columnas numéricas: select_num identifica las variables cuantitativas excluyendo
columnas de fecha o país.

• Transformaciones logarítmicas: safe_log y safe_log_yoy calculan el logaritmo seguro y la variación


interanual en porcentaje, respectivamente.
• Filtrado de atípicos: hampel_filter aplica el filtro de Hampel para detectar y reemplazar valores
atípicos por la mediana local.
• Medias móviles exponenciales: add_ewma calcula tendencias suavizadas con medias móviles expo-
nenciales de distintas vidas medias (3, 6 y 12 meses).
• Estadísticas móviles: add_rolling_stats computa desvío estándar, asimetría, curtosis y autocor-
relación en ventanas de 6, 12 y 24 meses.
• Descomposición de tendencia y ciclo: add_stl realiza la descomposición STL robusta; add_hp_cycle
ofrece la alternativa del filtro HP.
• Correlaciones móviles: add_rolling_corr calcula la correlación de Pearson en ventanas móviles
entre dos series específicas.

10
3.6.3 Preparación de la base mensual
1. Conversión de todas las fechas al inicio de mes y eliminación de duplicados.
2. Limpieza de outliers en variables clave (por ejemplo, Reservas y Balanza Comercial) mediante el filtro
de Hampel.
3. Identificación de columnas numéricas disponibles para su posterior transformación.

3.6.4 Selección de variables clave


Se definió un subconjunto de variables macroeconómicas de interés, tales como:
IPC, Reservas, EXT_Total Exports - sa, EXT_Total Imports - sa, EXT_Trade Balance -
sa, Total Deuda, Deuda Externa, Deuda Interna.

Sólo se conservaron aquellas efectivamente presentes en el conjunto de datos.

3.6.5 Generación de features


A partir de las series seleccionadas se construyeron nuevas métricas:
• Tendencias suavizadas (EWMA) con distintas vidas medias.
• Estadísticas de volatilidad, forma y autocorrelación en ventanas móviles.
• Componentes de tendencia y ciclo mediante descomposición STL (alternativamente HP).

3.6.6 Análisis y visualización


Se implementaron los siguientes análisis exploratorios:

1. Inflación interanual: cálculo y gráfico de la variación % YoY del IPC.


2. Correlación rodante: análisis de la correlación móvil a 12 meses entre la variación mensual de
Reservas y la Balanza Comercial.
3. Mapa de calor de correlaciones: correlaciones de Pearson (YoY, log) entre las variables clave.

4. Descomposición visual: ejemplo gráfico de tendencia y ciclo para una serie seleccionada.

3.6.7 Objetivo práctico


Este procedimiento permitió:
• Homogeneizar las series temporales y eliminar valores atípicos.
• Extraer métricas de tendencia, volatilidad y correlación que enriquecen el análisis.

• Identificar relaciones dinámicas entre variables clave.


• Generar insumos listos para el modelado econométrico y de machine learning.

3.7 Análisis de Componentes Principales (PCA) sobre series mensuales


Con el objetivo de sintetizar la información contenida en múltiples variables macroeconómicas y reducir la
dimensionalidad del conjunto de datos, se implementó un Análisis de Componentes Principales (PCA) sobre
un panel de series temporales mensuales.

11
3.7.1 Librerías utilizadas
• pandas, numpy para manipulación de datos.
• matplotlib y seaborn para visualización.
• scikit-learn para estandarización (StandardScaler) y cálculo de PCA.

3.7.2 Preparación de datos


1. Normalización temporal: Todas las observaciones se ajustaron al primer día del mes mediante la
función ensure_month_start, eliminando duplicados y ordenando cronológicamente.
2. Transformaciones interanuales: Para variables clave como el IPC, reservas internacionales o com-
ercio exterior, se calculó la variación interanual en porcentaje (safe_log_yoy).
3. Selección de variables:
• Se filtraron las columnas numéricas con al menos un 85% de cobertura de datos (relajado a 70%
si no había suficientes series).
• Se eliminaron pares de variables con correlación absoluta mayor a 0,95 (pruning) para evitar
colinealidad extrema antes del PCA.

3.7.3 Estandarización e imputación


Las series seleccionadas fueron estandarizadas (z-score) calculando la media y desviación estándar por
columna, ignorando valores faltantes. Posteriormente, se imputaron los valores faltantes restantes con cero
para asegurar una matriz completa para el PCA.

3.7.4 Cálculo del PCA


1. Se aplicó el PCA sobre la matriz estandarizada.
2. Se extrajo el vector de varianza explicada y su acumulado.
3. Se seleccionó el número óptimo de componentes (k) como aquel que explica al menos el 85% de la
varianza total (o máximo 5 si ninguna combinación alcanzaba dicho umbral).
4. Se construyeron dos salidas:
• Factores: Serie temporal de cada componente principal (PC1, PC2, . . . , PCk).
• Loadings: Matriz de pesos que indica la contribución de cada variable original a cada componente.

3.7.5 Visualizaciones generadas


• Scree plot: Gráfico de barras con la proporción de varianza explicada por cada componente.
• Varianza acumulada: Curva con el porcentaje acumulado y una línea de referencia al 85%.
• Barras de loadings: Variables con mayor peso positivo y negativo en PC1 y PC2.
• Serie temporal de factores: Evolución mensual de PC1 y PC2.
• Diagrama de dispersión PC1–PC2: Coloreado según el año, para observar patrones temporales.

3.7.6 Exportación de resultados


Se guardaron dos archivos:
• monthly_pca_factors.csv con la serie temporal de factores.
• pca_loadings.csv con la matriz de pesos.

12
3.7.7 Ventajas de este procedimiento
• Permite resumir la información de decenas de indicadores en pocos factores que retienen la mayor parte
de la varianza.

• Reduce problemas de multicolinealidad en modelos posteriores.


• Facilita la identificación de patrones comunes entre variables.

3.8 Técnicas de transformación y análisis aplicadas


En esta sección se documentan las técnicas utilizadas para preparar, transformar y analizar las series tempo-
rales. Cada método incluye su fundamentación teórica, implementación práctica e interpretación económica.

3.8.1 Alineación temporal y no-look-ahead


• Definición: Garantizar que una observación trimestral en t solo use información disponible hasta el
inicio del trimestre t.
• Motivación: Evitar la fuga de información (look-ahead bias). Esto es fundamental en series económicas
para que las estimaciones sean comparables a un contexto real de pronóstico.
• Aplicación: En la construcción de rezagos o modelos MIDAS, se corta la información en el inicio del
trimestre.

3.8.2 Transformaciones logarítmicas y diferencias


• Logaritmo: yt = log xt estabiliza la varianza y convierte relaciones multiplicativas en aditivas.
• Variación mensual (MoM ): ∆ log xt ≈ crecimiento mensual en %.
• Variación interanual (YoY ): ∆12 log xt ≈ crecimiento anual en %.

• Interpretación: Valores positivos indican expansión; comparables entre distintas series.

3.8.3 Promedios y volatilidad rodante


• Media móvil (M Ah ): Suaviza ruido de alta frecuencia, resaltando tendencias.
• Desvío estándar (STD6/STD12): Mide volatilidad reciente en ventanas móviles.
• Autocorrelación lag-1: Mide persistencia a corto plazo.

3.8.4 Promedio móvil exponencial (EWMA)


• Definición: Promedio ponderado que da más peso a observaciones recientes.
• Parámetro: Halflife h: tiempo en el que el peso se reduce a la mitad.

• Uso: Capturar momentum y cambios recientes con menor retraso que una media móvil simple.

3.8.5 Filtrado de outliers: Hampel y Winsorización


• Hampel: Sustituye valores extremos por la mediana local usando la desviación absoluta mediana
(MAD), robusta a outliers.
• Objetivo: Prevenir que eventos atípicos distorsionen métricas y estimaciones.

13
3.8.6 Descomposición STL
• Modelo: xt = Tt + St + Rt , donde Tt es la tendencia, St la estacionalidad y Rt el residuo.
• Aplicación: Periodo 12 para datos mensuales, usando versión robusta para minimizar efecto de out-
liers.
• Interpretación:
– _stl_trend: tendencia de mediano plazo.
– _stl_cycle: fluctuaciones cíclicas no explicadas por la estacionalidad.

3.8.7 Filtro de Hodrick–Prescott (HP)


• Objetivo: Separar tendencia τt de ciclo ct = xt − τt minimizando una función de suavizado penalizado.
• Parámetro: λ ≈ 129,600 para datos mensuales.
• Interpretación: El ciclo captura desviaciones transitorias respecto de la tendencia.

3.8.8 Correlación rodante


• Definición: Correlación calculada en ventanas móviles ([Link]. 12 meses).
• Uso: Detectar cambios en la relación entre dos variables a lo largo del tiempo, identificando posibles
cambios de régimen económico.

3.8.9 Desagregación temporal


• Stocks (EOP): Asignados al fin de trimestre e interpolados linealmente.
• Flujos: Distribuidos proporcionalmente usando un indicador mensual.
• Cuidado: La interpolación implica supuestos; deben documentarse.

3.8.10 MIDAS con pesos Beta


• Objetivo: Mapear rezagos mensuales xt−1 , . . . , xt−J a una única variable trimestral mediante un
esquema de ponderación.
 
• Pesos: wj ∝ Beta J+1j
; a, b , normalizados para sumar 1.

• Interpretación: Controlar la importancia relativa de los rezagos recientes frente a los antiguos.

3.8.11 Estandarización por regímenes


• Definición: Calcular z-scores dentro de subperíodos homogéneos.
• Motivo: Atenuar quiebres estructurales y hacer comparables las escalas en distintos regímenes macroe-
conómicos.

3.8.12 Análisis de Componentes Principales (PCA)


• Preprocesado: Estandarización (z-score) por columna; imputación de faltantes.
• Descomposición: X ≈ U ΣV ⊤ .
• Interpretación:
– Factores (PC1, PC2, ...): combinaciones lineales que maximizan la varianza explicada.
– Loadings: pesos de cada variable en cada componente; definen el “tema” económico de cada factor.

14
3.8.13 Índice Compuesto por inversa de volatilidad
• Definición: Media ponderada de z-scores con pesos wi ∝ 1/σi .
• Uso: Construir indicadores líderes que integren múltiples series.

3.8.14 Interpretación conjunta de resultados


• Inflación YoY: identificar shocks nominales.

• Tendencia (STL/HP): movimientos de mediano plazo.


• Correlaciones rodantes: cambios estructurales en relaciones macroeconómicas.
• PCA: identificar factores latentes comunes y transiciones de régimen.

3.8.15 Errores comunes a evitar


1. Mezclar sellos EOM (end-of-month) con MS (month-start) generando desalineación.
2. Usar datos del mismo trimestre para predecir variables del trimestre en curso (fuga de información).

3. Sobreajustar modelos generando demasiadas variables derivadas.


4. Interpretar filtros (HP/STL) como modelos estructurales.
5. No considerar que el signo de las componentes principales es arbitrario.

3.9 Preprocesamiento avanzado de series temporales económicas


En esta sección se describen diversas técnicas de transformación, filtrado y reducción de dimensión aplica-
bles a series macroeconómicas. Cada método incluye su fundamento teórico, utilidad práctica y posibles
limitaciones.

3.9.1 Transformaciones de escala y varianza


• Logaritmo y diferencias logarítmicas: La transformación yt = log xt estabiliza la varianza y
convierte relaciones multiplicativas en aditivas. La diferencia ∆ log xt aproxima la tasa de crecimiento
porcentual. Anualizar (∆12 ) permite comparar cambios interanuales.
• Box–Cox y Yeo–Johnson: Extienden el logaritmo permitiendo optimizar el parámetro λ para max-
imizar verosimilitud bajo normalidad y homocedasticidad ([?]).
• Estandarización robusta: El z-score calculado con mediana y MAD reduce la influencia de outliers
en la escala.

3.9.2 Estacionariedad y memoria


• Diferenciación regular y estacional: Eliminan raíces unitarias; las pruebas ADF, PP y KPSS
diagnostican estacionariedad.
• Diferenciación fraccional: Permite un orden d ∈ (0, 1), conservando memoria de largo plazo ([?]).
• Pruebas de quiebres estructurales: Métodos como Bai–Perron o Zivot–Andrews detectan cambios
de parámetro en el tiempo; pueden justificar el uso de modelos por régimen.

15
3.9.3 Ajustes estacionales y de calendario
• STL / X-13 ARIMA-SEATS: Descomponen la serie en tendencia, estacionalidad y residuo, facili-
tando el uso del componente tendencia o ciclo como insumo.

• Efectos calendario: Variables indicadoras para días hábiles, fines de mes, Semana Santa, feriados o
cierres de trimestre capturan variaciones no explicadas por factores económicos.

3.9.4 Suavizados y filtros


• EWMA: Asigna pesos exponenciales decrecientes, controlando la memoria con half-life.
• Filtros HP, Baxter–King, Christiano–Fitzgerald: Separan tendencia y ciclo; se debe evitar el
sesgo de borde en validación.
• Filtro de Kalman: En modelos de espacio de estados, permite estimar componentes no observables
como nivel o tendencia local.

3.9.5 Tratamiento de outliers y faltantes


• Hampel y Winsorize: Sustituyen valores extremos por la mediana o recortan colas a percentiles fijos.
• Imputación temporal: Interpolación temporal, suavizado de Kalman o Expectation–Maximization
(EM) en modelos de factores permiten reconstruir paneles con bordes irregulares (ragged-edge).

3.9.6 Relaciones de equilibrio


• Cointegración (Engle–Granger, Johansen): Si dos o más series no estacionarias están coin-
tegradas, existe una combinación lineal estacionaria que refleja un equilibrio de largo plazo.

• Términos de corrección de error (ECT): Incorporan la desviación del equilibrio como variable
explicativa en modelos dinámicos.

3.9.7 Desagregación y agregación temporal


• Métodos Chow–Lin, Denton y Fernández: Usan indicadores de alta frecuencia para distribuir
datos de baja frecuencia, preservando patrones.
• Bridge equations: Relacionan promedios o últimos valores de variables mensuales con series trimes-
trales objetivo.

3.9.8 Datos de frecuencia mixta


• MIDAS y U-MIDAS: Modelos que ponderan rezagos de alta frecuencia mediante funciones Beta o
Almon para predecir objetivos de baja frecuencia.
• Nowcasting con factores dinámicos: Extraen factores comunes de paneles de alta frecuencia para
estimar variables agregadas.

3.9.9 Ingeniería de lags y ventanas


• Lags múltiples: Rezagos cortos y largos (1–3–6–12) capturan dinámicas rápidas y lentas.
• Ventanas móviles de riesgo: Estadísticos como desviación estándar, asimetría (skew) y curtosis
caracterizan regímenes de volatilidad.

16
3.9.10 Reducción de dimensión
• PCA / ICA: Extraen factores comunes maximizando la varianza explicada o independencia estadística.
• Dynamic Factor Models: Extienden PCA al dominio temporal usando el filtro de Kalman.
• Autoencoders: Redes neuronales para extracción no lineal de características.

3.9.11 Interacciones y ratios macroeconómicos


• Ratios: Exportaciones/Importaciones, Deuda/Reservas, M2/Reservas reflejan relaciones estructurales.
• Interacciones: Producto de estados financieros con ciclo global (ej. V IX × T Creal ) para modelar
efectos dependientes del régimen.

3.9.12 No linealidades y regímenes


• Modelos Markov-switching y Threshold AR: Incorporan cambios de régimen estocásticos o por
umbrales.
• Transformaciones piecewise: Winsorización parcial y creación de variables que capturan colas ex-
tremas.

3.9.13 Dominio frecuencia


• Series de Fourier: Componentes seno y coseno modelan estacionalidad suave.
• Análisis espectral: Detecta ciclos dominantes y coherencia cruzada entre series.
• Wavelets: Descomponen la serie en escalas, útiles para detectar cambios en frecuencias dominantes.

3.9.14 Selección y regularización


• Lasso y Elastic Net: Seleccionan variables penalizando coeficientes.
• Stability Selection: Retiene variables seleccionadas consistentemente en remuestreos bootstrap.

3.9.15 Estandarización temporal


• z-score por régimen: Estandariza dentro de subperíodos homogéneos.
• z-score rodante: Ajusta media y desviación en ventanas móviles para variables con cambios de
volatilidad.

3.9.16 Validación temporal


• Cross-validation temporal: Ventanas expansivas o rodantes para preservar la secuencia temporal y
evitar fuga de información.

3.9.17 Bibliografía sugerida para profundizar


• [?] Box, G. E. P. & Cox, D. R. (1964). An analysis of transformations. Journal of the Royal Statistical
Society.
• [?] Hosking, J. R. M. (1981). Fractional differencing. Biometrika.
• Bai, J., & Perron, P. (2003). Computation and analysis of multiple structural change models. Journal
of Applied Econometrics.
• Hamilton, J. D. (1994). Time Series Analysis. Princeton University Press.

17
Característica Enfoque 1: Trimes- Enfoque 2: Mensual unifi-
tral/MIDAS cado
Frecuencia final Trimestral Mensual (puede agregarse a
trimestral)
Uso de información Respeta rezagos y estructura del Todo alineado a meses, con inter-
objetivo polaciones
Ventajas Coherencia temporal, evita leak- Flexibilidad, análisis explorato-
age, captura intra-trimestre rio
Desventajas Pierde granularidad mensual Posible ruido por interpolación
Aplicación ideal Modelos MIDAS con objetivo Exploración y series de alta fre-
trimestral cuencia

Table 1: Comparación de los dos enfoques de preparación de datos.

18

También podría gustarte