Simulation numérique de processus aléatoires stationnaires

publicité
Institut Supérieur
d’Informatique
de Modélisation
et de leurs Applications
Complexe Universitaire des Cézeaux
BP125
63173 Aubière CEDEX
Rapport de projet 3ème année
Simulation numérique de processus
aléatoires stationnaires gaussiens
solutions d’EDS linéaires homogènes
Responsables ISIMA :
Présenté par :
FOGLI Michel
SITTER Julien, PACCOU Benjamin
Décembre 2006-Mars 2007
Durée: 140 heures
Institut Supérieur
d’Informatique
de Modélisation
et de leurs Applications
Complexe Universitaire des Cézeaux
BP125
63173 Aubière CEDEX
Rapport de projet 3ème année
Simulation numérique de processus
aléatoires stationnaires gaussiens
solutions d’EDS linéaires homogènes
Responsables ISIMA :
Présenté par :
FOGLI Michel
SITTER Julien, PACCOU Benjamin
Décembre 2006-Mars 2007
Durée: 140 heures
Simulation numérique de processus aléatoires stationnaires gaussiens
solutions d’EDS linéaires homogènes
Remerciements
Nous remercions particulièrement notre chef de projet Michel FOGLI pour l’aide et les nombreux
conseils avisés qu’il nous a fournis tout au long de la réalisation de ce projet. Ce rapport de projet a
été entièrement rédigé sous LaTeX, ainsi nous tenons aussi à remercier les créateurs et développeurs
du site « http ://fr.wikibooks.org/wiki/LaTeX ».
2006/2007
Simulation numérique de processus aléatoires stationnaires gaussiens
solutions d’EDS linéaires homogènes
Résumé
Dans le cadre d’une simulation numérique de processus aléatoires stationnaires gaussiens à l’aide du logiciel Matlab, nous nous intéressons au problème de résolution d’équations
différentielles stochastiques linéaires homogènes au travers de trois simulations différentes
(simulation exacte, simulation approchée à l’aide d’un schéma de type Euler, simulation approchée à l’aide d’un schéma de type différences centrées). Nous effectuerons des tests sur chacune
de ces trois méthodes de simulation afin de pouvoir déterminer l’influence des paramètres sur les solutions obtenues.
Mots clés: Matlab, simulation, processus, aléatoires, stationnaires, gaussiens, équations, différentielles,
stochastiques, linéaires, homogènes, exacte, Euler, centrée
Abstract
In order to develop a numerical simulation of random stationary gaussian process with
Matlab, we are interested in solving homogeneous linear stochastic differential equations
through three various simulations (exact simulation, approach simulation with the help of a
Euler scheme, approach simulation with the help of a center differenced scheme). We will
perform tests on these three simulation methods in order to determine the influence of the parameters
on the solutions reached.
Keywords: Matlab, simulation, process, random, stationary, gaussian, equations, differential,
stochastic, linear, homogeneous, exact, Euler, center
2006/2007
Simulation numérique de processus aléatoires stationnaires gaussiens
solutions d’EDS linéaires homogènes
Table des matières
Remerciements
Résumé / Abstract
Table des matières
Table des figures
Liste des tableaux
Glossaire
Introduction
8
I
9
Prise en main
1 Projet
9
2 Environnement Matlab
9
II
Position du problème
10
1 Définition d’un processus de Wiener
10
2 Oscillateurs non amortis
11
3 Relation avec notre projet
12
4 Simulation de la solution stationnaire d’une EDS linéaire homogène
13
5 Simulation numérique de la solution
5.1 Simulation exacte . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
5.2 Simulation approchée à l’aide d’un schéma de type Euler . . . . . . . . . . . . . . . .
5.3 Simulation approchée à l’aide d’un schéma de type différences centrées . . . . . . . .
14
14
16
17
6 Estimation des caractéristiques statistiques
6.1 Estimation de la moyenne . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
6.2 Estimation de la variance . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
6.3 Estimation de la densité spectrale de puissance . . . . . . . . . . . . . . . . . . . . . .
19
19
20
21
III
23
Implantation
1 Simulation exacte
23
2 Simulation approchée par un schéma de type Euler
27
3 Simulation approchée par un schéma de type différences centrées
28
2006/2007
Simulation numérique de processus aléatoires stationnaires gaussiens
solutions d’EDS linéaires homogènes
IV
Résultats et commentaires
29
1 Valeurs théoriques des paramètres des solutions d’EDS
29
2 Exemple d’équation différentielle stochastique
2.1 Tracés de simulations d’une solution . . . . . . . . . . . . . . . . . . . . . . . . . . .
2.2 Estimation des paramètres des solutions simulées . . . . . . . . . . . . . . . . . . . .
2.3 Tracé des densités spectrales de puissance pour des solutions simulées . . . . . . . . .
29
30
33
42
Conclusion
45
Références bibliographiques
2006/2007
Simulation numérique de processus aléatoires stationnaires gaussiens
solutions d’EDS linéaires homogènes
Table des figures
IV.1
IV.2
IV.3
IV.4
Trajectoire d’une solution simulée par la simulation exacte . . . . . . . . . . . . . . .
Trajectoire d’une solution simulée grâce à un schéma de type Euler . . . . . . . . . .
Trajectoire d’une solution simulée grâce à un schéma de type différences centrées . .
Estimation de la moyenne des trajectoires simulées par la méthode exacte en fonction
du logarithme du nombre de noeuds de la partition . . . . . . . . . . . . . . . . . . .
IV.5 Estimation de la variance des trajectoires simulées par la méthode exacte en fonction
du logarithme du nombre de noeuds de la partition . . . . . . . . . . . . . . . . . . .
IV.6 Estimation de la moyenne des trajectoires simulées par le schéma du type Euler en
fonction du logarithme du nombre de noeuds de la partition . . . . . . . . . . . . . .
IV.7 Estimation de la variance des trajectoires simulées par le schéma du type Euler en
fonction du logarithme du nombre de noeuds de la partition . . . . . . . . . . . . . .
IV.8 Estimation de la moyenne des trajectoires simulées par le schéma du type différences
centrées en fonction du logarithme du nombre de noeuds de la partition . . . . . . . .
IV.9 Estimation de la variance des trajectoires simulées par le schéma du type différences
centrées en fonction du logarithme du nombre de noeuds de la partition . . . . . . . .
IV.10Estimation de la moyenne des trajectoires simulées par la méthode exacte en fonction
du logarithme du nombre de trajectoires simulées . . . . . . . . . . . . . . . . . . . .
IV.11Estimation de la variance des trajectoires simulées par la méthode exacte en fonction
du logarithme du nombre de trajectoires simulées . . . . . . . . . . . . . . . . . . . .
IV.12Estimation de la moyenne des trajectoires simulées par un schéma de type Euler en
fonction du logarithme du nombre de trajectoires simulées . . . . . . . . . . . . . . .
IV.13Estimation de la variance des trajectoires simulées par un schéma de type Euler en
fonction du logarithme du nombre de trajectoires simulées . . . . . . . . . . . . . . .
IV.14Estimation de la moyenne des trajectoires simulées par un schéma de type différences
centrées en fonction du logarithme du nombre de trajectoires simulées . . . . . . . . .
IV.15Estimation de la variance des trajectoires simulées par un schéma de type différences
centrées en fonction du logarithme du nombre de trajectoires simulées . . . . . . . . .
IV.16DSP d’une solution de l’EDS simulée par la simulation exacte . . . . . . . . . . . . .
IV.17DSP d’une solution de l’EDS simulée par un schéma de type Euler . . . . . . . . . . .
IV.18DSP d’une solution de l’EDS simulée par un schéma de type différences centrées . . .
2006/2007
30
31
32
34
34
35
36
37
37
38
39
40
40
41
42
43
43
44
Simulation numérique de processus aléatoires stationnaires gaussiens
solutions d’EDS linéaires homogènes
Liste des tableaux
IV.1 Estimation de la moyenne et de la variance d’une solution simulée par la méthode
exacte en fonction du nombre de noeuds . . . . . . . . . . . . . . . . . . . . . . . . .
IV.2 Estimation de la moyenne et de la variance d’une solution simulée par un schéma de
type Euler en fonction du nombre de noeuds . . . . . . . . . . . . . . . . . . . . . . .
IV.3 Estimation de la moyenne et de la variance d’une solution simulée par un schéma de
type différences centrées en fonction du nombre de noeuds . . . . . . . . . . . . . . .
IV.4 Estimation de la moyenne et de la variance d’une solution simulée par la simulation
exacte en fonction du nombre de trajectoires simulées . . . . . . . . . . . . . . . . . .
IV.5 Estimation de la moyenne et de la variance d’une solution simulée par un schéma de
type Euler en fonction du nombre de trajectoires simulées . . . . . . . . . . . . . . . .
IV.6 Estimation de la moyenne et de la variance d’une solution simulée par un schéma de
type différences centrées en fonction du nombre de trajectoires simulées . . . . . . . .
2006/2007
33
35
36
38
39
41
Simulation numérique de processus aléatoires stationnaires gaussiens
solutions d’EDS linéaires homogènes
Glossaire
Bruit blanc Un bruit blanc est une réalisation d’un processus aléatoire dans lequel la densité spectrale de puissance est la même pour toutes les fréquences. On parle de bruit blanc gaussien
lorsque celui-ci suit une loi normale de moyenne et de variance donnée.
presque sûrement une propriété est dite vraie presque sûrement si le nombre des éléments qui ne
satisfont pas cette propriété est fini (abrégé p.s) ;
chaı̂ne de Markov une chaı̂ne de Markov est un processus stochastique possédant la propriété markovienne, c’est-à-dire que la prédiction du futur à partir du présent ne nécessite pas la connaissance du passé.
2006/2007
Simulation numérique de processus aléatoires stationnaires gaussiens
solutions d’EDS linéaires homogènes
Introduction
Les équations différentielles stochastiques sont de plus en plus utilisées dans différents domaines
tels que les finances, afin par exemple de modéliser l’évolution de cours de bourses (exemple du mouvement brownien géométrique dans le modèle de Black-Scholes), la dynamique des populations, afin
de modéliser la localisation ou la taille de la population d’une espèce donnée, la physique (mécanique
des fluides, géophysique,. . . ) afin de modéliser les phénomènes de diffusion de la chaleur. . .
Nous nous sommes donc intéressés à la simulation numérique de processus aléatoires solutions
d’équations différentielles stochastiques.
Pour cela nous avons considéré la modélisation de processus aléatoires stationnaires gaussiens étant
donné que ceux-ci sont faciles à modéliser et que leur moyenne est nulle (d’où des résultats quasiment
constants pour la moyenne obtenue après simulation). On s’intéresse aux équations différentielles
stochastiques linéaires homogènes car étant donné que ces équations possèdent des paramètres (en
l’occurrence la matrice A et le vecteur σ) indépendants du temps, elles étaient alors plus faciles à
coder.
Nous étudierons ainsi par exemple quel est l’impact de la variation du nombre de trajectoires simulées
ou encore du nombre de noeuds de l’espace de discrétisation sur le calcul des paramètres statistiques
des solutions simulées (moyenne, variance, densité spectrale de puissance).
On commencera ainsi par évaluer l’environnement de travail de notre projet. Puis on détaillera
théoriquement les différentes méthodes de simulation numérique de processus aléatoires utilisées pour
notre projet et comment nous avons abouti aux équations codées dans les fonctions. On expliquera
ensuite le code des différentes fonctions de simulation numérique puis l’on effectuera des tests sur chacune de ces méthodes en faisant varier différents paramètres (le nombre de trajectoires considérées, le
nombre de noeuds de l’espace de discrétisation,. . . ) et en vérifiant que chacun des résultats obtenus
pour l’évaluation des estimateurs est proche du résultat théorique souhaité.
2006/2007
page 8 / 46
Simulation numérique de processus aléatoires stationnaires gaussiens
solutions d’EDS linéaires homogènes
Prise en main
1
Projet
Après un premier rendez-vous avec notre chef de projet nous arrivons mieux à cerner le problème
et nous pouvons ainsi commencer à lire les nombreux documents qu’ils nous a donnés. Nous avons
donc tout d’abord commencé par la lecture de ces nombreux documents expliquant ce qu’est un
processus de Wiener ou une équation différentielle stochastique linéaire homogène avant de choisir
sur quel environnement nous allons travailler (système d’exploitation Windows, logiciel Matlab). Nous
avons également recherché des documents annexes (sur internet,. . . ) afin de pouvoir se renseigner sur
la modélisation de processus aléatoires. Nous avons aussi recherché sur internet différents sites qui
pourraient s’avérer intéressants sur l’utilisation du logiciel Matlab et sur les équations différentielles
stochastiques. Il est important de notifier que le choix d’un environnement de codage approprié au
problème posé par le projet est un facteur décisif. Ainsi le fait de coder les différentes méthodes de
simulation numérique en C ou en C++ serait une énorme erreur de notre part étant donner les
problèmes de gestion de mémoire et de création de matrices auxquelles on serait alors confrontés.
Tandis que le fait de coder sous Matlab nous facilite la tâche car il suffit alors de définir les matrices
avec lesquelles on désire travailler et qu’il n’y a pas besoin de coder les opérateurs associés à ces
matrices (opérateur d’addition +, de multiplication de matrices ,. . . ) étant donné que ceux-ci sont
déjà définis dans Matlab.
2
Environnement Matlab
Le déroulement du projet se fera sous Matlab[1]. Nous avons choisi ce logiciel car c’est
un logiciel transversal à beaucoup de domaines. Il peut être utilisé notamment pour traiter des
données financières : extraction, traitement de données, traitement statistique (régression, algorithmes
génétiques, réseaux de neurones, ...) et finalement les graphiques.
Matlab est un logiciel de calcul numérique très utilisé dans l’industrie (Michelin, Renault, Dassault...), il est enseigné dans la plupart des universités et des écoles d’ingénieur et tout y est déjà
codé : les matrices, la concaténation de vecteurs, de matrices, les produits matriciels et vectoriels, les
algorithmes de tri, les fonctions de traçage de courbes,. . . .
Matlab présente également le gros avantage de pouvoir être interprété, toute commande passée sur
la ligne de commande est directement exécutée dès l’appui sur la touche ”Entrée” (il n’y a pas besoin
de compiler le programme avant de l’exécuter). Cependant tous les grands solveurs numériques sont
écrits en Fortran, en C ou en C++ et ainsi Matlab est optimisé pour faire du calcul matriciel et non
du calcul itératif (utilisation de boucles), auquel cas les langages tels que le C, le C++ et le Fortran
sont beaucoup plus rapides d’exécution. Mais avec Matlab nous n’avons pas à nous occuper de la
gestion de la mémoire et ainsi un code produit sous Matlab est beaucoup plus factorisé et plus lisible
qu’un code écrit en C ou en C++. En utilisant Matlab nous n’aurons que trois fichiers à produire
(un fichier pour la simulation exacte, un pour la simulation approchée à l’aide d’un schéma de type
Euler et un pour la simulation approchée à l’aide d’un schéma de type différences centrées), tandis
qu’en C++, nous devrions également créer des fichiers d’en-tête définissant les classes créées pour le
programme et un fichier principal contenant la fonction principale (fonction ”main”) du programme.
Tous ces arguments ont fait que nous avons opté pour travailler sous Matlab.
2006/2007
page 9 / 46
Simulation numérique de processus aléatoires stationnaires gaussiens
solutions d’EDS linéaires homogènes
Position du problème
Afin d’expliquer comment nous en sommes arrivés à un système différentiel stochastique linéaire
homogène, nous reprendrons les explications fournies par notre chef de projet dans son polycopié [2].
1
Définition d’un processus de Wiener
Soit (Ω, F, P) un espace de probabilité et W = (W (t), t ∈ R+ ) un processus défini sur (Ω, F,
P), indexé sur R+ , à valeurs dans Rn , dont les processus coordonnées, définis sur (Ω, F, P), indexés
sur R+ , à valeurs dans R, sont notés Wj = (W1 , ..., Wn )T ; Wj = (Wj (t), t ∈ R+ ), ∀j ∈ {1, ..., n}.
On dit que W est un processus de Wiener normalisé si :
– 1) W (0) = 0 presque sûrement ;
– 2) les processus coordonnées W1 , ..., Wn sont indépendants dans leur ensemble ;
– 3) W est à accroissements indépendants, c’est-à-dire que pour toute partition finie 0 < t1 < t2 <
... < tm < ∞ de R+ , les variables aléatoires W (0), W (t1 ) − W (0), W (t2 ) − W (t1 ), ..., W (tm ) −
W (tm−1 ) sont indépendantes dans leur ensemble ;
– 4) pour tout s et tout t dans R+ , la variable aléatoire à valeurs dans Rn : W(t)-W(s) est
gaussienne et telle que :
E[W (t) − W (s)] = 0
E[(W (t) − W (s))(W (t) − W (s))T ] = |t − s| In , où In est la matrice identité de Rn .
On a alors pour W les propriétés suivantes :
– 1) C’est un processus gaussien, non stationnaire, centré de fonction de covariance
CW (s, t) = E[W (t)W T (s)] = inf (t, s)In ;
– 2) C’est un processus de Markov dont la probabilité de transition est homogène ;
– 3) I admet une version ayant presque sûrement ses trajectoires continues ;
– 4) Presque sûrement, toutes ses trajectoires ne sont nulle part dérivables.
2006/2007
page 10 / 46
Simulation numérique de processus aléatoires stationnaires gaussiens
solutions d’EDS linéaires homogènes
2
Oscillateurs non amortis
Un oscillateur est un système animé d’un mouvement périodique. Une masse suspendue à un ressort, un pendule de torsion, le balancier d’une horloge, sont des exemples d’oscillateurs mécaniques [3].
Afin de comprendre notre sujet, étudions brièvement tout d’abord une équation différentielle
stochastique : prenons par exemple l’équation d’un oscillateur vertical réel non amorti soumis à des
frottements.
L’équation d’un tel oscillateur est du type :
mŸ (t) + dẎ (t) + kY (t) = LN (t)
Equation oscillateur ( 2)
où Y représente le déplacement (ou la réponse) de l’oscillateur au cours du temps selon l’axe considéré
2
(pour nous ce sera l’axe vertical), Ẏ (t) = dY
(t) et Ÿ (t) = ddtY2 (t).
dt
m représente la masse du système considéré (l’oscillateur mécanique), d le coefficient de frottement
visqueux (l’amortissement de l’oscillateur) et k le coefficient d’action du ressort sur le système (la
rigidité de l’oscillateur).
Nous allons démontrer maintenant comment nous sommes parvenus à cette équation.
Lorsque l’on écarte le centre d’inertie G du solide de sa position d’équilibre G0 et qu’on le libère, il se
met à osciller autour de G0 ; pour décrire le mouvement de G, on choisira un repère lié au système.
Le solide S est alors soumis à quatre forces :
–
–
–
–
son poids décrit par la force : P~ = m~g , où ~g représente l’accélération de la pesanteur ;
~;
la réaction du sol sur le solide décrit par la force de réaction R
~
l’action du ressort sur le système considéré (le solide) : F = kx~i ;
la force de frottement (qui est non négligeable dans notre cas) proportionnelle à la vitesse :
f~ = −dẎ . Le signe négatif de cette force signifie que le vecteur force est de sens opposé au
vecteur vitesse. Ce type de frottement agit lorsqu’un corps se déplace dans un fluide (gaz (par
exemple l’air) ou liquide) ;
Le théorème du centre d’inertie donne :
~ + P~ + f~ + E.
~
ma~G = F~ + R
où a~G représente l’accélération du centre d’inertie du système considéré (a~G = Ÿ dans notre cas
(oscillateur vertical)).
Au cours de ses oscillations, un oscillateur réel est soumis à des frottements inévitables. Le travail
des frottements (négatif) provoque une diminution de l’énergie mécanique de l’oscillateur libre pendant
son mouvement. On dit alors que l’oscillateur réel libre est non conservatif.
Si l’on veut qu’un oscillateur réel conserve une énergie mécanique constante, il faut lui fournir un
apport régulier d’énergie par un système extérieur ; on obtient alors un oscillateur entretenu ; le
système extérieur peut être, par exemple, les ”poids” d’une pendule à balancier, la roue d’échappement
à ancre ou un ressort dans une montre mécanique. . . Nous ne nous intéresserons cependant uniquement
au cas d’un oscillateur réel entretenu soumis à des forces de frottements fluides (ou visqueux).
2006/2007
page 11 / 46
Simulation numérique de processus aléatoires stationnaires gaussiens
solutions d’EDS linéaires homogènes
~
L’entretien de l’oscillateur est modélisé par la force E(t)
qui est appelé l’excitation (ou encore l’entrée
de l’oscillateur).
En partant du théorème du centre d’inertie que l’on projette sur l’axe vertical, on obtient que
l’étude dynamique d’un oscillateur vertical soumis à ces forces aboutit à l’équation :
mŸ (t) + dẎ (t) + kY (t) = E(t)
Pour notre projet, nous nous sommes intéressés au cas où E(t) est un bruit blanc gaussien vectoriel
p-dimensionnel d’intensité L : cela signifie que le processus généralisé E = (E(t), t ∈ R) est gaussien,
stationnaire, centré tel que : E(t) = LN (t), où N est un bruit blanc gaussien normalisé vectoriel à
valeurs dans Rp . On retrouve alors l’équation d’un oscillateur vertical ( 2) [4] :
mŸ (t) + dẎ (t) + kY (t) = LN (t)
3
Relation avec notre projet
Partons de l’équation 2, en divisant cette équation par m 6= 0, on obtient [4] :
L
k
d
Ẏ (t) + Y (t) = N (t)
m
m
m
Equation oscillateur ( 3)
Ÿ (t) +
On pose alors :
X=
Y
Ẏ
d’où l’équation ( 3) devient :
Ẋ(t) = AX(t)dt + σ Ṅ (t), t > 0
( 3)
Y (t) = CX(t) p.s
avec :
A=
=
σ=
0
0
1
−k
m
−d
m
C=
2006/2007
0
1
2
−ω0 −2ω0 ξ0
−L
m
1 0
page 12 / 46
Simulation numérique de processus aléatoires stationnaires gaussiens
solutions d’EDS linéaires homogènes
où ω0 représente la pulsation fondamentale de l’oscillateur en rad.s−1 et ξ0 son taux d’amortissement
critique.
Dans la pratique, nous ne considérerons que le cas où ξ0 < 1 : cas où l’oscillateur est dit sous-amorti
(c’est le cas de la plupart des oscillateurs issus de modélisations mécaniques) et c’est surtout le cas
pour lequel la matrice A de la représentation d’état est asymptotiquement stable (la partie réelle de
ses valeurs propres est strictement négative) ; nous ne traiterons le problème qu’en dimension 2 : donc
A est une matrice de dimension 2 × 2, σ est un vecteur de dimension 2 × 1, et C est un vecteur de
dimension 1 × 2.
N (t) est un bruit blanc gaussien normalisé vectoriel à valeurs dans R2 , il s’apparente donc à un
processus de Wiener normalisé à valeurs dans R2 .
Appelons ce processus W , on notera abusivement Ẇ (t) = dW (t), le système différentiel ( 3) devient
donc :
dX(t) = AX(t)dt + σdW (t), t > 0
( 3)
Y (t) = CX(t) t ≥ 0
qui s’écrit encore sous sa forme intégrale équivalente :



X(t) = X(0) +
Z
t
AX(s) ds +
Z
0
0
Y (t) = CX(t) t ≥ 0
t
σdW (s), t ≥ 0
L’équation ( 3), ou sa forme intégrale équivalente est appelée équation différentielle stochastique
linéaire homogène de Itô, le qualificatif de homogène vient du fait que les coefficients matriciels
A et σ ne dépendent pas de t.
4
Simulation de la solution stationnaire d’une EDS linéaire
homogène
Pour expliquer de manière concise et efficace comment se déroule la simulation numérique de la
solution stationnaire d’une équation différentielle stochastique linéaire homogène nous reprendrons les
explications du polycopié de Michel Fogli[2]. Considérons l’équation différentielle stochastique
(que nous abrégerons par la suite par EDS) linéaire homogène de Itô définie par :
dX(t) = AX(t)dt + σdW (t), t > 0
X(0) = X0 p.s
On suppose satisfaites toutes les hypothèses garantissant l’existence et l’unicité d’une solution
stationnaire non dégénérée.
Dans ces conditions, la solution stationnaire X(t) a pour forme :
At
X(t) = e X0 +
Z
0
2006/2007
t
eA(t−s) σ dW (s), ∀t ≥ 0
page 13 / 46
Simulation numérique de processus aléatoires stationnaires gaussiens
solutions d’EDS linéaires homogènes
Soit pour tout u ≥ 0 :
At
X(t + u) = e X(u) +
Z
t+u
eA(t+u−s) σ dW (s) ( 4)
u
L’objectif de notre projet va être de simuler cette solution, c’est-à-dire de construire numériquement
des trajectoires t → X(t, ωj ) = xj (t), ωj ∈ Ω, j ∈ J, où J est un ensemble fini d’indices. Pour cela,
on procède en trois étapes :
1. On se donne un intervalle T = [0, s1] de R+ appelé intervalle d’observation, et on considère une
partition finie d’ordre N et de pas constant ∆ de cet intervalle, i.e un découpage : 0 = t0 <
t1 < ... < tN −1 < tN = s1 de T en N intervalles disjoints de longueur ∆ : ∀k ∈ 0, 1, ..., N − 1,
tk+1 − tk = ∆. Notons que le choix d’une partition à pas constant n’est pas une nécessité, mais
dans notre cas il permettra de simplifier notablement les calculs.
2. On échantillonne la solution aux noeuds tk de la partition et dans le cas linéaire on a deux
possibilités :
soit on échantillonne la solution exacte X (connue ici) ce qui revient à considérer la famille de
variables aléatoires (X(tk ); k = 0, N ), qui est une chaı̂ne de Markov stationnaire gaussienne
parfaitement déterminée (méthode de simulation exacte) ;
soit on échantillonne un processus approximant X̃, obtenu comme solution stationnaire d’une
version discrète de l’EDS de départ construite en utilisant un schéma numérique approprié. dans
ce cas, on obtient une famille de variables aléatoires (X̃(tk ); k = 0, N ) qu’il faut caractériser
et qui est généralement aussi une chaı̂ne de Markov. Bien entendu, seule cette approche est
utilisable pour les EDS non linéaires (méthode de simulation approchée) ;
3. On élabore une procédure numérique permettant d’obtenir des réalisations de l’échantillon
construit en 2.
5
Simulation numérique de la solution
Les noeuds du maillage sont définis par :
u = tk = k∆, u + t = tk + ∆ = tk+1 = (k + 1)∆
5.1
Simulation exacte
D’après ( 4), nous obtenons, pour tout k ∈ 0, 1, ..., N − 1 :
∆
Xk+1
A∆
=e
Xk +
Z
(k+1)∆
eA[(k+1)∆−s] σ dW (s)
k∆
2006/2007
page 14 / 46
Simulation numérique de processus aléatoires stationnaires gaussiens
solutions d’EDS linéaires homogènes
Posons :
Vk∆
=
Z
(k+1)∆
eA[(k+1)∆−s] σ dW (s)
k∆
D’après les propriétés de l’intégrale de Wiener, ∀k ∈ {0, 1, ..., N − 1}, Vk est une variable aléatoire
n×n
gaussienne centrée à valeurs dans Rn , dont la variance Γ∆
s’écrit :
k ∈ R
Γ∆
k
=
Z
∆
eAu σσ T eA
Tu
0
du, où u = (k + 1)∆ − s
On remarque que cette variance ne dépend pas de k, nous la noterons ainsi Γ∆ . Γ∆ vérifie l’équation
de Lyapunov :
AΓ∆ + Γ∆ AT = eA∆ σσ T eA
T∆
− σσ T
dont la solution s’écrit :
Γ∆ = C0 − eA∆ C0 eA
T∆
où C0 est la variance de probabilité invariante de l’EDS linéaire homogène de Itô, donc de la variable
aléatoire Xk∆ pour tout k fixé dans {0, 1, ..., N −1}. Cette variance est également solution de l’équation
de Lyapunov :
AC0 + C0 AT = −σσ T ( 5.1)
Les variables aléatoires X0 et {Vk∆ ; k = 0, N − 1} sont gaussiennes, centrées et indépendantes dans
leur ensemble.
De plus, du fait de la définie-positivité des matrices Γ∆ et C0 , celles-ci admettent une factorisation
de Cholesky de la forme :
Γ∆ = S ∆ S ∆
T
, C0 = S0 S0T
où S ∆ et S0 sont des matrices triangulaires inférieures de rang plein.
On peut alors écrire :
X0 = S0 G00 , Vk∆ = S ∆ Gk , ∀k ∈ {0, 1, ..., N − 1}
où G00 et les Gk (k = 0, N − 1) sont des copies indépendantes d’une variable aléatoire G gaussienne
standard à valeurs dans Rn (i.e gaussienne, n-dimensionnelle, centrée, de variance matricielle In .
2006/2007
page 15 / 46
Simulation numérique de processus aléatoires stationnaires gaussiens
solutions d’EDS linéaires homogènes
Au final, la simulation numérique de la solution revient au codage de la chaı̂ne de Markov
X = (X(k∆); k = 0, N ) = (Xk∆ ; k = 0, N ) qui, par construction est gaussienne, stationnaire, centrée
et vérifie les propriétés suivantes :
∆
X0∆ = X0 = S0 G00
∆
Xk+1
= eA∆ Xk∆ + S ∆ Gk ; k = 0, ..., N − 1
avec :
S0 matrice triangulaire inférieure de rang plein telle que S0 S0T = C0
C0 solution de AC0 + C0 AT = −σσ T
T
S ∆ matrice triangulaire inférieure de rang plein telle que S ∆ S ∆ = Γ∆
T
Γ∆ donnée par : Γ∆ = C0 − eA∆ C0 eA ∆
G00 et {Gk ; k = 0, N − 1} des copies indépendantes d’une variable aléatoire gaussienne standard à
valeurs dans Rn .
5.2
Simulation approchée à l’aide d’un schéma de type Euler
On repart de l’EDS sous sa forme intégrale équivalente :
X(t) = X(0) +
Z
t
AX(s) ds +
0
Z
0
t
σ dW (s), t ≥ 0
que l’on peut récrire entre les instants u et τ , u ≥ 0, τ ≥ 0 :
Z τ +u
Z τ +u
σ dW (s)
AX(s) ds +
X(τ + u) = X(u) +
u
u
Z τ +u
AX(s) ds + σ[W (τ + u) − W (u)]
= X(u) +
u
Or on a u = k∆, on pose τ = ∆ et on note comme pour la simulation exacte Xk∆ = X(k∆). Il
vient :
Z (k+1)∆
∆
∆
Xk+1 = Xk +
AX(s) ds + σ[W ((k + 1)∆) − W (k∆)]
k∆
On approxime maintenant l’intégrale
Z
(k+1)∆
AX(s) ds
k∆
par
∆AX(k∆) = ∆AXk∆
et on note Dk∆ W = W ((k + 1)∆) − W (k∆). Or d’après les propriétés de W , l’accroissement Dk∆ W est,
pour tout k fixé, une variable aléatoire gaussienne, centrée à valeurs dans Rp , de variance ∆Ip . De
√ plus
la famille {Dk∆ W ; k = 0, N − 1} est une famille indépendante. On peut donc poser : Dk∆ W = ∆Gk ,
où {Gk ; k = 0, N − 1} est une famille de copies indépendantes d’une variable aléatoire G gaussienne,
standard, à valeurs dans Rp . L’équation se récrit ainsi :
2006/2007
page 16 / 46
Simulation numérique de processus aléatoires stationnaires gaussiens
solutions d’EDS linéaires homogènes
∆
X̃k+1
= (In + ∆A)X̃k∆ +
X̃0∆ = Y0 p.s
√
∆k ; k = 0, ..., N − 1
Pour la condition initiale Y0 , il faudra prendre une variable aléatoire gaussienne centrée, à valeurs
dans Rn , indépendante de la famille {Gk ; k = 0, N − 1}, et de variance C̃0∆ solution de :
T
C̃0∆ = E[X̃k∆ X̃k∆ ] = (In + ∆A)C̃0∆ (In + ∆AT ) + ∆σσ T
qui s’écrit encore après réarrangement :
AC̃0∆ + C̃0∆ AT = −σσ T − ∆AC̃0∆ AT
La condition initiale Y0 peut se construire tel que : Y0 = S̃0∆ G00 avec S̃0∆ une matrice triangulaire
T
inférieure telle que la factorisation de Cholesky appliquée à C̃0∆ donne C̃0∆ = S̃0∆ S̃0∆ , et G00 une
variable aléatoire gaussienne standard à valeurs dans Rn , indépendante de la famille {Gk ; k = 0, N −1}.
Au final, la simulation approchée à l’aide d’un schéma de type Euler de la solution revient au codage
de la chaı̂ne de Markov X̃ ∆ = (X̃k∆ ; k = 0, N ) qui, par construction est gaussienne, stationnaire,
centrée et vérifie les propriétés suivantes :
X̃0∆ = S̃0∆ G00
√
∆
X̃k+1
= (In + ∆AX̃k∆ + ∆σGk ; k = 0, ..., N − 1
avec :
T
S̃0∆ matrice triangulaire inférieure de rang plein telle que S̃0∆ S̃0∆ = C̃0∆
C̃0∆ solution de AC̃0∆ + C̃0∆ AT = −σσ T − ∆AC̃0∆ AT
G00 une variable aléatoire gaussienne standard à valeurs dans Rn
{Gk ; k = 0, N − 1} des copies indépendantes d’une variable aléatoire gaussienne standard à valeurs
dans Rp , indépendante de G00 .
5.3
Simulation approchée à l’aide d’un schéma de type différences
centrées
Repartons de l’équation définie dans la simulation approchée à l’aide d’un schéma de type Euler :
∆
Xk+1
=
Xk∆
+
Z
(k+1)∆
k∆
AX(s) ds + σ[W ((k + 1)∆) − W (k∆)]
( 5.3)
Mais cette fois approximons l’intégrale figurant ci-dessus par :
Z
(k+1)∆
k∆
2006/2007
AX(s) ds ≈
X ∆ + Xk∆
X((k + 1)∆) + X(k∆)
= k+1
2
2
page 17 / 46
Simulation numérique de processus aléatoires stationnaires gaussiens
solutions d’EDS linéaires homogènes
On pose alors X̄ ∆ = (X̄k∆ ; k = 0, N ) le processus à temps discret n-dimensionnel défini par
l’équation ( 5.3) dans laquelle cette approximation est utilisée. La condition initiale est défini par
X̄0∆ = Z0 p.s, où Z̄0 est une variable aléatoire gaussienne, centrée à valeurs dans Rn , indépendante
de W . On obtient donc après avoir réarrangé les variables :
∆
(In − 21 ∆A)X̄k+1
= (In + 12 ∆A)X̄k∆ +∆
k W ; k = 0, ..., N − 1
( 5.3)
∆
X̄0 = Z0 p.s
De même que pour la simulation approchée à l’aide d’un schéma de type Euler, on a ici Dk∆ W =
W ((k + 1)∆) − W (k∆). Or d’après les propriétés de W , l’accroissement Dk∆ W est, pour tout k fixé,
une variable aléatoire gaussienne, centrée à valeurs dans Rp , de variance ∆Ip . De plus√la famille
{Dk∆ W ; k = 0, N − 1} est une famille indépendante. On peut donc poser : Dkδ W = ∆Gk , où
{Gk ; k = 0, N − 1} est une famille de copies indépendantes d’une variable aléatoire G gaussienne,
standard, à valeurs dans Rp .
On dispose ainsi d’une chaı̂ne de Markov X̄ ∆ = (X̄k∆ ; k = 0, N ) gaussienne, centrée qui est de type
différences centrées. Le calcul de la variance de cette chaı̂ne de Markov donne :
C̄0∆
=
=
T
T
∆
∆
E[X̄k∆ X̄k∆ ] = E[X̄k+1
X̄k+1
]
In − 21 ∆A)−1 [(In + 12 ∆A)C̄0∆ (In + 21 ∆A)T + ∆σσ T ](In − 12 ∆A)−T
Soit :
AC̄0∆ + C̄0∆ AT = −σσ T
On remarque alors que C̄0∆ est lui aussi solution de l’équation de Lyapunov au même titre que C0 ,
variance de la solution stationnaire de la simulation exacte. Il en résulte que la loi invariante de ( 5.3)
coı̈ncide avec la loi invariante de la simulation exacte ( 5.1) qui est gaussienne, centrée et de variance
C0 .
La condition initiale Z0 se construit donc tel que : Z0 = S0 G00 avec S0 une matrice triangulaire
inférieure telle que la factorisation de Cholesky appliquée à C0 donne C0 = S0 S0T , et G00 une variable
aléatoire gaussienne standard à valeurs dans Rn , indépendante de la famille {Gk ; k = 0, N − 1}.
Au final, la simulation approchée à l’aide d’un schéma de type différences centrées de la solution
revient au codage de la chaı̂ne de Markov X̄ ∆ = (X̄k∆ ; k = 0, N ) qui, par construction est gaussienne,
stationnaire, centrée et vérifie les propriétés suivantes :
X̄0∆ = S0 G00
√
∆
(In − 12 ∆A)X̄k+1
= (In + 12 ∆AX̄k∆ + ∆σGk ; k = 0, ..., N − 1
avec :
S0 matrice triangulaire inférieure de rang plein telle que S0 S0T = C0
C0 solution de AC0 + C0 AT = −σσ T
G00 une variable aléatoire gaussienne standard à valeurs dans Rn
{Gk ; k = 0, N − 1} des copies indépendantes d’une variable aléatoire gaussienne standard à valeurs
dans Rp , indépendante de G00 .
2006/2007
page 18 / 46
Simulation numérique de processus aléatoires stationnaires gaussiens
solutions d’EDS linéaires homogènes
6
Estimation des caractéristiques statistiques
Nous allons maintenant introduire les formules numériques pour l’estimation de la moyenne, de
la variance et de la densité spectrale de puissance d’un processus stochastique réel d’ordre deux,
stationnaire du second ordre. Pour cela, nous allons nous aider du polycopié fourni par notre chef de
projet [5].
Sachant que l’on désire obtenir des estimées des grandeurs µ = E[X(t)] (la moyenne du processus X, nulle par hypothèse étant donné que celui-ci est centré), V = E[X 2 (t)] (la variance du
processus X) et de sa densité spectrale de puissance ω → S(ω) : R → R, il convient pour cela
de travailler à partir de L trajectoires simulées du processus X. Pour cela, on procède en trois étapes :
– On considère L copies indépendantes (X (l) , l ∈ L ) de X (où L = {1, 2, ..., L} est un ensemble
ordonné d’indices) ;
– on construit à partir des L processus X (l) = (X (l) (t), t ∈ R), l ∈ L , des estimateurs statistiques pour les paramètres à estimer. Soient respectivement l’estimateur de la moyenne µ
bL,T ,
b
b
l’estimateur de la variance VL,T et l’estimateur de la densité spectrale de puissance SL,T relatifs
à l’intervalle T̄ = [0, T ], c’est à dire obtenus en observant les processus X (l) sur T̄ . Les deux
premiers estimateurs µ
bL,T et VbL,T sont des variables aléatoires réelles définies sur l’espace de probabilité (A, F, P ) considéré, SbL,T est un processus aléatoire réel également défini sur (A, F, P ) ;
– Une estimée des grandeurs considérées est alors obtenue en prenant une réalisation de ces
estimateurs. Nous allons donc dans nos fonctions élaborer une procédure numérique permettant
de construire cette réalisation ;
6.1
Estimation de la moyenne
La formule numérique d’estimation de la moyenne µ du processus X est donnée par :
Soit t → (X 1 (t, a), ..., X (L) (t, a)), a ∈ A, une réalisation de la famille (X (l) , l ∈ L ). La réalisation
correspondante de la variable aléatoire µ
bL,T est définie par :
L
1X1
µ
bL,T (a) =
L l=1 T
Z
T
X (l) (t, a) dt
0
Une estimée de cette estimateur µ
bL,T est alors obtenue en évaluant l’intégrale de l’équation ci-dessus
à l’aide d’une formule de quadrature numérique utilisant les points tm = (m − 1)∆t, m ∈ {1, ..., N },
de la partition choisie de T̄ . Avec la formule des trapèzes décentrée à gauche on obtient, en notant
encore µ
bL,T (a) l’approximation de l’intégrale :
L
N
1 X 1 X (l)
µ
bL,T (a) =
X ((m − 1)∆t, a)
L l=1 N m=1
Dans la pratique, étant donné que nous ne travaillerons qu’avec des processus aléatoires stationnaires gaussiens centrées, la moyenne µ de ces processus vaudra donc toujours 0 et l’estimateur µ
bL,T
calculé devra ainsi se rapproché le plus possible de 0.
2006/2007
page 19 / 46
Simulation numérique de processus aléatoires stationnaires gaussiens
solutions d’EDS linéaires homogènes
6.2
Estimation de la variance
La formule numérique d’estimation de la variance V du processus X est donnée par :
Soit t → (X 1 (t, a), ..., X (L) (t, a)), a ∈ A, une réalisation de la famille (X (l) , l ∈ L ). La réalisation
correspondante de la variable aléatoire VbL,T est définie par :
L
1X1
VbL,T (a) =
L l=1 T
Z
T
[X (l) (t, a)]2 dt
0
En procédant comme au paragraphe précédent, on obtient donc pour une estimée de cette estimateur :
L
N
1 X 1 X (l)
b
VL,T (a) =
[X ((m − 1)∆t, a)]2
L l=1 N m=1
Dans la pratique, étant donné que nous ne travaillerons qu’avec des processus aléatoires stationnaires gaussiens centrées solutions de l’équation :
dX(t) = AX(t)dt + σdW (t), t > 0
Y (t) = CX(t) t ≥ 0
avec comme paramètres la matrice A de la forme :
A=
=
σ=
0
0
1
−k
m
−d
m
0
1
2
−ω0 −2ω0 ξ0
et le vecteur σ de la forme :
−L
m
La variance d’un tel processus centré est alors définit par [4] :
VX2 = E[X 2 (t)] =
L2
4m2 ω03 ξ0
Cette formule nous sera utile afin de pouvoir calculer la variance exacte obtenue par le processus que
nous avons défini et comparer ce résultat à celui renvoyé par l’estimateur de la variance VbL,T .
2006/2007
page 20 / 46
Simulation numérique de processus aléatoires stationnaires gaussiens
solutions d’EDS linéaires homogènes
6.3
Estimation de la densité spectrale de puissance
La formule numérique d’estimation de la densité spectrale de puissance S du processus X est
donnée par :
L
1 1 X b (l)
SbL,T (ω) =
|X (ω)|2
2π L l=1
avec :
b (l) (ω) =
X
Z
T
WT (t)X (l) (t)e−iωt dt
0
où WT est la fenêtre temporelle relative à l’intervalle d’acquisition T̄ = [0, T ], nous choisissons pour
cette fenêtre le modèle de Hamming définit par :
2πt
1
))1T̄ (t)
∀t ∈ R, WT (t) = √ 1.5863(0.54 − 0.46 cos (
T
T
Une formule numérique pour le calcul d’une estimée de cette estimation est donnée par :
L
1 1 X (l)
|b
x (k, a)|2 , k ∈ {1, ..., N }
SbL,T (ωk , a) =
2π L l=1
avec :
1
∆ω
ωk = −Ω + (k − )∆ω = (2k − 1 − N )
, k ∈ {1, ..., N }
2
2
où Ω correspond à un intervalle fréquentiel d’échantillonnage Ω̄ = [−Ω, Ω], Ω =
(l)
x
b (k, a) =
N
X
m=1
x(l) (m, a)e−2iπ
(m−1)(N −1)
N
π
∆t
, k ∈ {1, ..., N }
x
b(l) (m, a) = ∆tWT ((m − 1)∆t)X (l) ((m − 1)∆t, a)eiπ
(m−1)(N −1)
N
, m ∈ {1, ..., N }
1.5863
2π(m − 1)
WT ((m − 1)∆t) = √
(0.54 − 0.46 cos (
)), m ∈ {1, ..., N }
N
N ∆t
2006/2007
page 21 / 46
Simulation numérique de processus aléatoires stationnaires gaussiens
solutions d’EDS linéaires homogènes
Dans la pratique, étant donné que nous ne travaillerons qu’avec des processus aléatoires stationnaires gaussiens centrées solutions de l’équation :
dX(t) = AX(t)dt + σdW (t), t > 0
Y (t) = CX(t) t ≥ 0
avec comme paramètres la matrice A de la forme :
A=
=
σ=
0
0
1
−k
m
−d
m
0
1
2
−ω0 −2ω0 ξ0
et le vecteur σ de la forme :
−L
m
La densité spectral de puissance d’un tel processus centré est alors définie par [4] :
SX (ω) =
1
L2
2
2
2
2
2πm (ω0 − ω ) + (2ω0 ξ0 ω)2
Cette formule nous sera utile afin de pouvoir calculer la densité spectrale de puissance obtenue par le
processus que nous avons défini et comparer ce résultat à celui renvoyé par l’estimateur de la densité
spectrale de puissance SbL,T .
2006/2007
page 22 / 46
Simulation numérique de processus aléatoires stationnaires gaussiens
solutions d’EDS linéaires homogènes
Implantation
Dans cette partie nous allons expliquer le code qu’on a écrit pour la simulation des solutions d’EDS
ainsi que pour les estimations des différents paramètres (moyenne, variance, densité spectrale de
puissance ou DSP), et ceci pour les trois méthodes. Nous utiliserons par la suite les notations issues
du problème suivant :
dX(t) = AX(t)dt + σdW (t), t > 0
X(0) = X0 p.s
Les trois implémentations sont en grande partie identiques : nous allons donc expliquer en détail
la simulation exacte, puis décrire pour les deux autres méthodes les différences avec cette méthode.
1
Simulation exacte
Pour cette première simulation, nous avons créé la fonction suivante :
[moyenne, variance, dsp] = estimation_exacte(A, Sigma, s1, N, L)
où :
– moyenne désigne la moyenne estimée de la solution simulée.
– variance désigne la variance estimée de la solution simulée.
– dsp désigne la DSP estimée de la solution simulée.
– A désigne la matrice issue du problème traité.
– Sigma désigne également la matrice de même nom issue du problème.
– s1 désigne la borne supérieure de l’intervalle d’étude [0, s1].
– N désigne le nombre de noeuds dans la partition de l’intervalle utilisés pour la simulation.
– L désigne le nombre de trajectoires de la solution que l’on va simuler.
Nous commençons dans cette fonction à déterminer le pas de temps qui servira dans la simulation
Delta = s1/N;
2006/2007
page 23 / 46
Simulation numérique de processus aléatoires stationnaires gaussiens
solutions d’EDS linéaires homogènes
Nous calculons ensuite les matrices C0 et Γ définies dans l’algorithme précédent. Rappelons que :
Γ∆ = C0 − eA∆ C0 eA
T∆
avec C0 qui vérifie :
AC0 + C0 AT = −σσ T
Cette dernière équation, appelée équation de Lyapunov, peut se résoudre sous Matlab grâce à la
fonction lyap2 [1] :
C = lyap2(A,B);
retourne la matrice C solution de :
AC + CAT = −B
Dans notre cas, on appelle alors cette fonction comme suit :
C0 = lyap2(A,Sigma*Sigma’);
NB : sous Matlab, A’ désigne la matrice transposée de A.
On calcule ensuite la matrice S0 solution de S0 S0T = C0 , appelée factorisation de Cholesky.
Pour cela, nous utilisons la fonction chol qui retourne la matrice résultante de l’équation S T S = C.
Il faut donc prendre la transposée de la solution fournie par la fonction ”chol” dans notre cas :
S1 = chol(C0);
S0 = S1’;
On calcule ensuite la matrice Γ, ainsi que la matrice S qui résulte de sa factorisation de Cholesky.
Gamma = C0 - expm(A*Delta) * C0 * expm(A’*Delta);
S1 = chol(Gamma);
S = S1’;
On va ensuite créer les L trajectoires de la solution. Pour cela, on va, pour chaque trajectoire :
for K = 1:L
- générer une réalisation d’une variable gaussienne centrée réduite. On utilise pour cela le
générateur pseudo-aléatoire de Matlab rand, qui génère aléatoirement un nombre suivant une loi
uniforme sur ]0 1[, préalablement initialisé.
rand(’state’,sum(100*clock));
U = rand(2,1);
2006/2007
page 24 / 46
Simulation numérique de processus aléatoires stationnaires gaussiens
solutions d’EDS linéaires homogènes
- créer une réalisation d’une variable gaussienne centrée réduite, grâce à la méthode de BoxMuller (dont le principe est démontré en annexe) : si deux nombres x1 et x2 suivent une loi uniforme
sur ]0 1[, alors les nombres
√
y1 = −2lnx1 cos2πx2
√
y2 = −2lnx1 sin2πx2
suivent une loi normale centrée réduite.
G(1,1) = sqrt(-2*log(U(1)))*cos(2*pi*U(2));
G(2,1) = sqrt(-2*log(U(1)))*sin(2*pi*U(2));
On a alors l’initialisation de la solution.
X = S0*G;
On va alors ensuite générer une trajectoire de la solution suivant le schéma récursif décrit
précédemment, en calculant la valeur de la solution en chaque noeud :
– On sauvegarde dans un vecteur Z le vecteur X.
– On génère une nouvelle réalisation d’une variable G gaussienne centrée réduite, en appliquant
à nouveau la méthode de Box-Muller.
– On applique le schéma récursif de la simulation exacte.
∆
Xk+1
= eA∆ Xk + SG
for I = 1:N
Z = X;
U = rand(2,1);
G(1,1) = sqrt(-2*log(U(1)))*cos(2*pi*U(2));
G(2,1) = sqrt(-2*log(U(1)))*sin(2*pi*U(2));
X = expm(A * Delta) * Z + S * G;
On récupère enfin la valeur contenue dans X(1), qui correspond à la valeur de la solution simulée,
et on la stocke dans une matrice W de taille N ∗ L, qui sera utilisée dans la suite pour l’estimation
des paramètres de la solution.
W(K,I) = X(1);
On a donc, une fois les deux boucles f or terminées, L trajectoires de la solution simulée. On
peut alors estimer les paramètres de ces trajectoires. Pour cela, on utilise les formules décrites
précédemment pour les estimations.
2006/2007
page 25 / 46
Simulation numérique de processus aléatoires stationnaires gaussiens
solutions d’EDS linéaires homogènes
% Estimation de la moyenne
moyenne = 0;
for K=1:L
somme = 0;
for J=1:N
somme = somme + W(K,J);
end
somme = somme/N;
moyenne = moyenne + somme;
end
moyenne = moyenne/L;
% Estimation de la variance
variance = 0;
for K=1:L
somme = 0;
for J=1:N
somme = somme + W(K,J)*W(K,J);
end
somme = somme/N;
variance = variance + somme;
end
variance = variance/L;
% Estimation de la Densité Spectrale
Delta_Omega = 2*pi/(N*Delta);
Omega = N*Delta_Omega/2;
for P=1:N
WT(P) = 1.5863/sqrt(N*Delta)*( 0.54 - 0.46*cos(2*pi*(P-1)/N) );
OmegaK(P) = (2*P-1-N)*Delta_Omega/2;
end
for M=1:N
somme = 0;
for K=1:L
x_chapeau(K,M) = 0;
for P=1:N
petit_x(K,P) = Delta*WT(P)* W(K,P)* exp( i*pi*(P-1)*(N-1)/N );
x_chapeau(K,M) = x_chapeau(K,M) + petit_x(K,P) * exp( -2*i*pi*(M-1)*(P-1)/N )
end
somme = somme + abs(x_chapeau(K,M))^2;
end
dsp(M) = somme/(2*pi*L);
end
2006/2007
page 26 / 46
Simulation numérique de processus aléatoires stationnaires gaussiens
solutions d’EDS linéaires homogènes
2
Simulation approchée par un schéma de type Euler
Pour cette simulation, nous avons créé la fonction suivante :
[moyenne, variance, dsp] = estimation_approch(A, Sigma, s1, N, L)
où les paramètres de la fonction sont identiques à ceux de la fonction pour la simulation exacte.
Les changements par rapport à la simulation exacte sont les suivants :
– on n’utilise pas la matrice Γ définie pour la simulation exacte.
– l’initialisation de la matrice C0 est différente : en effet, celle-ci est maintenant solution de
l’équation :
AC0 + C0 AT = −σσ T − ∆AC0 AT
Cependant, on travaillera en général avec des pas de temps ∆t de l’ordre de 10−4 . On négligera
donc le dernier terme de cette équation, ce qui nous ramène alors à une équation de Lyapunov,
semblable à celle de la simulation exacte.
– les variables aléatoires utilisées dans l’initialisation et dans le schéma itératif sont différentes :
dans le premier cas, c’est un vecteur de R2 , que l’on notera G0 , dans le second cas, c’est un réel,
que l’on notera, comme pour le cas de la simulation exacte, G.
– le schéma itératif est différent :
1
∆
Xk+1
= (I2 + ∆A)Xk + S0 G
2
Le reste du code de la fonction est le même.
2006/2007
page 27 / 46
Simulation numérique de processus aléatoires stationnaires gaussiens
solutions d’EDS linéaires homogènes
3
Simulation approchée par un schéma de type différences
centrées
Pour cette simulation, nous avons créé la fonction suivante :
[moyenne, variance, dsp] = estimation_centre(A, Sigma, s1, N, L)
où les paramètres de la fonction sont identiques à ceux de la fonction pour la simulation exacte.
Les changements par rapport à la simulation exacte sont les suivants :
– on n’utilise pas la matrice Γ définie pour la simulation exacte.
– les variables aléatoires utilisées dans l’initialisation et dans le schéma itératif sont différentes :
dans le premier cas, c’est un vecteur de R2 , que l’on notera G0 , dans le second cas, c’est un réel,
que l’on notera, comme pour le cas de la simulation exacte, G.
– le schéma itératif est différent :
1
1
∆
Xk+1
= (I2 − ∆A)−1 ((I2 + ∆A)Xk + S0 G)
2
2
Le reste du code de la fonction est le même.
2006/2007
page 28 / 46
Simulation numérique de processus aléatoires stationnaires gaussiens
solutions d’EDS linéaires homogènes
Résultats et commentaires
Nous allons ici présenter les résultats que nous avons obtenus grâce aux méthodes implantées.
Pour ce faire, nous allons prendre un exemple d’équation différentielle stochastique pour laquelle
nous ferons ensuite varier les paramètres (nombre de noeuds dans la partition, nombre de trajectoires
simulées).
1
Valeurs théoriques des paramètres des solutions d’EDS
Si on considère l’équation différentielle stochastique générique
mY ′′ (t) + dY ′ (t) + kY (t) = LN (t)
r
k
2d
et ξ0 =
m
mω0
alors, si Y est une solution de cette équation, on a :
avec ω0 =
E(Y ) = 0
V (Y ) =
SY (ω) =
2
L2
4m2 ω03 ξ0
L2
1
,ω∈R
2
2πm2 (ω0 − ω 2 )2 + (2ω0 ξ0 ω)2
Exemple d’équation différentielle stochastique
Pour cet exemple, nous allons prendre l’équation différentielle suivante :
2
3Y ′′ (t) + Y ′ (t) + 3Y (t) = 3N (t)
3
soit, avec les notations du paragraphe précédent, m = 3, d = 23 , k = 3 et l = 3.
. On a alors :
On peut récrire cette équation en un système différentiel, en posant X(t) = YY ′(t)
(t)
X ′ (t) = AX(t) + σW (t)
avec A =
2006/2007
0
1
−1 − 92
et σ =
0
1
3
. d’où L = 1, ω0 = 1 et ξ0 =
1
9
page 29 / 46
Simulation numérique de processus aléatoires stationnaires gaussiens
solutions d’EDS linéaires homogènes
D’après le paragraphe précédent, si Y est une solution de l’équation précédente, alors
E(Y ) = 0
V (Y ) =
2.1
L2
1
=
3
2
4m ω0 ξ0
4∗9∗1∗
1
9
=
1
4
Tracés de simulations d’une solution
Dans cette partie, nous allons présenter les courbes de trois simulations de l’équation présentée :
la première générée par la simulation exacte, la seconde par le schéma de type Euler et la troisième
par un schéma de type différences centrées. Nous avons pour cela utilisé les paramètres suivants :
1024 points, 400 trajectoires.
Fig. IV.1 – Trajectoire d’une solution simulée par la simulation exacte
2006/2007
page 30 / 46
Simulation numérique de processus aléatoires stationnaires gaussiens
solutions d’EDS linéaires homogènes
Fig. IV.2 – Trajectoire d’une solution simulée grâce à un schéma de type Euler
2006/2007
page 31 / 46
Simulation numérique de processus aléatoires stationnaires gaussiens
solutions d’EDS linéaires homogènes
Fig. IV.3 – Trajectoire d’une solution simulée grâce à un schéma de type différences centrées
2006/2007
page 32 / 46
Simulation numérique de processus aléatoires stationnaires gaussiens
solutions d’EDS linéaires homogènes
2.2
Estimation des paramètres des solutions simulées
Dans cette partie, nous allons présenter les résultats des estimations des différents paramètres.
Nous allons pour cela faire varier tout d’abord le nombre de noeuds de la partition de l’intervalle en
gardant le nombre de trajectoires constant (on prendra 400 trajectoires), puis, en gardant cette fois ci
le nombre de noeuds constants (on prendra 1024 points) et en faisant varier le nombre de trajectoires.
N
4
8
16
32
64
128
256
512
1024
2048
4096
8192
16384
32768
moyenne variance
-0.1223
0.3438
-0.0766
0.2544
0.5360
0.2182
0.0241
0.1217
0.0460
0.2770
0.0230
0.2783
-0.0117
0.2811
-0.0252
0.2591
-0.0128
0.2327
0.0160
0.2560
0.0335
0.2590
0.0680
0.2492
-0.0152
0.2302
-0.0267
0.2424
Tab. IV.1 – Estimation de la moyenne et de la variance d’une solution simulée par la méthode exacte
en fonction du nombre de noeuds
NB : pour le tracé des graphes, nous avons choisi l’échelle logarithmique afin de faciliter la lisibilité.
2006/2007
page 33 / 46
Simulation numérique de processus aléatoires stationnaires gaussiens
solutions d’EDS linéaires homogènes
Fig. IV.4 – Estimation de la moyenne des trajectoires simulées par la méthode exacte en fonction du
logarithme du nombre de noeuds de la partition
Fig. IV.5 – Estimation de la variance des trajectoires simulées par la méthode exacte en fonction du
logarithme du nombre de noeuds de la partition
2006/2007
page 34 / 46
Simulation numérique de processus aléatoires stationnaires gaussiens
solutions d’EDS linéaires homogènes
N
4
8
16
32
64
128
256
512
1024
2048
4096
8192
16384
32768
moyenne variance
-0.1671
0.3669
0.3079
0.5481
-0.0543
0.2385
0.0659
0.2332
0.0225
0.2259
-0.0019
0.2506
0.0078
0.1906
-0.0223
0.2710
-0.0139
0.2316
-0.0342
0.2429
0.0681
0.2603
0.0052
0.2291
0.0232
0.2322
0.0246
0.2481
Tab. IV.2 – Estimation de la moyenne et de la variance d’une solution simulée par un schéma de
type Euler en fonction du nombre de noeuds
Fig. IV.6 – Estimation de la moyenne des trajectoires simulées par le schéma du type Euler en
fonction du logarithme du nombre de noeuds de la partition
2006/2007
page 35 / 46
Simulation numérique de processus aléatoires stationnaires gaussiens
solutions d’EDS linéaires homogènes
Fig. IV.7 – Estimation de la variance des trajectoires simulées par le schéma du type Euler en fonction
du logarithme du nombre de noeuds de la partition
N
4
8
16
32
64
128
256
512
1024
2048
4096
8192
16384
32768
moyenne variance
0.0275
0.1397
0.0206
0.2264
-0.1035
0.2985
0.0173
0.2335
-0.0641
0.2817
0.0193
0.2334
-0.0143
0.2580
0.0079
0.2478
0.0317
0.2545
-0.0426
0.2334
-0.0201
0.2444
0.0079
0.2618
-0.0249
0.2179
-0.0074
0.2257
Tab. IV.3 – Estimation de la moyenne et de la variance d’une solution simulée par un schéma de
type différences centrées en fonction du nombre de noeuds
2006/2007
page 36 / 46
Simulation numérique de processus aléatoires stationnaires gaussiens
solutions d’EDS linéaires homogènes
Fig. IV.8 – Estimation de la moyenne des trajectoires simulées par le schéma du type différences
centrées en fonction du logarithme du nombre de noeuds de la partition
Fig. IV.9 – Estimation de la variance des trajectoires simulées par le schéma du type différences
centrées en fonction du logarithme du nombre de noeuds de la partition
2006/2007
page 37 / 46
Simulation numérique de processus aléatoires stationnaires gaussiens
solutions d’EDS linéaires homogènes
L
10
20
30
50
100
150
200
300
500
750
1000
1500
2000
3000
5000
moyenne variance
0.0741
0.4348
-0.0015
0.1383
0.0108
0.2577
0.1129
0.2991
0.0103
0.2136
0.0010
0.2167
0.0072
0.1979
-0.0259
0.2275
0.0028
0.2530
0.0201
0.2374
0.0277
0.2490
-0.0039
0.2363
0.0089
0.2442
-0.0073
0.2546
0.0112
0.2460
Tab. IV.4 – Estimation de la moyenne et de la variance d’une solution simulée par la simulation
exacte en fonction du nombre de trajectoires simulées
Fig. IV.10 – Estimation de la moyenne des trajectoires simulées par la méthode exacte en fonction
du logarithme du nombre de trajectoires simulées
2006/2007
page 38 / 46
Simulation numérique de processus aléatoires stationnaires gaussiens
solutions d’EDS linéaires homogènes
Fig. IV.11 – Estimation de la variance des trajectoires simulées par la méthode exacte en fonction
du logarithme du nombre de trajectoires simulées
L
10
20
30
50
100
150
200
300
500
750
1000
1500
2000
3000
5000
moyenne variance
-0.2297
0.2639
-0.1836
0.3022
0.0327
0.2422
0.0002
0.2593
0.0641
0.2447
-0.0599
0.2847
-0.0084
0.1998
-0.0273
0.2154
-0.0198
0.2634
0.0176
0.2489
-0.0060
0.2334
0.0014
0.2508
0.0118
0.2411
-0.0086
0.2481
-0.0095
0.2424
Tab. IV.5 – Estimation de la moyenne et de la variance d’une solution simulée par un schéma de
type Euler en fonction du nombre de trajectoires simulées
2006/2007
page 39 / 46
Simulation numérique de processus aléatoires stationnaires gaussiens
solutions d’EDS linéaires homogènes
Fig. IV.12 – Estimation de la moyenne des trajectoires simulées par un schéma de type Euler en
fonction du logarithme du nombre de trajectoires simulées
Fig. IV.13 – Estimation de la variance des trajectoires simulées par un schéma de type Euler en
fonction du logarithme du nombre de trajectoires simulées
2006/2007
page 40 / 46
Simulation numérique de processus aléatoires stationnaires gaussiens
solutions d’EDS linéaires homogènes
L
10
20
30
50
100
150
200
300
500
750
1000
1500
2000
3000
5000
moyenne variance
0.1410
0.1714
-0.1214
0.2383
-0.0499
0.3089
0.0379
0.2057
-0.0226
0.2804
0.0189
0.2123
-0.0239
0.2543
0.0252
0.2711
0.0128
0.2353
0.0232
0.2385
0.0082
0.2489
-0.0146
0.2340
-0.0007
0.2384
0.0076
0.2444
0.0059
0.2451
Tab. IV.6 – Estimation de la moyenne et de la variance d’une solution simulée par un schéma de
type différences centrées en fonction du nombre de trajectoires simulées
Fig. IV.14 – Estimation de la moyenne des trajectoires simulées par un schéma de type différences
centrées en fonction du logarithme du nombre de trajectoires simulées
2006/2007
page 41 / 46
Simulation numérique de processus aléatoires stationnaires gaussiens
solutions d’EDS linéaires homogènes
Fig. IV.15 – Estimation de la variance des trajectoires simulées par un schéma de type différences
centrées en fonction du logarithme du nombre de trajectoires simulées
2.3
Tracé des densités spectrales de puissance pour des solutions simulées
On a pris pour ces tracés les paramètres suivants : nombre de noeuds : 1024, nombre de
trajectoires : 200.
D’après les graphes, on peut voir que pour des valeurs de N élevées, l’estimation des paramètres
tend asymptotiquement vers les valeurs théoriques des paramètres des solutions de cette EDS.
De même, pour des valeurs de L élevées, l’estimation des paramètres tend asymptotiquement vers les
valeurs théoriques des paramètres des solutions de cette EDS. Ces résultats nous permettent donc de
valider nos méthodes implémentées.
2006/2007
page 42 / 46
Simulation numérique de processus aléatoires stationnaires gaussiens
solutions d’EDS linéaires homogènes
Fig. IV.16 – DSP d’une solution de l’EDS simulée par la simulation exacte
Fig. IV.17 – DSP d’une solution de l’EDS simulée par un schéma de type Euler
2006/2007
page 43 / 46
Simulation numérique de processus aléatoires stationnaires gaussiens
solutions d’EDS linéaires homogènes
Fig. IV.18 – DSP d’une solution de l’EDS simulée par un schéma de type différences centrées
2006/2007
page 44 / 46
Conclusion
Ce projet fut, pour nous, intéressant en tout point. Nous avons pu approfondir nos connaissances
dans le domaine des équations différentielles stochastiques. En effet, traiter les EDS est quelque peu
ardu, car cela apporte beaucoup de nouvelles notions. Travailler sur ce projet, avec l’aide de M.
Fogli et des documents mis à notre disposition nous a permis de mieux comprendre les EDS, et ainsi
pouvoir traiter le problème posé. Cela nous a aussi été bénéfique au niveau de la programmation en
Matlab, nous avons pu ainsi appliquer et approfondir nos connaissances acquises en cours.
Nous avons rencontré, durant ce projet, des difficultés que nous avons dues surmonter. Les principales
d’entre elles étant tout de même la compréhension de l’ensemble des notions liées aux EDS, ainsi
que la longueur des calculs qui rendaient difficiles le traitement de plusieurs exemples, ce que nous
souhaitions au départ. Cependant nous sommes très satisfaits des résultats que nous avons obtenus,
et nous sommes heureux d’avoir participé à ce projet.
2006/2007
page 45 / 46
Références
[1] J.-T. LAPRESTE. Introduction à Matlab, 1999.
[2] Michel FOGLI. Simulation numérique de processus solutions d’équations différentielles stochastiques linéaires homogènes, 1994.
[3] J. Dongarra.
Cours sur les oscillateurs mécaniques.
metz.fr/enseign/physique/PHYS/Term/Meca-STL/exM3/exM3.htm.
http
://www.ac-nancy-
[4] Michel Fogli. Systèmes dynamiques linéaires homogènes à entrée aléatoire.
[5] Michel FOGLI Pierre GRANGE. Formules numériques pour l’estimation des caractéristiques
statistiques du second ordre (moyenne,,variance, DSP, fonction d’autocorrélation) d’un processus
stochastique réél d’ordre 2, stationnaire du second ordre, 2005.
2006/2007
page 46 / 46
ANNEXES
Table des Annexes
A Le Code du Programme
A.1 Fonction estimateur exact . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
A.2 Fonction estimateur approch . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
A.3 Fonction estimateur centre . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
I
I
II
III
B
V
Méthode de Box-Muller
2006/2007
48
A. Le Code du Programme
A.1 Fonction estimateur exact
function [moyenne, variance, dsp] = estimateur_exact(A, Sigma, s1, N, L)
Delta = s1/N;
Ly = Sigma*Sigma’;
C0 = lyap2(A,Ly);
S1 = chol(C0);
S0 = S1’;
Gamma = C0 - expm(A*Delta) * C0 * expm(A’*Delta);
S1 = chol(Gamma);
S = S1’;
for K = 1:L
rand(’state’,sum(100*clock));
U = rand(2,1);
G(1,1) = sqrt(-2*log(U(1)))*cos(2*pi*U(2));
G(2,1) = sqrt(-2*log(U(1)))*sin(2*pi*U(2));
X = S0*G;
for I = 1:N
Z = X;
U = rand(2,1);
G(1,1) = sqrt(-2*log(U(1)))*cos(2*pi*U(2));
G(2,1) = sqrt(-2*log(U(1)))*sin(2*pi*U(2));
X = expm(A * Delta) * Z + S * G;
W(K,I) = X(1);
end
end
% Estimation de la moyenne
moyenne = 0;
for K=1:L
somme = 0;
for J=1:N
somme = somme + W(K,J);
end
somme = somme/N;
moyenne = moyenne + somme;
end
moyenne = moyenne/L;
% Estimation de la variance
variance = 0;
for K=1:L
somme = 0;
for J=1:N
somme = somme + W(K,J)*W(K,J);
end
somme = somme/N;
variance = variance + somme;
end
variance = variance/L;
% Estimation de la Densité Spectrale
Delta_Omega = 2*pi/(N*Delta);
Omega = N*Delta_Omega/2;
for P=1:N
WT(P) = 1.5863/sqrt(N*Delta)*( 0.54 - 0.46*cos(2*pi*(P-1)/N) );
OmegaK(P) = (2*P-1-N)*Delta_Omega/2;
end
for M=1:N
2006/2007
I
somme = 0;
for K=1:L
x_chapeau(K,M) = 0;
for P=1:N
petit_x(K,P) = Delta*WT(P)* W(K,P)* exp( i*pi*(P-1)*(N-1)/N );
x_chapeau(K,M) = x_chapeau(K,M) + petit_x(K,P) * exp( -2*i*pi*(M-1)*(P-1)/N );
end
somme = somme + abs(x_chapeau(K,M))^2;
end
dsp2(M) = somme/(2*pi*L);
end
A.2 Fonction estimateur approch
function [moyenne, variance,dsp] = estimateur_approch(A, B, S1, N, L)
Delta = S1/N;
Ly
C0
S1
S0
=
=
=
=
B*B’;
lyap2(A,Ly);
chol(C0);
S1’;
for K = 1:L
rand(’state’,sum(100*clock));
U = rand(2,1);
G0(1,1) = sqrt(-2*log(U(1)))*cos(2*pi*U(2));
G0(2,1) = sqrt(-2*log(U(1)))*sin(2*pi*U(2));
X = S0*G0;
for I = 1:N
Z = X;
U = rand(2,1);
G = sqrt(-2*log(U(1)))*cos(2*pi*U(2));
H = sqrt(-2*log(U(1)))*cos(2*pi*U(2));
X = ((eye(2) + Delta * A) * Z + sqrt(Delta)* B * G);
W(K,I) = X(1);
end
end
% Estimation de la moyenne
moyenne = 0;
for K=1:L
somme = 0;
for J=1:N
somme = somme + W(K,J);
end
somme = somme/N;
moyenne = moyenne + somme;
end
moyenne = moyenne/L;
% Estimation de la variance
variance = 0;
for K=1:L
somme = 0;
for J=1:N
somme = somme + W(K,J)*W(K,J);
end
somme = somme/N;
variance = variance + somme;
end
variance = variance/L;
% Estimation de la Densité Spectrale
Delta_Omega = 2*pi/(N*Delta);
2006/2007
II
Omega = N*Delta_Omega/2;
for P=1:N
WT(P) = 1.5863/sqrt(N*Delta)*( 0.54 - 0.46*cos(2*pi*(P-1)/N) );
OmegaK(P) = (2*P-1-N)*Delta_Omega/2;
end
for M=1:N
somme = 0;
for K=1:L
x_chapeau(K,M) = 0;
for P=1:N
petit_x(K,P) = Delta*WT(P)* W(K,P)* exp( i*pi*(P-1)*(N-1)/N );
x_chapeau(K,M) = x_chapeau(K,M) + petit_x(K,P) * exp( -2*i*pi*(M-1)*(P-1)/N );
end
somme = somme + abs(x_chapeau(K,M))^2;
end
dsp2(M) = somme/(2*pi*L);
end
A.3 Fonction estimateur centre
function [moyenne, variance, dsp] = estimateur_centre(A, B, S1, N, L)
%Première étape de la simulation
Delta = S1/N;
Ly
C0
S1
S0
=
=
=
=
B*B’;
lyap2(A,Ly);
chol(C0);
S1’;
for K = 1:L
rand(’state’,sum(100*clock));
U = rand(2,1);
G0(1,1) = sqrt(-2*log(U(1)))*cos(2*pi*U(2));
G0(2,1) = sqrt(-2*log(U(1)))*sin(2*pi*U(2));
X = S0*G0;
for I = 1:N
Z = X;
V = rand(2,1);
G = sqrt(-2*log(V(1)))*cos(2*pi*V(2));
H = sqrt(-2*log(V(1)))*sin(2*pi*V(2));
X = ( inv(eye(2) - 1/2*Delta*A) ) * ( (eye(2) + 1/2*Delta*A) * Z + sqrt(Delta)* B * G);
W(K,I) = X(1);
end
end
% Estimation de la moyenne
moyenne = 0;
for K=1:L
somme = 0;
for J=1:N
somme = somme + W(K,J);
end
somme = somme/N;
moyenne = moyenne + somme;
end
moyenne = moyenne/L;
% Estimation de la variance
variance = 0;
for K=1:L
somme = 0;
2006/2007
III
for J=1:N
somme = somme + W(K,J)*W(K,J);
end
somme = somme/N;
variance = variance + somme;
end
variance = variance/L;
% Estimation de la Densité Spectrale
Delta_Omega = 2*pi/(N*Delta);
Omega = N*Delta_Omega/2;
for P=1:N
WT(P) = 1.5863/sqrt(N*Delta)*( 0.54 - 0.46*cos(2*pi*(P-1)/N) );
OmegaK(P) = (2*P-1-N)*Delta_Omega/2;
end
for M=1:N
somme = 0;
for K=1:L
x_chapeau(K,M) = 0;
for P=1:N
petit_x(K,P) = Delta*WT(P)* W(K,P)* exp( i*pi*(P-1)*(N-1)/N );
x_chapeau(K,M) = x_chapeau(K,M) + petit_x(K,P) * exp( -2*i*pi*(M-1)*(P-1)/N );
end
somme = somme + abs(x_chapeau(K,M))^2;
end
dsp2(M) = somme/(2*pi*L);
end
2006/2007
IV
B. Méthode de Box-Muller
Nous allons ici présenter la démonstration souhaitée par M. Fogli, de la méthode de Box-Muller,
à savoir :
si X1 et X2 sont deux variables aléatoires suivant la loi uniforme sur ]0 1[, alors les variables
aléatoires
√
Y1 = √−2lnX1 cos2πX2 (1)
Y2 = −2lnX1 sin2πX2 (2)
suivent une loi normale centrée réduite.
En effet, on peut récrire ces deux équations comme suit :
Y12 = −2lnX1 (cos2πX2 )2 (3)
Y22 = −2lnX1 (sin2πX2 )2 (4)
Si on fait la somme de (3) et de (4), on obtient :
Y12 + Y22 = −2lnX1 ((cos2πX2 )2 + (sin2πX2 )2 ) = −2lnX1
soit
1
2
2
X1 = e− 2 (Y1 +Y2 )
Si on divise la (2) par (1), on obtient :
sin2πX2
Y2
=
= tan(πX2 )
Y1
cos2πX2
d’où
X2 =
1
Y2
arctan( )
2π
Y1
On a alors :
1
∂X1
2
2
= −Y1 e− 2 (Y1 +Y2 )
∂Y1
1
∂X1
2
2
= −Y2 e− 2 (Y1 +Y2 )
∂Y2
∂X2
Y2
1 Y2
1
1
=−
=
−
2
∂Y1
2π Y12 1 + Y22
2π Y12 + Y22
Y1
1
1 1
1
Y1
∂X2
=
=
2
2
∂Y2
2π Y1 1 + Y22
2π Y1 + Y22
Y1
NB : la dérivée de arctan(x) est
2006/2007
1
1+x2
V
On peut alors calculer le Jacobien :
∂X1
∂Y1
J = 1
∂X
∂Y
2
soit
∂X2 ∂Y1 1
1
Y12
Y22
2
2
− 21 (Y12 +Y22 )
=− 1
−
e
e− 2 (Y1 +Y2 )
2
2
2
2
∂X2 2π Y1 + Y2
2π Y1 + Y2
∂Y
2
1
2
2
J = −e− 2 (Y1 +Y2 ) = −[e−
Y12
2
][e−
Y22
2
]
ce qui est le produit d’un terme dépendant uniquement de Y1 avec un terme dépendant uniquement
de Y2 . C’est d’ailleurs le produit de deux densités de probabilités de lois normales centrées réduites.
On en déduit alors que Y1 et Y2 sont indépendamment distribués suivant la loi normale centrée
réduite
2006/2007
VI
Téléchargement