Actualización sobre la HEFM

del 15 al 26 de septiembre 2025

DIE
  • Problema 1: MSE conjunto
    • Sesgo en distribuciones de errores incondicionales y condicionales
    • Solución propuesta: usar el valor absoluto de los errores
    • Necesidad de justificar este procedimiento
  • Problema 2: Distribuciones de errores en horizontes de pronóstico mayores a uno
    • Construcción a partir de la distribución de errores a horizonte uno
    • Implicaciones metodológicas y prácticas

Sobre el MSE conjunto

El conjunto \(\mathcal{I} = \{1, \dots, i, \dots, I\}\) es únicamente un índice asignado a una partición de la muestra.

Los conjuntos \(\mathcal{T}(i)\) y \(\mathcal{V}(i)\) representan, respectivamente, la submuestra de estimación y la submuestra de validación para la partición \(i\).

La tupla \(\mathcal{E}_u\), definida como:

\[ \mathcal{E}_{u} = \left( \hat{e}_{t|t-1, u, \mathcal{T}(i), \mathcal{V}(i)} : i \in \mathcal{I}, t \in \mathcal{V}(i) \right) \]

denota todos los errores incondicionales de dimensión \(K \times 1\) a horizonte 1, generados en el conjunto de particiones \(\mathcal{I}\).

De manera análoga, la tupla \(\mathcal{E}_c\), definida como:

\[ \mathcal{E}_{c} = \left( \hat{e}_{t|t-1, c, \mathcal{T}(i), \mathcal{V}(i), \mathcal{V}(i)} : i \in \mathcal{I}, t \in \mathcal{V}(i) \right) \]

denota todos los errores condicionales de dimensión \(K \times 1\) a horizonte 1, generados en el conjunto de particiones \(\mathcal{I}\).

De las definiciones anteriores se pueden calcular el MSE y el promedio de los errores incondicionales a horizonte 1:

\[ MSE_{\odot, u} = \dfrac{1}{\# \mathcal{E}_u} \sum_{j = 1}^{\# \mathcal{E}_u} \mathcal{E}_u(j)^{\odot^2} \]

\[ \bar{\hat{e}}_{t|t-1, u} = \dfrac{1}{\# \mathcal{E}_u} \sum_{j = 1}^{\# \mathcal{E}_u} \mathcal{E}_u(j)^{\odot^2} \]

De manera análoga, el MSE y el promedio de los errores condicionales a horizonte 1 son:

\[ MSE_{\odot, c} = \dfrac{1}{\# \mathcal{E}_c} \sum_{j = 1}^{\# \mathcal{E}_c} \mathcal{E}_c(j)^{\odot^2} \]

\[ \bar{\hat{e}}_{t|t-1, c} = \dfrac{1}{\# \mathcal{E}_c} \sum_{j = 1}^{\# \mathcal{E}_c} \mathcal{E}_c(j) \]

Nuestra definición previa de error conjunto consideraba que al error incondicional (evento aleatorio) se le sumaba el error condicional (otro evento aleatorio):

\[ e_{t|t-1, j} = e_{t|t-1, u} + e_{t|t-1, c} \]

De esta forma, el MSE conjunto se expresaba como:

\[ MSE_{\odot, j} = MSE_{\odot, u} + MSE_{\odot, c} + 2 \bar{\hat{e}}_{t|t-1, u} \odot \bar{\hat{e}}_{t|t-1, c} \]

Sin embargo, esta definición de error conjunto implica que si ambos tipos de errores presentan sesgos con signo contrario, entonces \(MSE_{\odot, j}\) puede resultar menor a \(MSE_{\odot, u} + MSE_{\odot, c}\).

Este resultado es indeseable, pues podría interpretarse como una reducción de la incertidumbre total causada únicamente por aleatoriedad.

La intuición es que el error condicional debería únicamente incrementar la incertidumbre.

La solución propuesta para este problema consiste en construir una nueva tupla de errores condicionales, \(\tilde{\mathcal{E}}_c\), que sustituye a la previamente definida en \(\mathcal{E}_c\). Su definición es la siguiente:

\[ \tilde{\mathcal{E}_{c}} = \mathcal{E}_{c} \Vert -\mathcal{E}_{c} \]

En otras palabras, a partir de los errores condicionales calculados en la herramienta, se genera una tupla extendida al concatenar la original con otra en la que cada elemento ha sido multiplicado por \(-1\).

El nuevo MSE condicional y errores promedio condicionales son:

\[ \tilde{MSE}_{\odot, c} = \dfrac{ 2 \# \mathcal{E}_c MSE_{\odot, c} }{ 2 \# \mathcal{E}_c } = MSE_{\odot, c} \]

\[ \bar{\hat{\tilde{e}}}_{t|t-1, c} = \dfrac{ \# \mathcal{E}_c \left( \bar{\hat{e}}_{t|t-1, c} - \bar{\hat{e}}_{t|t-1, c} \right) }{ 2 \# \mathcal{E}_c } = 0 \]

De este modo, el MSE conjunto ya no se ve afectado por el sesgo que pudiera presentar el error condicional.

Se intentó justificar esta nueva definición de los errores condicionales a través de una posible simetría al intercambiar la submuestra \(\mathcal{T}(i)\) por \(\mathcal{V}(i)\).

La idea parte de la definición del error condicional:

\[ \begin{align} \hat{e}_{t|t-1, c,\mathcal{T}, \mathcal{V}, \mathcal{V}} &= y_t - y_{t|t-1, c, \mathcal{T}, \mathcal{V}, \mathcal{V}} \\ &= y_t - \left( y_{t|t-1, u, \mathcal{T}, \mathcal{V}} + \hat{e}_{t|t-1, u, \mathcal{V}, \mathcal{V}} \right) \\ &= \left( y_{t|t-1, u, \mathcal{T}, \mathcal{V}} + \hat{e}_{t|t-1, u, \mathcal{T}, \mathcal{V}} \right) - \left( y_{t|t-1, u, \mathcal{T}, \mathcal{V}} + \hat{e}_{t|t-1, u, \mathcal{V}, \mathcal{V}} \right) \\ &= \hat{e}_{t|t-1, u, \mathcal{T}, \mathcal{V}} - \hat{e}_{t|t-1, u, \mathcal{V}, \mathcal{V}} \end{align} \]

Dado que el error condicional puede expresarse como una diferencia de errores incondicionales, nos preguntamos si:

\[ \hat{e}_{t|t-1, c,\mathcal{T}, \mathcal{V}, \mathcal{V}} \stackrel{?}{=} -\hat{e}_{t|t-1, c,\mathcal{V}, \mathcal{T}, \mathcal{T}} \]

No obstante, pronto notamos que esta conjetura era falsa, debido a que \(t \in \mathcal{V}\) en el lado izquierdo y \(t \in \mathcal{T}\) en el lado derecho, siendo que \(\mathcal{T} \cap \mathcal{V} = \emptyset\).

Sin embargo, la propiedad sí se cumple cuando los errores condicionales se calculan a lo largo de \(\mathcal{T} \cup \mathcal{V}\) en lugar de únicamente sobre \(\mathcal{V}\):

\[ \hat{e}_{t|t-1, c,\mathcal{T}, \mathcal{V}, \mathcal{T} \cup \mathcal{V}} = - \hat{e}_{t|t-1, c,\mathcal{V}, \mathcal{T}, \mathcal{V} \cup \mathcal{T}} \]

ya que:

\[ \hat{e}_{t|t-1, c,\mathcal{T}, \mathcal{V}, \mathcal{T} \cup \mathcal{V}} = \hat{e}_{t|t-1, u, \mathcal{T},\mathcal{T} \cup \mathcal{V}} - \hat{e}_{t|t-1, u, \mathcal{V}, \mathcal{T} \cup \mathcal{V}} \]

y

\[ \hat{e}_{t|t-1, c,\mathcal{V}, \mathcal{T}, \mathcal{T} \cup \mathcal{V}} = \hat{e}_{t|t-1, u, \mathcal{V},\mathcal{T} \cup \mathcal{V}} - \hat{e}_{t|t-1, u, \mathcal{T}, \mathcal{T} \cup \mathcal{V}} \]

El resultado anterior, en el que computamos los errores condicionales a lo largo de \(\mathcal{T} \cup \mathcal{V}\) para formar la tupla:

\[ \mathcal{E}_{c} = \left( \hat{e}_{t|t-1, c, \mathcal{T}(i), \mathcal{V}(i), \mathcal{T}(i) \cup \mathcal{V}(i)} : i \in \mathcal{I}, t \in \mathcal{T}(i) \cup \mathcal{V}(i) \right) \]

y posteriormente extendemos la tupla con los errores simétricos:

\[ \tilde{\mathcal{E}_{c}} = \mathcal{E}_{c} \Vert -\mathcal{E}_{c} \]

es lo que aún queda pendiente de implementar.

Sobre la construcción de las distribuciones de errores para horizontes mayores a uno

El objetivo es investigar cómo construir las distribuciones de los errores, tanto condicionales como incondicionales, para horizontes mayores a uno a partir de las distribuciones de los errores a horizonte uno.

La intuición de esta investigación se basa en el siguiente planteamiento.

Supongamos que contamos con una observación \(y_{t-1}\) y un modelo SVAR(1) estimado, de modo que podemos expresar la observación \(y_{t}\) como:

\[ \begin{align} y_{t} &= \hat{y}_{t|t-1, u} + \hat{e}_{t|t-1,u}\\ &= v + \hat{A}_1 y_{t-1} + \hat{e}_{t|t-1,u} \end{align} \]

El término \(\hat{e}_{t|t-1,u}\) corresponde a una realización de un error de pronóstico a horizonte 1.

De manera análoga, se obtiene una expresión para \(y_{t+1}\):

\[ \begin{align} y_{t+1} &= \hat{y}_{t+1|t, u} + \hat{e}_{t+1|t,u}\\ &= v + \hat{A}_1 y_{t} + \hat{e}_{t+1|t, u} \end{align} \]

En este caso, el pronóstico \(\hat{y}_{t+1|t, u}\) es un pronóstico a horizonte 1 con condición inicial \(y_{t}\).

El término \(\hat{e}_{t+1|t,u}\) representa otra realización de un error a horizonte 1.

Se asume que todos los errores a horizonte 1 se distribuyen idénticamente.

Sustituimos la expresión de \(y_{t}\) en la de \(y_{t+1}\):

\[ \begin{align} y_{t+1} &= v + \hat{A}_1 \left( \hat{y}_{t|t-1, u} + \hat{e}_{t|t-1,u} \right) + \hat{e}_{t+1|t,u}\\ &= v + \hat{A}_1 \hat{y}_{t|t-1, u} + \hat{A}_1 \hat{e}_{t|t-1,u} + \hat{e}_{t+1|t,u}\\ &= \hat{y}_{t+1|t-1, u} + \hat{A}_1 \hat{e}_{t|t-1,u} + \hat{e}_{t+1|t,u} \end{align} \]

Aquí, el componente \(\hat{y}_{t+1|t-1, u}\) representa el pronóstico incondicional a horizonte 2. El error de pronóstico correspondiente es:

\[ y_{t+1} - \hat{y}_{t+1|t-1, u} = \hat{A}_1 \hat{e}_{t|t-1,u} + \hat{e}_{t+1|t,u} \]

Este se compone de dos errores a horizonte 1 que se distribuyen idénticamente según \(F\).

Al realizar el procedimiento de validación cruzada, obtenemos la tupla de errores a horizonte 1:

\[ \mathcal{E}_{u} = \left( \hat{e}_{t|t-1, u, \mathcal{T}(i), \mathcal{V}(i)} : i \in \mathcal{I}, t \in \mathcal{V}(i) \right) \]

La cual puede utilizarse para construir una distribución empírica \(\hat{F}_{t|t-1}\) tal que:

\[ \hat{e}_{t|t-1, u} \sim \hat{F}_{t|t-1}, \ \forall t \]

Una propuesta para determinar la distribución de los errores a horizontes mayores consiste en aplicar la convolución de la variable aleatoria \(\hat{e}_{t|t-1, u}\) consigo misma:

\[ \begin{align} \hat{e}_{t+1|t-1, u} &= \hat{e}_{t|t-1, u} + \hat{e}_{t|t-1, u}\\ \hat{e}_{t+2|t-1, u} &= \hat{e}_{t+1|t-1, u} + \hat{e}_{t|t-1, u}\\ &\vdots\\ \hat{e}_{t+h|t-1, u} &= \hat{e}_{t+h-1|t-1, u} + \hat{e}_{t|t-1, u} \end{align} \]

De este modo, el MSE resultante para cada horizonte se expresa como:

\[ \begin{align} MSE_{\odot,u}(\hat{y}_{t+1|t-1}) &= MSE_{\odot,u}(\hat{y}_{t|t-1}) + MSE_{\odot,u}(\hat{y}_{t|t-1}) + 2 \bar{\hat{e}}_{t|t-1, u} \bar{\hat{e}}_{t|t-1, u}\\ MSE_{\odot,u}(\hat{y}_{t+2|t-1}) &= MSE_{\odot,u}(\hat{y}_{t|t-1}) + MSE_{\odot,u}(\hat{y}_{t+1|t-1}) + 2 \bar{\hat{e}}_{t|t-1, u} \bar{\hat{e}}_{t+1|t-1, u}\\ & \vdots\\ MSE_{\odot,u}(\hat{y}_{t+h|t-1}) &= MSE_{\odot,u}(\hat{y}_{t|t-1}) + MSE_{\odot,u}(\hat{y}_{t+h-1|t-1}) + 2 \bar{\hat{e}}_{t|t-1, u} \bar{\hat{e}}_{t+h-1|t-1, u} \end{align} \]

Por otro lado, si lo que se busca es obtener las distribuciones \(\hat{F}_{t+h|t-1}\), es necesario elegir alguna aproximación para \(\hat{F}_{t|t-1}\).

Si, por ejemplo, se utilizan todas las observaciones en \(\mathcal{E}_u\) como una aproximación para \(\hat{F}_{t|t-1}\) al estilo Bootstrap, entonces las convoluciones resultantes implicarían construir tuplas \(\mathcal{E}_{u, t+h|t-1}\), donde:

\[ \# \mathcal{E}_{u, t+h|t-1} = (\# \mathcal{E}_{u, t|t-1})^h \]

Esto significa que dicha tupla crece de manera exponencial.

A manera de ejemplo, supongamos que contamos con una tupla \(\mathcal{E}_{u, t|t-1}\) con 2054 elementos, correspondiente al caso de la validación incondicional para los modelos de EE.UU. En la tercera iteración, la tupla resultante \(\mathcal{E}_{u, t+2|t-1}\) ocuparía un espacio en memoria de aproximadamente 64.6 GB.

Otra alternativa es aproximar \(\hat{F}_{t|t-1}\) mediante una función escalonada, dividiendo el rango de \(\mathcal{E}_u\) en \(\eta\) intervalos uniformes.

El procedimiento es el siguiente:

  • Primero, se determinan los valores extremos que delimitan el rango de \(\mathcal{E}_u\), es decir, \(\min_l \mathcal{E}_u(l)\) y \(\max_l \mathcal{E}_u(l)\).

  • Luego, se construyen los intervalos, definidos como:

\[ B(j) = [a_j, a_{j+1}), \, (j = 1, \dots, \eta - 1), \quad B_{\eta} = [a_{\eta}, a_{\eta + 1}] \]

  • Se cuentan los elementos en cada intervalo:

\[ n_j = \sum_{l=1}^{\# \mathcal{E}_u} \mathbf{1}\{\mathcal{E}_u(l) \in B_j\}, \qquad j = 1, \dots, \eta \]

  • Se calculan las frecuencias relativas:

\[ p_j = \dfrac{n_j}{\# \mathcal{E}_u} \]

A partir de las frecuencias relativas se pueden obtener tanto la CDF como la función de densidad:

\[ \hat{F}_{t|t-1, \eta}(x) = \sum_{j = 1}^{\eta} p_j \mathbf{1}\{a_{j+1} \leq x\} \]

\[ \hat{f}_{t|t-1, \eta}(x) = \sum_{j = 1}^{\eta} \dfrac{p_j}{h_j} \mathbf{1}\{x \in B_j\}, \qquad h_j = a_{j+1} - a_{j} \]

En este caso, la convolución de \(\hat{f}_{t|t-1, \eta}(x)\) consigo misma es:

\[ (\hat f_{t|t-1, \eta} * \hat f_{t|t-1, \eta})(x) =\int_{\mathbb R} \hat f_{t|t-1, \eta}(s)\,\hat f_{t|t-1, \eta}(x-s)\,ds \]

\[ (\hat f_{t|t-1, \eta} * \hat f_{t|t-1, \eta})(x) =\sum_{i=1}^{\eta}\sum_{j=1}^{\eta} \dfrac{p_i}{h_i} \dfrac{p_j}{h_j} \; \lambda\!\left(B_i \cap (x - B_j)\right) \]

donde:

\[ \lambda\!\left(B_i \cap (x - B_j)\right) = \max \lbrace 0, \min(a_{i+1}, x - a_j), \max(a_i, x - a_{j+1}) \rbrace \]

Una ventaja de usar un ancho uniforme \(h_i = h(\eta)\), determinado por \(\eta\), es que el soporte de la convolución crece a razón de \(2\eta + 1\) valores, manteniendo el mismo ancho \(h\). Esto reduce drásticamente el espacio necesario para almacenar la información de las distribuciones y permite controlar el tamaño de los intervalos para aumentar o disminuir la resolución.