1.7. Vecteurs gaussiens#

1.7.1. Gaussiennes indépendantes#

Pour simuler une variable aléatoire de loi normale, une méthode classique consiste à utiliser la transformation de Box-Muller obtenue par l’écriture polaire d’un couple de 2 variables aléatoires gaussiennes indépendantes. Plus précisément on a le résultat suivant.

Proposition 1.5 (Transformation de Box-Muller)

Soit \(R^2\) et \(\Theta\) variables aléatoires indépendantes telles que

\[\begin{equation*} R^2 \sim \mathcal{E}\Big( \frac{1}{2} \Big) \quad \text{ et } \quad \Theta \sim \mathcal{U}\big([0,2 \pi]\big). \end{equation*}\]

Alors \(X = (R \cos(\Theta), R \sin(\Theta))\) suit la loi normale centrée de covariance l’identité (les 2 composantes sont indépendantes).

Proof. Changement de variable: passage en coordonnées polaires.

La conséquence de cette proposition est la simulation de Gaussiennes indépendantes par la méthode de Box-Muller: soit \((U_1, U_2) \sim \mathcal{U}\big([0,1]^2\big)\) alors si on pose

\[\begin{equation*} \begin{cases} G_1 = \sqrt{-2 \log(U_1)} \cos(2 \pi U_2), \\ G_2 = \sqrt{-2 \log(U_1)} \sin(2 \pi U_2), \end{cases} \end{equation*}\]

les variables \(G_1\) et \(G_2\) sont indépendantes de loi \(\mathcal{N}(0,1)\).

En fait le vecteur \((\cos(2 \pi U_2), \sin(2 \pi U_2)\) est uniforme sur le cercle unité \(\mathcal{C}_2 = \big\{(x, y) \in \mathbf{R}^2, \, x^2 + y^2 = 1\big\}\) et la variable aléatoire \(R = \sqrt{-2 \log(U_1)}\) représente le rayon indépendant du vecteur uniforme sur \(\mathcal{C}_2\).

On peut généraliser cette approche pour des lois radialement symétriques sur \(\mathbf{R}^d\) c’est à dire des lois de densité \(f\) de la forme \(f(x) = g(|x|)\). On note \(B_d\) la boule unité et \(C_d\) la sphère unité i.e.

\[\begin{equation*} B_d = \big\{x \in \mathbf{R}^d, \, |x| \le 1\big\}, \quad C_d = \big\{x \in \mathbf{R}^d, \, |x| = 1\big\}. \end{equation*}\]

Le volume de \(B_d\) est noté \(V_d = \lambda_d(B_d) = \frac{\pi^{d/2}}{\Gamma(d/2+1)}\). On considère l’application \(p\) bijective continue définie par

\[\begin{align*} p : \mathbf{R}^d & \to ]0,+\infty[ \times C_d \\ x & \mapsto \Big( |x|, \frac{x}{|x|} \Big), \end{align*}\]

de réciproque \(p^{-1}(r, s) = r s\). La mesure image de \(\lambda_d\) (la mesure de Lebesgue sur \(\mathbf{R}^d\)) par l’application \(p\) est la mesure \(\mu_d\) vérifiant la décomposition

\[\begin{equation*} \mu_d = \rho_d \otimes \nu_d, \end{equation*}\]

  • \(\rho_d\) est la mesure à densité \(r \mapsto d V_d r^{d-1} \mathbf{1}_{]0,+\infty[}(r)\) par rapport à \(\lambda_1\),

  • \(\nu_d\) est la mesure de probabilité sur \(\mathcal{B}(C_d)\) définie par

\[\begin{align*} \forall E \in \mathcal{B}(C_d), \quad \nu_d(E) &= \frac{1}{V_d} \lambda_d\big(p^{-1}(]0,1] \times E)\big) \\ &= \frac{1}{V_d} \lambda_d\Big( \Big\{x \in \mathbf{R}^d_*, \, |x| \le 1, \frac{x}{|x|} \in E \Big\} \Big). \end{align*}\]

On appelle \(\nu_d\) la mesure uniforme sur le cercle unité \(C_d\).

Proposition 1.6

Soit \(X\) une variable aléatoire de loi radialement symétrique i.e. de densité \(f(x) = g(|x|)\) avec \(g:]0,+\infty[ \to \mathbf{R}_+\) telle que \(\int_0^{+\infty} g(r) d V_d r^{d-1} \operatorname{d}\! r= 1\). Alors

\[\begin{equation*} R = |X| \quad \text{et} \quad S = \frac{X}{|X|} \end{equation*}\]

sont indépendantes. De plus \(S\) est de loi uniforme \(\nu_d\) sur \(C_d\) et \(R\) est une variable aléatoire réelle positive de densité \(r \mapsto g(r) d V_d r^{d-1} \mathbf{1}_{]0,+\infty[}(r)\).

See also

Pour en savoir plus sur la méthode Polaire et la simulation des lois radialement symétriques vous pouvez consulter la section 6 du polycopié de Charles Suquet en ligne: http://math.univ-lille1.fr/~suquet/ens/Agr/simul06.pdf.

1.7.2. Vecteurs gaussiens corrélés#

Un vecteur gaussien \(X \in \mathbf{R}^d\) est caractérisé par sa moyenne, un vecteur \(m = \mathbf{E}[X]\) et sa matrice de covariance \(\Sigma = \big( \operatorname{cov}(X_i, X_j) \big)_{1 \le i,j \le d}\). Cette matrice \(\Sigma\) est symétrique, semi-définie positive (toutes les valeurs propres sont positives ou nulles) et \(\Sigma\) n’est pas nécessairement inversible.

On rappelle que pour tout vecteur \(Y \in \mathbf{L}^2(\mathbf{R}^d)\) et toute matrice \(A \in \mathcal{M}(q, d)\) on a \(A Y \in \mathbf{L}^2(\mathbf{R}^q)\) et la matrice de covariance du vecteur \(A Y\) est donnée par \(C_{AY} = A C_Y A^\top\)\(C_Y\) est la matrice de covariance du vecteur \(Y\).

Ainsi pour simuler \(X \sim \mathcal{N}(0, \Sigma)\) on va considérer \(G \sim \mathcal{N}(0, \operatorname{Id}_d)\) et une matrice \(A\) telle que \(A A^\top = \Sigma\).

  • Cas général Comme \(\Sigma\) est symétrique et semi-définie positive on peut utiliser la décomposition en valeurs propres (SVD pour singular value decomposition en anglais), ainsi \(\Sigma = Q S Q^\top\)\(S\) est la matrice diagonale composée des valeurs propres de \(\Sigma\) et \(Q\) est une matrice orthogonale i.e. \(Q^\top = Q^{-1}\). Pour obtenir la matrice \(A\) on pose \(A = Q \sqrt{S}\) et \(X = A G\).

  • Cas \(\Sigma\) inversible (i.e. \(\Sigma\) définie positive) Dans ce cas on utilise la transformation de Cholesky qui permet de construire \(L\) triangulaire inférieure telle que \(L L^\top = \Sigma\). Pour la simulation il suffit de poser \(X = L G\).

Example 1.5 (A connaître, le cas \(d = 2\))

On souhaite simuler 2 variables aléatoires Gaussiennes \(X_1\) et \(X_2\) corrélées. Plus précisément, on suppose \(X_1 \sim \mathcal{N}(0, \sigma_1^2)\), \(X_2 \sim \mathcal{N}(0, \sigma_2^2)\) et \(\operatorname{corr}(X_1, X_2) = \rho \in [-1,1]\). Comment simuler ce couple \((X_1, X_2)\) ?

Le vecteur \((X_1, X_2)\) est un vecteur gaussien centré de matrice de covariance \(\Sigma = \begin{pmatrix} \sigma_1^2 & \rho \sigma_1 \sigma_2 \\ \rho \sigma_1 \sigma_2 & \sigma_2^2 \end{pmatrix}\). La transformation de Cholesky donne la matrice

\[\begin{equation*} L = \begin{pmatrix} \sigma_1 & 0 \\ \rho \sigma_2 & \sqrt{1 - \rho^2} \sigma_2 \end{pmatrix}, \end{equation*}\]

et on vérifie que \(L L^\top = \Sigma\). Ainsi pour simuler \((X_1, X_2) \sim \mathcal{N}(0, \Sigma)\) on pose

\[\begin{equation*} \begin{cases} X_1 = \sigma_1 G_1, \\ X_2 = \rho \sigma_2 G_1 + \sqrt{1 - \rho^2} \sigma_2 G_2. \end{cases} \end{equation*}\]