1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
|
\documentclass[a4paper, 11pt, french]{article}
\usepackage{babel}
\usepackage{fontspec}
\usepackage{amssymb, amsmath}
\usepackage[pagebackref=true,breaklinks=true,colorlinks=true,backref=false]{hyperref}
\usepackage[capitalize,noabbrev]{cleveref}
\usepackage[backend=biber,style=trad-plain]{biblatex}
\addbibresource{rapport.bib}
\newcommand{\E}{\mathbb{E}}
\newcommand{\V}{\mathbb{V}}
\begin{document}
\section*{Introduction}
Sujet : Comparer les performances des méthodes de stratification exposées dans \cite{etore:hal-00192540}
et de QMC randomisées exposées dans \cite{tuffin2004randomization} sur les exemples présentés dans \cite{etore:hal-00192540}
Références : \cite{etore:hal-00192540} \cite{tuffin2004randomization}
\section{Quasi Monte Carlo randomisé}
\subsection{Présentation mathématique}
On suppose qu'on cherche à calculer
\begin{equation*}
I=\int_{[0,1]^s}f(x)dx
\end{equation*}
Soit $(\xi^{(n)})_{n\in\mathbb{N}}$ une suite à discrépance faible à valeurs dans $[0,1]^s$.
Au bout de N tirages de cette suite, la méthode de quasi Monte Carlo nous donnerait une approximation de la valeur de $I$
par la formule :
\begin{equation*}
\lim_{N\rightarrow\infty}\frac{1}{N}\sum_{n=1}^Nf(\xi^{(n)}) = I
\end{equation*}
Le souci de cette méthode est de ne pas pouvoir obtenir d'erreur de l'estimateur facilement. En effet l'inégalité de Koksma–Hlawka nous donne une borne de
cette erreur mais nécessite de pouvoir calculer la variation finie de la fonction $f$ ce qui n'est pas toujours possible en pratique. C'est pourquoi on introduit
la méthode de quasi Monte Carlo randomisé. Elle consiste à rajouter un décalage aléatoire à la suite $(\xi^{(n)})$. Soit $X$ une variable aléatoire
uniformément distribuée sur ${[0,1]^s}$. On s'intéresse dorénavant à la somme aléatoire :
\begin{equation*}
Z=\frac{1}{N}\sum_{n=1}^Nf(\{\xi^{(n)}+X\})
\end{equation*}
où \{$X$\} désigne la partie fractionnaire de $X$.
L'idée consiste à faire $K$ tirages de $Z$, ce qui revient à faire $K$ tirages de $X$ vu que la suite $(\xi^{(n)})$ est déterministe, puis de faire
une méthode de Monte Carlo classique sur ces $K$ tirages. On a donc :
\begin{equation}
\label{eqrqmc}\frac{1}{K}\sum_{k=1}^KZ_{k}=\frac{1}{K}\sum_{k=1}^K\frac{1}{N}\sum_{n=1}^Nf(\{\xi^{(n)}+X_{k}\})\overset{p.s}{\to} I
\end{equation}
Il convient maintenant d'estimer l'avantage de cette méthode par rapport à une technique de Monte-Carlo usuelle, en terme de réduction de variance.
On voit dans \eqref{eqrqmc} qu'il nous coûte $NK$ évaluations de la fonction $f$ pour calculer notre estimation de $I$.
Donc la variance pour la méthode de Monte-Carlo de base serait :
\begin{equation*}
\mathrm{Var}(\frac{1}{NK}\sum_{n=1}^{NK}f(X_n))=\frac{1}{NK}\mathrm{Var}(f(X))
\end{equation*}
Il nous faut la comparer avec :
\begin{equation*}
\mathrm{Var}(\frac{1}{K}\sum_{k=1}^K\frac{1}{N}\sum_{n=1}^Nf(\{\xi^{(n)}+X_{k}\}))=\frac{1}{K}\mathrm{Var}(\frac{1}{N}\sum_{n=1}^Nf(\{\xi^{(n)}+X\}))
\end{equation*}
On a donc réduction de variance si et seulement si :
\begin{equation*}
\mathrm{Var}(\frac{1}{N}\sum_{n=1}^Nf(\{\xi^{(n)}+X\}))<\frac{1}{N}\mathrm{Var}(f(X))
\end{equation*}
Or dans \cite{Tuffin:1997:VRA:268403.268419} il est montré que pour $f$ une fonction à variations bornées on a :
\begin{equation}
\mathrm{Var}(\frac{1}{N}\sum_{n=1}^Nf(\{\xi^{(n)}+X\}))=O(N^{-2}(\log N)^{2s})
\end{equation}
Pour cette classe de fonctions on a une réduction de variance par un facteur de $N / (\log N)^{2s}$.
\subsection{Calcul de vitesse et d'intervalle de confiance}
On s'interesse maintenant à la convergence vers la loi normale de notre estimateur. On rappelle d'abord le cas d'une méthode de Monte-Carlo classique.
Soit $X$ une variable aléatoire, on note $\mu = \E[f(X)]$ son espérance qu'on cherche à calculer et $\sigma$ son écart type. Alors si les $(X_n)_{1\leq n\leq N}$
sont $N$ tirages de la variable $X$, $\bar{X}_N=\frac{1}{N}\sum_{n=1}^Nf(X_n)$ sera notre estimateur de $\mu$ et on aura l'intervalle de confiance
asymptotique usuel pour $\mu$ de la forme : $[\bar{X}_N-c_{\alpha}\frac{\sigma}{\sqrt{N}},\bar{X}_N+c_{\alpha}\frac{\alpha}{\sqrt{N}}]$
avec $\alpha$ le niveau désiré pour l'intervalle et $c_{\alpha}$ le quantile en $1-\frac{\alpha}{2}$ d'une loi gaussienne centrée réduite.
Dans l'article \cite{tuffin2004randomization}, Tuffin suggère d'utiliser la borne de Berry-Esseen pour le cas non asymptotique. Si on introduit les quantités
$\beta = \E[|f(X)-\E[f(X)]|^3]$, $F_n$ la fonction de répartition de $\sqrt{N}\frac{\bar{X}_N-\mu}{\sigma}$et $\mathcal{N}$ la fonction de répartition d'une
loi normale centrée réduite, alors l'inégalité de Berry-Esseen affirme que :
\begin{equation*}
\forall x \quad |F_n(x) - \mathcal{N}(x)| \leq C\frac{\beta}{\sigma ^3 \sqrt{N}}
\end{equation*}
Ce qui nous donne $\mathcal{N}(x) - C\frac{\beta}{\sigma ^3 \sqrt{N}} \leq F_n(x) \leq \mathcal{N}(x) + C\frac{\beta}{\sigma ^3 \sqrt{N}} $ et en
soustrayant l'encadrement équivalent de $F_n(-x)$ il vient :
\begin{equation*}
F_n(x)-F_n(-x) \geq \mathcal{N}(x) - \mathcal{N}(-x) -2C\frac{\beta}{\sigma ^3 \sqrt{N}}
\end{equation*}
On veut maintenant égaliser cette borne inférieure avec $1- \alpha$ pour trouver les bornes de l'intervalle de confiance.
Sachant que $\mathcal{N}(x) = 1 - \mathcal{N}(-x)$ on a $1 - \alpha = 1 - 2\mathcal{N}(-x) - 2C\frac{\beta}{\sigma ^3 \sqrt{N}}$ et on trouve en fin de
compte :
$x = -\mathcal{N}^{-1}(\frac{\alpha}{2} - C\frac{\beta}{\sigma ^3 \sqrt{N}})$.
On a donc l'inégalité suivante :
\begin{equation*}
\mathbb{P}\left(\mathcal{N}^{-1}(\frac{\alpha}{2} -C\frac{\beta}{\sigma ^3 \sqrt{N}}) \leq \frac{\bar{X}_N-\mu}{\sigma / \sqrt{N}} \leq
-\mathcal{N}^{-1}(\frac{\alpha}{2} - C\frac{\beta}{\sigma ^3 \sqrt{N}})\right) \geq 1- \alpha
\end{equation*}
Alors que Tuffin trouve :
\begin{equation*}
\mathbb{P}\left(\mathcal{N}^{-1}(\frac{\alpha}{2}) - C\frac{\beta}{\sigma ^3 \sqrt{N}} \leq \frac{\bar{X}_N-\mu}{\sigma / \sqrt{N}} \leq
-\mathcal{N}^{-1}(\frac{\alpha}{2}) + C\frac{\beta}{\sigma ^3 \sqrt{N}}\right) \geq 1- \alpha
\end{equation*}
ce qui me semble être une erreur.
Si on veut comparer les demi-tailles des intervalles de confiance, on voit que l'intervalle de Tuffin rajoute $\frac{C\beta}{\sigma^2N}$ à
l'intervalle habituel assymptotique tandis que je trouve un intervalle possiblement égal à $\mathbb{R}$ tout entier pour des petites valeurs de $N$.
C'est pourquoi dans les applications ultérieures j'utilise l'intervalle classique $[\bar{X}_N-c_{\alpha}\frac{\sigma}{\sqrt{N}},
\bar{X}_N+c_{\alpha}\frac{\alpha}{\sqrt{N}}]$.
\section{Échantillonnage stratifié}
\subsection{Présentation mathématique}
Soit $f:\mathbb{R}^{d}\rightarrow\mathbb{R}$ et $X$ un vecteur aléatoire à $d$ dimensions.
On cherche à calculer $\mu=\E(f(X))$.
On suppose maintenant qu'on divise $\mathbb{R}^{d}$ en $I$ strates appelées $(A_{i})_{1\le i \le I}$ et de telle sorte que
$\forall i \in {1,...,i}$ on ait $\mathbb{P}(X\in A_{i}) > 0$ . On notera ces probabilités $p_{i}$.
Si on note maintenant $(X_{i})_{1\le i \le I}$ l'ensemble de variables aléatoires suivant la loi conditionnelle de $X$ sachant $X\in A_{i}$,
on a clairement $\E(f(X)) = \sum_{i=1}^{I}p_{i}\E(f(X_{i}))$.
Or si on sait simuler chacune des variables $(X_{i})$, on peut estimer chacune des espérances $\E(f(X_{i}))$ par un estimateur de Monte-Carlo usuel
$\frac{1}{N_{i}}\sum_{j=1}^{N_{i}}f(X_{i}^{j})$ où $N_{i}$ est le nombre de tirages de la variable $X_{i}$. Et donc il vient naturellement :
\begin{equation*}
\mu_{strat}=\sum_{i=1}^{I}p_{i}\sum_{j=1}^{N_{i}}f(X_{i}^{j})=
\frac{1}{N}\sum_{i=1}^{I}\frac{p_{i}}{q_{i}}\sum_{j=1}^{q_{i}N}f(X_{i}^{j}) \overset{p.s}{\to} \mu
\end{equation*}
où $N$ désigne le nombre total de tirages, c'est à dire $N=\sum_{i=1}^{I}N_{i}$, et $q_{i}=N_i / N$ la proportion de tirages dans chacune
des strates.
On veut maintenant regarder dans quels cas cette méthode peut être utile pour réduire la variance.
Si on note $\sigma_{i} = \mathrm{Var}(f(X_{i})) = \mathrm{Var}(f(X)|X\in A_{i})$, la variance de notre estimateur est :
\begin{equation*}
\mathrm{Var}(\mu_{strat})=\sum_{i=1}^{I}\frac{p_{i}^{2}\sigma_{i}^2}{N_{i}}=
\frac{1}{N}\sum_{i=1}^{I}\frac{p_{i}^{2}\sigma_{i}^2}{q_{i}}
\end{equation*}
Tandis qu'avec un estimateur usuel de Monte-Carlo $\frac{1}{N}\sum_{j=1}^{N}f(X^{j})$, noté $\mu_{mc}$, pour le même nombre $N$ total de tirages, on aurait :
\begin{equation*}
\mathrm{Var}(\mu_{mc}) =
\frac{1}{N}\left(\sum_{i=1}^{I}p_{i}(\sigma_{i}^2 + \E^{2}[f(X_{i})])-(\sum_{i=1}^{I}p_{i}\E[f(X_{i})])^{2}\right)
\geq \frac{1}{N}\sum_{i=1}^{I}p_i\sigma_i^2
\end{equation*}
où la dernière inégalité est due au fait que par l'inégalité de Jensen appliquée à $\E[f(X_{i})]$ avec la suite des $p_i$ comme probabilité discrète(
$\sum_{i=1}^{I}p_i = 1$) on a :
\begin{equation*}
\frac{1}{N}\sum_{i=1}^{I}p_i\E^{2}[f(X_{i})] \geq \frac{1}{N}(\sum_{i=1}^{I}p_i\E[f(X_{i})])^2
\end{equation*}
Si on pose $q_i = p_i$, $\mathrm{Var}(\mu_{strat})$ atteindra la borne inférieure trouvée pour $\mathrm{Var}(\mu_{mc})$.
Mais on peut trouver un choix de $q_i$ plus optimal en terme de réduction de variance.
En effet, toujours par l'inégalité de Jensen avec cette fois la suite des $q_i$ vue comme une probabilité discrète, on a :
\begin{equation*}
\mathrm{Var}(\mu_{strat})=\frac{1}{N}\sum_{i=1}^{I}\frac{p_i^2\sigma_i^2}{q_i}=\frac{1}{N}\sum_{i=1}^I(\frac{p_i\sigma_i}{q_i})^2q_i
\geq\frac{1}{N}(\sum_{i=1}^I\frac{p_i\sigma_i}{q_i}q_i)^2
\end{equation*}
Et si
\begin{equation}
\label{eqqi}
\forall i \in \{1,\ldots,I\} \quad q_i=\frac{p_i\sigma_i}{\sum_{j=1}^Ip_j\sigma_j}
\end{equation}
${Var}(\mu_{strat})$ atteindra la borne inférieure trouvée précédemment. Maintenant qu'on a décrit le principe de la méthode de l'échantillonnage stratifié,
et qu'on a trouvé quelle est la proportion optimale de tirages à faire par strates, intéressons nous à l'algorithme pour implémenter ce modèle.
\subsection{Description de l'algorithme}
On a vu dans la section précédente que les $q_i$ optimaux dépendent de la suite $(\sigma_i)_{1\leq i\leq I}$ qui sont les variances conditionnelles de $X$
sachant $X\in A_{i}$. Mais si ces variances sont inconnues il nous faut les estimer. On ne peut trouver la répartition optimale de tirages à faire par strates
du premier coup. On utilisera donc un algorithme adaptatif. On commence par tirer un nombre $N_1$ assez restreint de variables $(X_{i})_{1\leq i \leq I}$
en choisissant une répartition déterministe, par exemple la répartition uniforme $q_i=\frac{N_1}{I}$ ce qui nous donnera un premier estimateur de $\mu=\E(f(X))$ mais
surtout les premiers estimateurs de $\sigma_{i}$. Ensuite on pourra tirer un nombre $N_2 > N_1$ de $(X_{i})$ avec de nouveaux $q_i$ donnés par \eqref{eqqi}
ce qui nous donnera un nouvel estimateur de $\mu$ (en utilisant les $N_1 + N_2$ premières valeurs) puis de nouveaux $q_i$ plus précis, et ainsi de suite.
\section{Exemples}
\subsection{Calcul de l'espérance d'une loi normale}
Dans ce premier exemple assez simple, on va chercher à calculer $ \mu = \E[X]$ où $X$ suit une loi normale centrée réduite
\subsubsection{Échantillonnage stratifié}
Pour cet exemple, les strates $A_i$ seront au nombre de $10$ et $\forall i \in{\{1,...,10\}}$ $A_i =]y_{i-1}, y_i]$ où $y_i$ désigne
le quantile $i/10$ d'une loi normale, en prenant pour convention $y_0 = - \infty $ et $y_{10} = + \infty $. Ainsi la suite des probabilités $(p_i)_{1\leq i\leq 10}$
est constante à $1/10$. Pour cet exemple Étoré et Jourdain ont effectué quatre étapes de leur algorithme avec $N_1 = 300, N_2 = 1300, N_3 = 11300$
et $N_4 = 31300$, j'ai donc pris les mêmes nombres pour ma propre implémentation.
\subsubsection{Quasi Monte Carlo randomisé}
On cherche toujours à calculer $\mu$ mais cette fois avec la méthode de quasi Monte Carlo randomisé dont je rappelle l'estimateur :
\begin{equation*}
\frac{1}{I}\sum_{i=1}^I\frac{1}{N}\sum_{n=1}^N(\{\xi^{(n)}+X_{k}\})
\end{equation*}
Pour ce faire, j'ai utilisé la suite de Sobol à une dimension pour la suite $(\xi)_n$ et j'ai fixé $I$ constant à 100 et calculé l'estimateur pour
différents $N \in \{3; 13; 113; 313\}$ afin que le produit $NI$ nous donne les mêmes nombres de tirages des variables que dans le cas
de l'échantillonnage stratifié. Ainsi on peut comparer les deux méthodes et obtenir le tableau suivant :
\input{table.tex}
${IC}_{strat}$ et ${IC}_{rqmc}$ désignent les demi-tailles des intervalles de confiance pour {\mu} obtenus avec les deux méthodes. En comparant ces tailles
on peut constater la plus grande efficacité de la méthode de quasi Monte-Carlo randomisé.
\subsection{Modélisation du prix d'une option asiatique}
Cet exemple est tiré de l'article \cite{glasserman1999asymptotically} de Glasserman, Heidelberger et Shahabuddin.
On considère l'actif $S_t$ solution de l'équation différentielle stochastique suivante :
\begin{equation*}
dS_t=VS_tdW_t+rS_tdt
\end{equation*}
où $r$ représente l'actif sans risque, $V$ la volatilité constante de $S_t$ et $W_t$ un processus de Wiener standard. Soit $ T > 0$ le temps de maturité
de l'option et $(t_m = \frac{mT}{d})_{1\leq m\leq d}$ une suite de $d$ instants entre $0$ et $T$ où le prix de $S_t$ est connu. L'option asiatique $A$ avec un
prix d'exercice $K$ a pour valeur au temps $0$ :
\begin{equation*}
p=\E[e^{-rT}(\frac{1}{d}\sum_{m=1}^dS_{t_m}-K)^+]
\end{equation*}
qu'on va chercher à déterminer.
On peut exactement simuler la suite des $(S_{t_m})_{1\leq m\leq d}$ en posant $S_{t_0}=S_0$ et :
\begin{equation*}
S_{t_m}=S_{t_{m-1}}exp([r-\frac{1}{2}V^2](t_m-t_{m-1}) + V\sqrt{t_m-t_{m-1}}X^m) \forall m \in \{1,\ldots,d\}
\end{equation*}
où les $X_m$ sont des normales centrées réduites indépendantes. On cherche donc à calculer une espérance de la forme : $p = \E[ g(X) \mathbf{1} _D(X)]$, où $g$
est une fonction de $\mathbb{R}^d$ dans $\mathbb{R}$ et $D$ le domaine où $g$ est strictement positive. Dans leur article, Glasserman et al. proposent
de d'abord commencer par une méthode d'échantillonage préférentiel, ou importance sampling. Cette méthode consiste à décaler les variables $X$ pour changer
leurs moyennes, afin de donner plus de poids là où le payoff sera important et ainsi diminuer la variance de notre estimateur par rapport à une méthode
classique de Monte-Carlo. En effet on constate que $\forall \mu \in{\mathbb{R}^d}$:
\begin{equation*}
p = \E [g(X+\mu)e^{-\mu'X-(\frac{1}{2})\mu'\mu}\mathbf{1} _D(X+\mu)]
\end{equation*}
Ils affirment alors heuristiquement que la réduction de variance sera la plus importante pour $\mu^*$ tel que :
\begin{equation*}
\mu^* = \underset{x\in D}{argmax} (G(x) - \frac{1}{2}xx')
\end{equation*}
Ainsi on estimera $p$ par un estimateur de Monte-Carlo de $\E[ f_{\mu}(X) ]$ où $X\sim \mathcal{N}(0,I_d)$ et
$f_{\mu}(x)=g(x+\mu)e^{-\mu'x-(\frac{1}{2})\mu'\mu}\mathbf{1} _D(x+\mu)$ avec $\mu = \mu^*$.
On peut ensuite faire une méthode d'échantillonage stratifié pour calculer cet estimateur, où les différentes strates seront des intervalles $[a,b]$ de $\mathbb{R}$.
On projette $X$ sur $\mathbb{R}$, si $u$ un vecteur de $\mathbb{R}^d$ de norme égale à $1$, on conditionne $X$ sachant $u'X \in [a,b]$. Les auteurs de l'article
donnent d'ailleurs la méthode pour simuler ces lois conditionnelle.
Soit $a, b$ les bornes de notre intervalle et $u$ un vecteur de $\mathbb{R}^d$ de norme 1.
Notons F la fonction de répartition d'une normale centrée réduite. On simule d'abord $V = F(a) +U(F(b)-F(a))$ avec $U$ une uniforme sur $[0,1]$.
Ensuite en calculant $Z = F^{-1}(V)$ et en simulant $Y \sim \mathcal{N}(0,I_d)$ on obtient une simulation de $X$ sachant $u'X \in [a,b]$ en posant :
\begin{equation*}
X=uZ+Y+u(u'Y)
\end{equation*}
Pour cette méthode d'échantillonage stratifié, Glasserman et ses coauteurs ont pris $u=\mu/(\mu'\mu)$ et ont choisi la répartion proportionnelle du nombre
de tirages par strates (la répartition $q_i = p_i$ donné plus haut lors de la description de la méthode de stratified sampling). C'est à dire qu'ils ont découpé
$\mathbb{R}$ en $I=100$ strates suivant les quantiles $1/100_{\textrm{ème}}$ de $\mathcal{N}(0,1)$ notés $y_i$ et ont alloué $N_i = N/I$ tirages par intervalles.
Étoré et Jourdain ont donc refait le même travail avec leur algorithme adaptatif qui converge vers la répartition optimale $q_i=N_i/N$ posés dans \eqref{eqqi},
technique utile dans ce cas car on ne connait pas la suite des $\sigma_i = \mathrm{Var}(f_{\mu}(X)|u'X\in [y_{i-1},y_i])$.
\printbibliography
\end{document}
|