El Gibbs anterior facilita la derivación de las condicionales completas, pero puede mostrar alta autocorrelación en \(W\): una trayectoria latente muy suave favorece valores pequeños de \(W\), que a su vez inducen trayectorias igualmente suaves en la siguiente iteración. Aumentar las iteraciones reduce el error Monte Carlo, pero no elimina este mecanismo de dependencia.
Una alternativa consiste en integrar los estados antes de actualizar los parámetros. El filtro de Kalman permite calcular exactamente, para cada pareja \((V,W)\), la verosimilitud marginal
Construcción de la propuesta independiente Student-\(t\)
El objetivo del procedimiento Metropolis–Hastings marginal es generar muestras de la distribución posterior de las varianzas \(V\) y \(W\) sin condicionar en una trayectoria particular de los estados latentes. Para ello, aprovechamos que el filtro de Kalman permite evaluar la verosimilitud marginal de los datos, integrando analíticamente los estados \(x_{0:T}\).
Recordemos que trabajamos con el vector transformado
\[
\boldsymbol\eta=
\begin{pmatrix}
\eta_V\\
\eta_W
\end{pmatrix}
=
\begin{pmatrix}
\log V\\
\log W
\end{pmatrix}.
\]
Esta transformación permite trabajar en \(\mathbb R^2\) sin imponer explícitamente las restricciones \(V>0\) y \(W>0\). Las varianzas originales se recuperan mediante \(V=e^{\eta_V}\) y \(W=e^{\eta_W}\).
Definamos
\[
\ell(\boldsymbol\eta)
=
\log p(\boldsymbol\eta\mid y_{1:T}),
\]
omitiendo las constantes que no dependen de \(\boldsymbol\eta\). La expresión de \(\ell(\boldsymbol\eta)\) está dada por Ecuación 13.25, que incluye los jacobianos de la transformación logarítmica.
Paso 1. Aproximación local de la distribución posterior.
En primer lugar, calculamos numéricamente la moda de la distribución posterior en las coordenadas transformadas:
\[
\widehat{\boldsymbol\eta}
=
\underset{\boldsymbol\eta\in\mathbb R^2}{\arg\max}
\;\ell(\boldsymbol\eta).
\]
Alrededor de esta moda, una expansión de Taylor de segundo orden proporciona la aproximación
\[
\ell(\boldsymbol\eta)
\approx
\ell(\widehat{\boldsymbol\eta})
-\frac12
(\boldsymbol\eta-\widehat{\boldsymbol\eta})^\top
\boldsymbol H
(\boldsymbol\eta-\widehat{\boldsymbol\eta}),
\]
donde
\[
\boxed{
\boldsymbol H
=
-\left.
\frac{\partial^2\ell(\boldsymbol\eta)}
{\partial\boldsymbol\eta\,
\partial\boldsymbol\eta^\top}
\right|_{\boldsymbol\eta=\widehat{\boldsymbol\eta}}
}
\tag{13.26}\]
es la matriz hessiana negativa de la log-posterior, evaluada en la moda.
En nuestro problema, \(\boldsymbol H\) es una matriz de dimensión \(2\times2\):
\[
\boldsymbol H=
\begin{pmatrix}
H_{VV} & H_{VW}\\
H_{WV} & H_{WW}
\end{pmatrix}.
\]
Los elementos diagonales describen la curvatura local de la log-posterior en las direcciones de \(\log V\) y \(\log W\). Los elementos fuera de la diagonal describen la interacción entre ambas direcciones.
Si \(\boldsymbol H\) es definida positiva, la aproximación cuadrática anterior corresponde al núcleo de una distribución normal bivariada:
\[
\boldsymbol\eta\mid y_{1:T}
\;\dot{\sim}\;
N_2\left(
\widehat{\boldsymbol\eta},
\boldsymbol H^{-1}
\right).
\]
El símbolo \(\dot{\sim}\) indica que se trata de una aproximación local y no de una igualdad distribucional exacta.
La matriz \(\boldsymbol H^{-1}\) aproxima la dispersión posterior alrededor de la moda. En particular, sus elementos fuera de la diagonal permiten representar la asociación local entre \(\log V\) y \(\log W\).
Esta asociación es relevante porque distintas combinaciones de varianza de observación y varianza de evolución pueden explicar patrones similares de variabilidad en una serie temporal.
Paso 2. Construcción de una propuesta Student-\(t\) bivariada.
Aunque podríamos utilizar directamente la aproximación normal anterior como distribución de propuesta, preferimos una distribución Student-\(t\) multivariada, que tiene colas más pesadas y permite explorar con mayor frecuencia regiones alejadas de la moda.
Definimos
\[
\boxed{
q(\boldsymbol\eta)
=
t_\nu\left(
\widehat{\boldsymbol\eta},
\boldsymbol S
\right),
}
\tag{13.27}\]
donde \(\nu\) representa los grados de libertad y
\[
\boldsymbol S=\kappa^2\boldsymbol H^{-1},
\qquad \kappa>0,
\]
es la matriz de escala de la propuesta.
El parámetro \(\kappa\) permite aumentar o disminuir la dispersión de la propuesta respecto de la aproximación local normal.
En la implementación computacional del capítulo utilizamos
\[
\nu=6,\qquad \kappa=1.3.
\]
Por tanto, la matriz de escala se construye como
\[
\boldsymbol S=1.3^2\boldsymbol H^{-1}.
\]
Es importante recordar que, para una distribución Student-\(t\) multivariada con \(\nu>2\), la matriz de covarianza es
\[
\operatorname{Var}_q(\boldsymbol\eta)
=
\frac{\nu}{\nu-2}\boldsymbol S.
\]
En consecuencia, \(\boldsymbol S\) no coincide directamente con la matriz de covarianza de la propuesta.
La densidad Student-\(t\) bivariada es proporcional a
\[
q(\boldsymbol\eta)
\propto
\left[
1+\frac{1}{\nu}
(\boldsymbol\eta-\widehat{\boldsymbol\eta})^\top
\boldsymbol S^{-1}
(\boldsymbol\eta-\widehat{\boldsymbol\eta})
\right]^{-(\nu+2)/2}.
\]
La forma cuadrática de esta expresión incorpora la asociación entre las dos componentes del vector de parámetros.
Además, las colas más pesadas de la distribución Student-\(t\) pueden mejorar la cobertura de regiones posteriores donde la aproximación normal local resulta poco precisa.
La matriz hessiana se utiliza solamente para construir una propuesta razonable. No estamos sustituyendo la posterior verdadera por una aproximación normal o Student-\(t\): el paso Metropolis–Hastings corrige la diferencia entre la propuesta y la distribución objetivo.
Paso 3. Generación de candidatos y probabilidad de aceptación.
Supongamos que el valor actual de la cadena es \(\boldsymbol\eta^{(s-1)}\).
Generamos un nuevo candidato desde
\[
\boldsymbol\eta^\star\sim q(\boldsymbol\eta).
\]
Una característica fundamental es que esta propuesta es independiente: su distribución no depende del valor actual \(\boldsymbol\eta^{(s-1)}\).
Esto la distingue de una propuesta de caminata aleatoria, como
\[
\boldsymbol\eta^\star
=
\boldsymbol\eta^{(s-1)}+\boldsymbol\varepsilon,
\]
en la que la distribución del candidato está centrada en el valor actual de la cadena.
En nuestro caso, todos los candidatos se generan desde la misma distribución Student-\(t\) centrada en \(\widehat{\boldsymbol\eta}\).
El candidato se acepta con probabilidad
\[
\boxed{
\alpha\left(
\boldsymbol\eta^{(s-1)},\boldsymbol\eta^\star
\right)
=
\min\left\{
1,\,
\frac{
p(\boldsymbol\eta^\star\mid y_{1:T})
q(\boldsymbol\eta^{(s-1)})
}{
p(\boldsymbol\eta^{(s-1)}\mid y_{1:T})
q(\boldsymbol\eta^\star)
}
\right\}.
}
\tag{13.28}\]
Esta expresión corresponde a la regla de Metropolis–Hastings para una propuesta independiente.
Obsérvese que aparece el cociente
\[
\frac{
q(\boldsymbol\eta^{(s-1)})
}{
q(\boldsymbol\eta^\star)
}.
\]
Este término es necesario porque, aunque la propuesta no depende del estado actual, no es simétrica en el sentido requerido para cancelar las densidades de propuesta.
En particular, la probabilidad de proponer \(\boldsymbol\eta^\star\) desde \(\boldsymbol\eta^{(s-1)}\) es \(q(\boldsymbol\eta^\star)\), mientras que la probabilidad de proponer el movimiento inverso es \(q(\boldsymbol\eta^{(s-1)})\).
Para mejorar la estabilidad numérica, trabajamos con logaritmos. Definimos
\[
\begin{aligned}
r_s={}&
\ell(\boldsymbol\eta^\star)
-\ell(\boldsymbol\eta^{(s-1)})\\
&+\log q(\boldsymbol\eta^{(s-1)})
-\log q(\boldsymbol\eta^\star).
\end{aligned}
\]
Entonces,
\[
\alpha_s=\min\{1,\exp(r_s)\}.
\]
Si generamos \(U_s\sim U(0,1)\), aceptamos el candidato cuando
\[
\log U_s<r_s.
\]
En caso contrario, la cadena conserva el valor anterior:
\[
\boldsymbol\eta^{(s)}
=
\boldsymbol\eta^{(s-1)}.
\]
La evaluación de \(\ell(\boldsymbol\eta^\star)\) requiere ejecutar el filtro de Kalman con \(V=e^{\eta_V^\star}\) y \(W=e^{\eta_W^\star}\) para calcular la verosimilitud marginal correspondiente.
Algoritmo: Metropolis–Hastings marginal con FFBS
Entradas:
- Observaciones \(y_{1:T}\).
- Distribución inicial \(x_0\sim N(m_0,C_0)\).
- Prioris independientes \(V\sim\operatorname{IG}(a_V,b_V)\) y \(W\sim\operatorname{IG}(a_W,b_W)\).
- Número de iteraciones \(M\), calentamiento \(B\) y frecuencia de conservación de muestras.
- Grados de libertad \(\nu\) y factor de dispersión \(\kappa\) de la propuesta.
Preparación:
Definir \(\ell(\boldsymbol\eta)\) mediante Ecuación 13.25, utilizando la verosimilitud calculada por el filtro de Kalman.
Encontrar numéricamente la moda \(\widehat{\boldsymbol\eta}\) y calcular la matriz hessiana negativa \(\boldsymbol H\) en ese punto.
Construir la distribución de propuesta independiente
\[
q(\boldsymbol\eta)=
t_\nu\left(
\widehat{\boldsymbol\eta},
\kappa^2\boldsymbol H^{-1}
\right).
\]
Si la hessiana estimada presenta problemas numéricos, regularizar sus autovalores para obtener una matriz de escala definida positiva.
Inicializar la cadena, por ejemplo, en
\[
\boldsymbol\eta^{(0)}
=\widehat{\boldsymbol\eta}.
\]
Iteraciones MCMC:
Para \(s=1,\ldots,M\):
Generar un candidato independiente
\[
\boldsymbol\eta^\star\sim q(\boldsymbol\eta).
\]
Calcular \(\ell(\boldsymbol\eta^\star)\) mediante el filtro de Kalman.
Evaluar la probabilidad de aceptación \(\alpha_s\) utilizando Ecuación 13.28.
Generar \(U_s\sim U(0,1)\) y actualizar
\[
\boldsymbol\eta^{(s)}
=
\begin{cases}
\boldsymbol\eta^\star,
&U_s<\alpha_s,\\
\boldsymbol\eta^{(s-1)},
&U_s\geq\alpha_s.
\end{cases}
\]
Si la iteración corresponde a una muestra que debe conservarse, transformar
\[
V^{(s)}=e^{\eta_V^{(s)}},
\qquad
W^{(s)}=e^{\eta_W^{(s)}}.
\]
Condicionalmente en \((V^{(s)},W^{(s)})\), ejecutar FFBS para generar una trayectoria conjunta \(x_{0:T}^{(s)}\), si se requieren estados completos.
Guardar las cantidades de interés, como \(V^{(s)}\), \(W^{(s)}\), \(W^{(s)}/V^{(s)}\), \(x_T^{(s)}\) y, cuando corresponda, la trayectoria completa de estados.
Resultados:
Descartar las iteraciones de calentamiento y utilizar las muestras conservadas para estimar distribuciones posteriores, intervalos creíbles y distribuciones predictivas.
Se recomienda ejecutar varias cadenas con semillas diferentes y evaluar convergencia y eficiencia mediante trazas, \(\widehat R\), ESS y tasas de aceptación.
Diferencia respecto del algoritmo de Gibbs.
En Gibbs, los parámetros se actualizan condicionalmente en la trayectoria latente generada durante la misma iteración. Por tanto, la actualización de \(W\) utiliza explícitamente los incrementos de esa trayectoria.
En el método marginal, la actualización de \((V,W)\) utiliza la verosimilitud después de integrar los estados. La trayectoria latente se genera solamente después de obtener una muestra de los parámetros, por lo que no condiciona la siguiente transición Metropolis–Hastings.
Este cambio puede reducir la autocorrelación de la cadena de parámetros, aunque requiere evaluar el filtro de Kalman para cada candidato.
La mejora en eficiencia no está garantizada: depende de qué tan bien la propuesta Student-\(t\) aproxime la posterior marginal. Por ello, además del ESS, conviene comparar el ESS por unidad de tiempo computacional.
La función mcmc_marginal_ffbs_bdlm() implementa este algoritmo. En particular, cuando solamente se necesita \(x_T\) para construir pronósticos, la implementación simula directamente de su distribución filtrada, evitando el costo de generar los estados intermedios.
Esta estrategia se basa en la verosimilitud marginal de Kalman y en los principios generales de Metropolis–Hastings y simulación retrospectiva (Petris et al. 2009, secs. 4.1 y 4.4; Prado et al. 2021, sec. 4.5).