CHAPITRE IV :
Application
0. Introduction:
On applique dans ce chapitre quelques formules et
méthodes citées dans les trois chapitres
précédents. Cette application repose sur la simulation
numérique. Pour commencer nous abordons la simulation des trajectoires
de mouvement brownien qui est la base des autres simulations stochastiques de
notre travail. Il faut discrétisé le problème, cette
discrétisation se faisant au niveau des variables, par exemple sur la
variable de temps pour le mouvement Brownien.
Après la simulation du mouvement Brownien, on
procède à la simulation de processus de diffusion, que l'on
utilise dans notre problème principal concernent l'interprétation
probabiliste des EDPs.
1. Discrétisation du mouvement brownien
:
Le mouvement Brownien standard est une variable aléatoire
W(t) qui dépend continument de temps (t E [0, T]) et satisfait les
quartes conditions connues(Chap1).
Pour la computation proposée il est utile de
considérer le mouvement Brownien discrétisé, où
W(t) est spécifie aux valeurs discrètes de t; ainsi nous donnons
At = T /N pour un certain entier positive N et soit W~ une notation de
W(ti) avec ti = jLt.
La première condition est Wo = 0 avec une
probabilité 1, la 2eme et la 3eme sont
données par :
Wi = Wi + AWi , j = 1,2, ...,N,
où OW~ est une variable aléatoire
indépendante de -VAt.7V(0,1).
Le programme (PROG1) en MATLAB nous donne la simulation d'une
trajectoire du Mouvement Brownien standard sur l'intervalle [0,1] avec N = 1000
; le résultat de la simulation est illustré dans la figure
(Fig.01) qui représente 1000 points (ti ,Bi) en les joignant par
interpolation linéaire:
Remarque : tous les algorithmes des programmes
(en MATLAB) cités dans ce chapitre sont donnés dans l'annexe
B.
W(t)
-0.2
-0.4
0.8
0.6
0.4
0.2
1.4
1.2
0
1
simulation d'une trajectoire d'un mouvement brownien
0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1
Fig 01: t
-2.5 -2 -1.5 -1 -0.5 0 0.5 1 1.5
Fig 02:
1
0.8
0.6
0.4
0.2
0
-0.2
-0.4
-0.6
-0.8
simulation d'une trajectoire d'un mouvement brownien dans 2D
Dans la figure (Fig.2) on donne la représentation d'une
trajectoire de mouvement Brownien dans deux dimensions. On voit ici que le
point de trajectoire marche aléatoirement dans tous les sens du plan.
Avec les mêmes démarches suivies dans la
simulation d'une trajectoire d'un mouvement Brownien on peut simuler M
trajectoires, le programme (PROG2) sur MATLAB, nous a donné la
simulation de M = 1000 trajectoires, le résultat est illustré
dans la figure(Fig.03) :
-2
-4
-5
-1
4
0
3
5
2
1
-3
W(t)
0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1
Fig.03: 1000 trajectoires de mouvement
Brownien
t
2. Discrétisation d'un processus de
diffusion:
2.1. Schéma d'Euler- Maruyama :
Une des simples méthodes de discrétisation de
processus de diffusion est l'approximation d'Euler, appelée parfois
Euler- Maruyama. On considère un
processus de diffusion X = (Xt, to t T} satisfait l'EDS :
dXt = a( t, Xt)dt + b( t, Xt)dWt
(4.1)
dans [ to, T] avec la valeur initiale Xto = Xo.
Pour une discrétisation to = To
· · · TN = T de l'intervalle de temps [ to, T],
l'approximation d'Euler est un processus stochastique continu Y =
(Y(t), to t T} qui satisfait le schéma itératif :
Yn+i = Yn + c(rn,
Yn)(rn+i--Tn) + b(rn,
Yn)(Wn+i--Wn) (4.2)
pour n = 0,1,2 ..., N -- 1 avec la valeur initiale Yo = X0,
où nous avons écrit :
Yn = Y(rn)
Pour la valeur de l'approximation de temps de la
discrétisation xn, nous écrirons aussi :
An= ;1+1 -- xn pour le ntenie pas
de temps et appelé S = maxn An le pas de temps
maximale. Pour ce paragraphe on considère un temps de
discrétisation équidistant xn = to + nS avec S =
AnE A= (T -- to) /N pour N entier assez grand pour que DE [0,1] .
Quand le coefficient de diffusion est identiquement
égale à zéro, l'itératif de schéma (4.2)
réduit au schéma d'Euler déterministe pour
l'équation différentielle ordinaire (EDO) :
dx
dt = a(t, x) (4.3)
La séquence (Yn, n = 1,2., ..., N} des valeurs
de l'approximation d'Euler (4.2) aux instants de temps discrétisé
(x)8 = (rn, n = 1,2, ..., N} peut avoir le même
schéma
simulé dans le cas déterministe, la
différence principale est que nous avons besoin à
générer le pas aléatoire :
AWn = Wrn-Ft--Wrn (4.4)
pour n = 0,1, 2 ..., N -- 1 de mouvement brownien W , on sait
que ces pas sont des variables aléatoires gaussiens indépendants
avec un moyenne E(AWn) = 0 et de variance
E(AWn2) = An, donc on peut utiliser des
nombres pseudo-aléatoires pour les incréments de mouvement
brownien.
n+i = Yn + c/..An +
b.AWn
r
(4.5)
Y0 = X0
Pour simplifier nous écrivons : f =
f(rn,Yn) pour une fonction définie sur
IR+ x IRl et n = 0, 1, 2 ..., N -- 1, alors nous pouvons
écrire le schéma d'Euler (4.2) dans la forme
abrévié :
La structure récurrente de schéma d'Euler qui
évalue les valeurs approximatives du processus de diffusion aux instants
de discrétisation est toujours la clé du Succès
d'implémentation par ordinateur.
2.2. Exemple de discrétisation d'un processus de
diffusion:
Nous illustrons l'aspect de simulation pour approximer le
processus de diffusion, en examinant un simple exemple avec simple coefficient,
on considère le processus X = (Xt, t 0) qui satisfait l'EDS
linéaire :
dXt = aXtdt + bXtdWt (4.6)
Pour t E [0, 7] avec X0 E IR la valeur initiale, c'est un
processus de diffusion avec drift a(t,x) = ax et un coefficient de diffusion
b(t,x) = bx .
On peut avoir la solution exacte de cette EDS explicitement :
Xt = XoexpKa
--112b2)t + bWt1 (4.7)
Pour t E [0, T] et W = (We, t 0) un Mouvement Brownien,
connaître la solution de (4.6) explicitement donne la possibilité
de comparer l'approximation d'Euler avec celle de la solution exacte, et
calculer l'erreur.
Pour simuler la trajectoire de l'approximation d'Euler pour un
temps de discrétisation, nous simplement donnons la valeur initiale Y0 =
X0 et procéder par récurrence la prochaine valeur :
Yn+i = Yn + aYnAn +
bYnAWn
pour n = 1,2, ... , accorder au schéma d'Euler avec
drift et diffusion. Ici AWn est la distribution gaussienne N(0,
An) du mouvement brownien W sur le subintervalle xn <
t < Tn+1.
Pour la comparaison, nous pouvons utiliser (4.7) pour
déterminer la valeur de la solution exacte pour un même
échantillon de mouvement brownien, obtenu :
~
X,,, = Xoexp Ka -- 1 12 b2) rn
+ b 1 Wi-il
~
Une application numérique de cet exemple en prenant
l'intervalle de temps [0,1] , le pas A= 10-2 et pour le processus de
diffusion a = 0.5, b = 0.5 et X0 = 1. A travers le programme (PROG3) nous avons
le résultat de la simulation de la solution exacte et la solution
approximée par la méthode d'Euler de l'EDS (4.6). Le
résultat est illustré dans la figure (Fig.04), où on peut
voir que la trajectoire de solution approximée approche celle de la
solution exacte.
solution exacte solution approximée
1.15
X(t)
1.1
1.05
1
0.95
0.9
0.85
0.8
0.75
0.7
0.65
0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1
t
Fig.04:solution exacte et approximée d'un
processus de diffusion
3. Application à l'interprétation
probabiliste des EDPs :
Dans cette partie on applique la méthode probabiliste
sur quelques exemples des EDPs paraboliques, Pour voir l'efficacité de
la méthode on applique en parallèle à ces EDPs une
méthode déterministe (différences finies), on veut dire
par efficacité, estce-que la méthode nous a donné une
approximation acceptable de la solution ? On commence par poser le premier
problème :
3.1. Problème N°=1 (équation de la
chaleur):
On prend comme premier problème à traiter
l'équation de la chaleur. Nous choisissons un problème que nous
savons résoudre analytiquement et par différences finies pour
essayer par une comparaison de voir l'efficacité et les avantages de la
méthode probabiliste.
L'équation s'écrit comme suit :
lau(x, t) a 2u(x, 0
= a dans D = [0,T] x [0, xf]
at ax2 (4.8)
u(x, 0) =
f(x)
avec :
1 -- domaine D = [0,0.1] x [0,1] et a = 1.
conditions aux limites
u(1,)
= 0
condition initiale f (x) = sinn-x . fu(0, 0 =
0 (4.9)
On sait résoudre cette équation analytiquement et
la solution (exacte) est :
u(x, t) = sin(n-x)exp(--n-2t)
La figure (Fig.05) présente la solution analytique u(x, t)
en fonction de t et x:
Chapitre IV
Application
0.6
0.08
0.04
t
0
0
1
0.8
0.6
0.4
0.2
0
1
0.8
u(xt)
0.1
0.06
0.02
x
0.4
0.2
Fig.05:solution analytique en fonction de x et de
t
3.1.1. Illustration numérique du problème
par méthode déterministe (la méthode des
différences finies) :
Cherchons l'approximation numérique de la solution u(x,
t) qui satisfait l'équation (4.8) avec la condition initiale et les
conditions aux limites (4.9). La méthode des différences finies
nous permet de donner cette approximation ; on commence par discrétiser
le problème. On divise le domaine de l'espace [0,xf] à M
subintervalles, chacun de longueur Ax = xf/M, et on divise le domaine de temps
[0,T] à N subintervalles, chacun de durée At = T/M, en utilisant
la méthode d'Euler explicite (chap. II) on obtient :
k
ui+1 - 214 +14_1
Ax2
k+1 k
ui -ui
= (4.10)
At
a
avecuik
r-r, u(xi,tk), la méthode explicite nous
permet de résoudre le problème par
itération :
k+1 At
ui = r(u+1 + ut_1) + (1 -
2r)uk-, avec r = a
ex2
On a d'après le chapitre II que ce schéma est
consistent, donc il suffit de choisir ?t et ?x pour que la condition de
stabilité soit vérifiée, de cette façon on obtient
un
schéma convergent. La condition de stabilité dans
ce cas est que r ~ ~ .
~
Le programme (PROG.4) fournit une fonction qui calcule la
solution à tous les points (tk,xt) explicitement, avec condition
initiale et condition aux limites quelconques noté dans le programme par
f(x) , bx0 et bxf :
Le programme (PROG.5) définit les fonctions : condition
initiale et conditions aux limites (4.9), le pas de discrétisation ?t et
?x . Il suffit de donner par exemple M = 20, N = 300, donc r = 0.133 , et on
trouve la solution:
La figure (Fig.06) donne l'illustration graphique de la
solution approximée en fonction de t et x, par une
première comparaison on voit la grande ressemblance
entre la figure (Fig.05) et (Fig.06) :
On continue la comparaison par le calcul de l'erreur de
troncature :
E = MaxtE~k,1 < i < M,1 < k < N1
E = 1.4797 x 10-4
0.06
0.04
0.2
0.4
x
t
0.02
0
0
Fig.06:solution approximée par la méthode
des difference finies
1
0.8
u(x,t)
0.6
0.4
0.2
0
1
0.8
0.6
0.1
0.08
Puisque on connaît la solution exacte de l'équation
(4.8), alors on peut calculer le vecteur erreur défini
par :
I 1 k 1
et = k.ei , · · · ,
et , · · · , et
t )
avec :
ek = lu~k -- u(xi,tk)1, 1 < i < M, 1
< k < N
où u(xi, tk) est la solution analytique (exacte) au point
(xi, tk) et uikest la solution approximée
par la méthode des différences finies au même point.
La figure (Fig.07) illustre la solution exacte et
approximée au long de l'axe t et pour un point d'espace fixé x =
0.5. On remarque que les deux graphes sont presque confondus ce qui veut
signifier que l'erreur est acceptable; ce que montre la figure (Fig.08) qui
illustre le vecteur d'erreur e(t, x) pour x = 0.5.
430
0.9
0.8
0.7
0.6
0.5
0.4
1
solution approximée solution exacte
0 0.01 0.02 0.03 0.04 0.05 0.06 0.07 0.08 0.09 0.1
t
Fig.07:solution exacte et approximée par la
méthode des différences finies pour x=0.5
x 10-4
e(t)
0.5
1.5
0
1
0 0.01 0.02 0.03 0.04 0.05 0.06 0.07 0.08 0.09 0.1
t
Fig.08: L'erreur de la méthode pour
x=0.5
On calcule l'erreur quadratique pour xi = 1 / 2 par :
i1 VN
e quad _ (e c)2 (4.11)
_
N Li k=1 E
dans ce cas squad = 1.1699 x 10-4
La Table.1 donne l'erreur maximum (troncature) et le temps
(7'E) d'exécution de programme pour des
résolutions différentes de l'équation (4.8) par la
méthode des différences finies en changeant les
valeurs de N et M (toujours pour x = 0.5):
N
|
90
|
600
|
1000
|
2000
|
8000
|
1.8x104
|
M
|
20
|
20
|
50
|
100
|
200
|
300
|
At
|
0.0013
|
1.66x10-4
|
10-4
|
5x10-5
|
1.25x10-5
|
5.5x10-6
|
Ax
|
0.05
|
0.05
|
0.02
|
0.01
|
0.005
|
0.0033
|
r
|
0.44
|
0.066
|
0.25
|
0.5
|
0.5
|
0.5
|
ema x
|
0.0013
|
4.54x10-4
|
6.05x10-5
|
6.05x10-5
|
1.51x10-5
|
6.72x10-6
|
7'E(s)
|
0.031
|
0.25
|
0.656
|
4.82
|
144.7
|
1076.53
|
Table.1
On constate de cette table que : chaque fois qu'on diminue la
valeur de Ax il faut diminuer la valeur de At pour obtenir la
stabilité de solution, cette situation provoque un
système linéaire de grand dimension qui nécessite un
temps d'exécution plus grand, mais l'erreur devient
plus petite.
3.1.2. Illustration numérique du problème
par la méthode probabiliste :
On passe par suite à l'application de la
deuxième méthode sur le même problème,
donc on s'intéresse à l'interprétation
probabiliste de la solution de l'équation (4.8) pour t
E [0, 7'], ce problème est traité dans le chapitre III, et par
l'application de la formule de Feynman-Kac on peut
écrire la solution sous forme :
u(x, t) = E x[f(X~)] (4.12)
où le processus stochastique sous-jacent (Xt) est la
solution de :
Xt = x + f ot V2 dWs
,0 t 7' (4.13)
La solution numérique est obtenue par la simulation de
Monte-Carlo; l'application de schéma d'Euler donne une solution
approximée de l'équation (4.13). On simule N trajectoires de
cette solution, et par la fonction de condition initiale on calcule les valeurs
f(X~), en moyennant ces valeurs on trouve :
~
u(x,t) ~ 1 ~
~~~
L'illustration graphique de cette solution est donnée par
la figure (Fig.09) :
0
0
0.08
t
1.2
0.8
0.6
0.4
0.2
0
-0.2
1
x 0.8
0.6
0.4
0.2
0.1
0.06
0.04
0.02
1
u(x,t)
Fig.09: solution approximée par la méthode
probabiliste
Le programme (PROG.6) donne la solution approximé par
la méthode probabiliste, où le processus (X1 ~) est
discrétisé avec même pas de temps utilisé à
la première méthode (D.F), c.-à-d. on prend n = 300 et
donc ?t = T /n = 1 / 300.
La figure (Fig.10) illustre la solution probabiliste et la
solution exacte au long de l'axe de temps et pour un point d'espace fixé
x = 0.5 , on peut voir que la solution probabiliste approche de la solution
exacte avec des perturbations.
U(tpX)
0.9
0.8
0.7
0.6
0.5
0.4
1
solution probabiliste solution exacte
0 0.01 0.02 0.03 0.04 0.05 0.06 0.07 0.08 0.09 0.1
t
Fig.10:solution exacte et probabiliste pour
x=0.5
On calcule l'erreur de troncature :
E = MaxtE k,1 k N)
E = 0.0227
L'erreur de troncature de cette méthode est plus grande
que celle de la première. Ceci provient de l'ordre de convergence de la
méthode de Monte Carlo.
Le vecteur d'erreur est donné par la formule :
e (xi, tk) = lUex(xi, tk) -- Uprob(xi, tk)I
où Uex est la solution exacte et Uprob est la solution par
la méthode probabiliste.
La figure (Fig.11) illustre le vecteur e(x, t) pour une valeur de
x fixé comme dans la première méthode x = 0.5.
e(tx)
0.025
0.015
0.005
0.02
0.01
0
0 0.01 0.02 0.03 0.04 0.05 0.06 0.07 0.08 0.09 0.1
Fig.11:l'erreur de la méthode probabiliste pour
x=0.5 t
On calcule l'erreur quadratique : s qUad = 0.0098
On remarque que l'erreur quadratique est supérieure que
celle de la première méthode. Ce qui signifie que la solution
approximée par méthode des différences finies est
meilleure que celle de la méthode probabiliste.
On peut affaiblir la valeur d'erreur par l'augmentation de la
valeur de N (le nombre des trajectoires). La Table.2 donne l'erreur maximale
des résultats de simulation de solution pour des valeurs
différentes de N (toujours pour x = 0.5 ) :
N
|
500
|
1000
|
2000
|
8000
|
10000
|
emax
|
0.0110
|
0.0131
|
0.0098
|
0.0089
|
0.0065
|
TE (s)
|
0.141
|
0.734
|
3.313
|
215.21
|
330.82
|
Table.2
D'après la Table.2 on constate que la convergence de
cette méthode est très lente. Mais le temps d'exécution de
programme est inferieur à celle de la première méthode,
car dans la méthode probabiliste on peut trouver la solution pour un x
fixé directement, contrairement à la première
méthode il faut trouver toute la solution (c'est à dire la
matrice u(t,x)) et en suite extraire la solution pour un x fixé.
Interprétation des résultats :
Malgré que l'approximation de la solution par la
méthode des différences finies soit meilleure que celle de la
méthode probabiliste, on peut dire que la méthode probabiliste
donne une approximation acceptable de la solution.
Puisque la méthode est basée sur la simulation
de Monte Carlo, la convergence de la méthode est lente, et
l'approximation sera faible de celles des méthodes
déterministes.
L'utilisation de cette méthode est avantagée
dans le cas de résolution des EDPs où la résolution par
les méthodes déterministes implique une résolution des
systèmes linéaires à grandes dimensions.
3.2. Problème N° 2 :
On prend comme deuxième problème l'équation
aux dérivées partielles suivante:
{ au 1 02u 1 au 1
x2 (x, t)--x (x, t) + u(x, t) = 0 , dans D = [0,T] x
IR,
at (x, t) + 2 ax2 2 ax ' 2 ' (4.14)
u(x, 0) = f(x)
{-- domaine D = [0,1] x [0,1] .
condition initiale f (x) = x2 .
(4.15)
)u(0,t = 0
conditions aux limites {u(1, u(1, t) = exp (-- t / 2 )
On peut résoudre cette équation analytiquement et
la solution (exacte) est :
u(x, t) = x2exp(--t/2)
La figure (Fig.12) illustre la solution en fonction de x et t
:
Chapitre IV
Application
0.4
0.2
0.2
0.8
t
0
0
1
0.8
0.6
0.4
0.2
0
1
x
0.8
0.6
1
u(x,t)
0.4
0.6
Fig.12:solution analytique(exacte) en fonction de x et
t
3.2.1. Illustration numérique de problème
par la méthode des différences finies :
Cherchons l'approximation de la solution par la méthode
des différences finies, en utilisant la méthode explicite (chap.
II). On obtient le schéma suivant :
1
ur = 0-1B i -- r2Ai)uli,_i + (1 -- 2 At --
riBi + r2Ai) ut -- r2Atuli,+1
avec r1 = At/Ax , r2 = AtiAx2, Bt. =
-- 12 x i , At = 12 xi2
.
On donne dans le programme (PROG.7) une fonction qui fait
cette discrétisation et donne la solution approximée, la figure
(Fig.13) représente cette solution en fonction de x et t.
Pour étudier l'erreur de la méthode, on fixe un
point d'espace, comme dans le premier problème pour x = 0.5, la figure
(Fig.14) illustre la solution exacte et la solution approximée par la
méthode des différences finies, et la figure (Fig.15) illustre
l'erreur commise par la méthode, d'après cette erreur on
déduit que l'approximation est bonne, avec une erreur maximale emax =
1.5169 X 10~~
87
0
0
Chapitre IV
Application
0.6
0.4
0.2
0.4
0.2
0.8
t
0.6
x
1
0.8
0.6
0.4
0.2
0
1
0.8
u(x,t)
Fig.13:solution approximée par la méthode
des différences finies
u(x,t)
0.19
0.18
0.17
0.16
0.15
0.14
0.13
0.12
0.11
0.2
0.1
solution approximée solution exacte
0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 t 1
Fig.14:solution exacte et approximée par la
méthode des différences finies pour x=0.5
1
e(x,t)
0.8
0.6
0.4
0.2
X 10-4
1.6
1.4
1.2
0
1
Fig.15:le vecteur erreur pour x=0.5
0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 t 1
3.2.2. Illustration numérique de problème
par la méthode probabiliste :
La formule de Feynman-Kac permet de représenter la
solution de problème :
1
u(x, t) = Ex [exp (- 2 t) f(X~)i
, t E [0, T] (16)
avec f(x) = x2 et le processus sous-jacent:
Xt = X0 -
|
1 i t t
2J dt + f Xs dWs , X0 = x
o o
|
Le programme (PROG.8) donne l'approximation de la solution en
passant par la méthode de Monte Carlo :
La figure (Fig.16) représente la solution exacte et la
solution approximée par la méthode probabiliste et la figure
(Fig.17) représente l'erreur commise par cette méthode, avec N =
100 trajectoires.
L'erreur maximale emax = 0.0094, mais pour la plupart des
points, l'erreur est inferieure à 0.005, avec une erreur absolue
maximale égale à 5.9%, qui laisse une bonne approximation.
Interprétation des résultats :
Dans le deuxième problème l'importance de la
méthode probabiliste est bien apparue, car l'application de la
méthode des différences finies sur cet exemple est difficile
à cause des coefficients non constant, c'est-à-dire,
dépendent de la variable de l'espace, cette dépendance rend la
solution non stable parfois, la méthode probabiliste grâce
à la formule Feynman-Kac nous donne une bonne représentation de
la solution, et plus on augmente le nombre des trajectoires dans la
méthode de Monte Carlo on obtient une solution plus précise avec
une erreur faible.
u(x,t)
0.26
0.24
0.22
0.18
0.16
0.2
solution exacte solution apprximée
0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1
t
0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1
Fig.17: le vecteur erreur de la
méthode
t
0.01
e(x,t)
0.009
0.008
0.007
0.006
0.005
0.004
0.003
0.002
0.001
0
Fig.16:solution exacte et solution approximée par
la méthode probabiliste por x=0.5
|