6.4 Método de las distribuciones condicionadas
Teniendo en cuenta que: \[f\left( x_1,x_2,\ldots,x_d\right) =f_1\left( x_1\right) \cdot f_2\left( x_2|x_1\right) \cdots f_d\left( x_d|x_1,x_2,\ldots,x_{d-1}\right),\] donde las densidades condicionales pueden obtenerse a partir de las correspondientes marginales: \[f_i\left( x_i|x_1,x_2,\ldots,x_{i-1}\right) =\frac{f_{1,\ldots ,i}\left( x_1,x_2,\ldots,x_i\right) }{f_{1,\ldots,i-1}\left( x_1,x_2,\ldots,x_{i-1}\right)},\]
se obtiene el siguiente algoritmo general:
Generar \(X_1 \sim f_1\).
Desde \(i=2\) hasta \(d\) generar \(X_i \sim f_i\left( \cdot|X_1,X_2,\ldots,X_{i-1}\right)\).
Devolver \(\mathbf{X} =\left( X_1,X_2,\ldots,X_d\right)\).
Nota: En las simulaciones unidimensionales se puede tener en cuenta que
\(f_i\left( x_i|x_1,x_2,\ldots,x_{i-1}\right) \propto f_{1,\ldots,i}\left( x_1,x_2,\ldots,x_i\right)\).
Ejemplo 6.5 (distribución uniforme en el círculo unitario)
Se trata de la distribución bidimensional continua con densidad constante en el círculo: \[C = \left\{ \left( x_1, x_2 \right) \in \mathbb{R}^2 : x_1^2 + x_2^2 \leq 1 \right\}.\]
Su función de densidad viene dada por: \[f\left( x_1,x_2\right) =\left\{ \begin{array}{ll} \frac{1}{\pi} & \text{si } \left( x_1,x_2\right) \in C\\ 0 & \text{si } \left( x_1,x_2\right) \notin C \end{array}\right.\]
La densidad marginal de la primera variable resulta: \[f_1\left( x_1\right) =\int_{-\sqrt{1-x_1^2}}^{+\sqrt{1-x_1^2}}\frac{1}{\pi}dx_2 =\frac{2\sqrt{1-x_1^2}}{\pi} \text{ si }x_1\in\left[-1,1\right],\] es decir: \[f_1\left( x_1\right) =\left\{ \begin{array}{ll} \frac{2}{\pi}\sqrt{1-x_1^2} & \text{si } x_1\in\left[ -1,1\right] \\ 0 & \text{si } x_1\notin\left[ -1,1\right] \end{array}\right.\]
Además: \[f_2\left( x_2|x_1\right) = \frac{f\left( x_1,x_2\right) }{f_1\left( x_1\right)} = \frac{\frac{1}{\pi}}{\frac{2\sqrt{1-x_1^2}}{\pi}}=\frac{1}{2\sqrt{1-x_1^2}}\text{, si }x_2\in\left[ -\sqrt{1-x_1^2},\sqrt{1-x_1^2}\right]\] valiendo cero en otro caso. Se tiene entonces que: \[X_2|X_1 \sim \mathcal{U}\left( -\sqrt{1-X_1^2},\sqrt{1-X_1^2}\right),\] siempre que \(X_1\in\left[ -1,1\right]\).
Finalmente, el algoritmo resulta:
Simular \(X_1\) con densidad \(f_1\left( x_1\right) =\frac{2}{\pi}\sqrt{1-x_1^2}1_{\{|x_1|\leq1\}}\).
Simular \(X_2\) con densidad \(\mathcal{U}\left( -\sqrt{1-X_1^2},\sqrt{1-X_1^2}\right)\).
Devolver \(\mathbf{X}=\left( X_1,X_2\right) ^t\).
Para el paso 1 puede utilizarse, por ejemplo, el método de aceptación/rechazo, pues se trata de una densidad acotada definida en un intervalo acotado.
Ejemplo 6.6 (distribución normal bidimensional)
En el caso de una distribución normal bidimensional: \[\mathbf{X} = \begin{pmatrix} X_1 \\ X_2 \end{pmatrix} \sim \mathcal{N} \left( \begin{pmatrix} \mu_1 \\ \mu_2 \end{pmatrix} , \begin{pmatrix} \sigma^2_1 & \sigma_1 \sigma_2 \rho \\ \sigma_1 \sigma_2 \rho & \sigma^2_2 \end{pmatrix} \right)\]
tendríamos que:
\[\begin{aligned} f(x_1,x_2) &= \frac{1}{2 \pi \sigma_1 \sigma_2 \sqrt{1-\rho^2}} \\ &\exp \left( -\frac{1}{2 (1-\rho^2)} \left( \frac{(x_1 - \mu_1)^2}{\sigma_1^2} + \frac{(x_2 - \mu_2)^2}{\sigma_2^2} - \frac{2 \rho (x_1 - \mu_1) (x_2 - \mu_2)}{ \sigma_1 \sigma_2} \right) \right) \end{aligned}\]
de donde se deduce (ver e.g. Cao, 2002, p.88; o ecuaciones (6.1) y (6.2) en la Sección 6.5.1) que:
\[f_1( x_1 ) = \frac{1}{\sigma_1\sqrt{2\pi}} \exp\left( -\frac{(x_1 - \mu_1)^{2}}{2\sigma_1^{2}}\right)\]
\[\begin{aligned} f_2\left( x_2|x_1\right) &= \frac{f\left( x_1,x_2\right) }{f_1\left( x_1\right)} \\ &= \frac{1}{\sigma_2\sqrt{2\pi (1-\rho^2)}} \exp\left( -\frac{\left(x_2 - \mu_2 - \frac{\sigma_2}{\sigma_1}\rho( x_1 - \mu_1)\right)^{2}}{2\sigma_2^2 (1-\rho^2)}\right) \end{aligned}\]
Por tanto:
\[\begin{aligned} X_1 &\sim \mathcal{N}\left( \mu_1, \sigma_1^2 \right) \\ X_2 | X_1 &\sim \mathcal{N} \left( \mu_2 + \frac{\sigma_2}{\sigma_1}\rho( X_1 - \mu_1), \sigma_2^2 (1-\rho^2) \right) \end{aligned}\]
y el algoritmo sería el siguiente:
Algoritmo 6.3 (de simulación de una normal bidimensional)
Simular \(Z_1, Z_2 \sim \mathcal{N}\left( 0, 1 \right)\) independientes.
Hacer \(X_1 = \mu_1 + \sigma_1 Z_1\).
Hacer \(X_2 =\mu_2 + \sigma_2 \rho Z_1 + \sigma_2 \sqrt{1-\rho^2} Z_2\).
Este algoritmo es el mismo que obtendríamos con la factorización de la matriz de covarianzas ya que \(\Sigma = L L^t\) con: \[L = \begin{pmatrix} \sigma^2_1 & 0 \\ \sigma_2 \rho & \sigma_2 \sqrt{1-\rho^2} \end{pmatrix}\]
Además, esta aproximación puede generalizarse al caso multidimensional, ver Sección 6.5.1.
Ejercicio 6.2
Considerando la variable aleatoria bidimensional del Ejemplo 6.2 y teniendo en cuenta que la densidad marginal de la variable \(X\) es: \[f_{X}(x)=\left\{ \begin{array}{cl} \frac{1}{8}\left( 5-3x^2\right) & \text{si }x\in \lbrack -1,1] \\ 0 & \text{en otro caso} \end{array} \right.\] Describir brevemente un algoritmo para la simulación del vector aleatorio basado en el método de las distribuciones condicionadas (asumir que se dispone de un algoritmo para generar observaciones de las distribuciones unidimensionales de interés).