Vous êtes sur la page 1sur 1

TP Approximation stochastique

Mickaël Binois (mickael.binois@inria.fr)

04/22

L’objectif de ce TP est de mettre en place et tester les méthodes présentées dans le cours. Le code pourra être implé-
menté dans le language de votre choix, par exemple R ou Python.

1 Génération de réalisations de processus stochastiques (1d)


On commence par générer des réalisations de vecteurs gaussiens avec différentes fonctionsde covariance. Par exemple, on
testera ici les covariances gaussienne et exponentielle : kG (x, x0 , θ) = σ 2 exp −||x − x0 ||2 /θ2 et kE (x, x0 , θ) = σ 2 exp (−||x − x0 ||/θ)
(x, x0 ∈ Rd , θ > 0, σ > 0). On considère également la covariance du mouvement brownien sur R×R : kB (x, x0 ) = min(x, x0 ).

1. Coder les fonctions de covariance univariées correspondantes, en fonction de x, x0 , θ et σ. Les représenter graphi-
quement en fonction de x ∈ [−1, 1] avec x0 = 0, θ = 0.2, σ = 1.
2. Générer des réalisations de N (0n0 , Kn0 ) sur l’intervalle [0, 1], sur une grille régulière X de taille n0 (e.g., avec
un pas de 0.01). [Kn0 ]ij = k· (xi , xj ), xi , xj ∈ X . Pour cela, on rappelle que K1/2 Z ∼ N (0, K) où Z ∼ N (0, I)
et K1/2 une matrice telle que K1/2 K1/2 = K, obtenue par example par diagonalisation. Commenter l’effet de θ
(θ = 0.1, 0.5, 0.05), σ 2 (σ = 1, 10) et du type de noyau sur les réalisations générées (e.g., 5-6 par configuration).

2 Métamodélisation
On se place ensuite dans un cadre black-box où les évaluations sont chères, on cherche donc à limiter au maximum le
nombre d’appels à f .

Dans un premier on considère la fonction Branin modifiée (un seul minimum global) [1] :
 2   
5.1 5 1
fb (x) = x2 − 2 x21 + x1 − 6 + 10 1− cos x1 + 1 + 5x1 , x1 ∈ [−5, 10], x2 ∈ [0, 15]
4π π 8π
Il s’agit d’implémenter les fonctions qui interviennent dans la régression par processus gaussien (ou krigeage). Il pourra
être utile d’avoir des fonctions pour calculer directement la matrice de covariance d’une matrice d’expériences Xn (i.e.,
Kn ), ainsi que le vecteur de covariance entre un design x et Xn (i.e., k(x, Xn ) := kn (x)).
1. Pour la prédiction et la création de figures, on prendra une grille régulière X (e.g., de taille 51 × 51). Afficher fb
sur X .
2. Plan d’expériences initial (X9 ) : pour simplifier, on prendra pour la grille regulière 3 × 3 dans [0, 1]2 . Evaluer les
réponses correspondantes (y9 ).
3. On prendra ici une covariance gaussienne avec θ = 0.2. Afficher la moyenne et la variance de prédiction par
krigeage en fonction de x1 et x2 sur X . On rappelle que pour le krigeage simple, mn (x) = kn (x)> K−1 n yn et
s2n (x) = k(x, x) − kn (x)> K−1 k n (x). De plus, l’estimateur σˆ2 obtenu par maximisation de la vraisemblance est
n n
σˆn2 = n1 yn> K−1
n yn . Il peut être utile de sauver l’inverse de la matrice de covariance pour éviter de la recalculer
inutilement.
4. Comparer le résultat de la prédiction lorsque le plan d’expérience X9 est un hypercube latin (LHS). Vous pouvez
utiliser la librairie de votre choix pour générer un LHS. (Optionnel : sélectionner un LHS à partir du critère maximin,
sans utiliser de librairie externe).
5. Utiliser la log-vraisemblance concentrée (en l’optimisant) pour estimer θ, comparer au resultat précédent. On
˜ = − n log(2π) − n log y> K−1 yn − 1 log |Kn |.
rappelle que la log-vraisemblance concentrée s’écrit : log `(θ) 2 2 n n 2

Références
[1] Alexander Forrester, Andras Sobester, and Andy Keane. Engineering design via surrogate modelling : a practical guide.
John Wiley & Sons, 2008.

Vous aimerez peut-être aussi