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.
(Transformation de Box-Muller)
Soit \(R^2\) et \(\Theta\) variables aléatoires indépendantes telles que
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
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.
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
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
où
\(\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
On appelle \(\nu_d\) la mesure uniforme sur le cercle unité \(C_d\).
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
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\) où \(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\) où \(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\).
\(d = 2\))
(A connaître, le casOn 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
et on vérifie que \(L L^\top = \Sigma\). Ainsi pour simuler \((X_1, X_2) \sim \mathcal{N}(0, \Sigma)\) on pose