Simulation de variables aléatoires. Chaînes de Markov -

Documents pareils
Chapitre 3. Mesures stationnaires. et théorèmes de convergence

Statistique Bayésienne

Méthodes de Simulation

3. Caractéristiques et fonctions d une v.a.

Chapitre 3. Algorithmes stochastiques. 3.1 Introduction

Simulation de variables aléatoires

CONCOURS D ENTREE A L ECOLE DE 2007 CONCOURS EXTERNE. Cinquième épreuve d admissibilité STATISTIQUE. (durée : cinq heures)

Séminaire TEST. 1 Présentation du sujet. October 18th, 2013

Modélisation et simulation

Modélisation aléatoire en fiabilité des logiciels

TESTS PORTMANTEAU D ADÉQUATION DE MODÈLES ARMA FAIBLES : UNE APPROCHE BASÉE SUR L AUTO-NORMALISATION

Les simulations dans l enseignement des sondages Avec le logiciel GENESIS sous SAS et la bibliothèque Sondages sous R

MÉTHODE DE MONTE CARLO.

Modèles à Événements Discrets. Réseaux de Petri Stochastiques

TP1 Méthodes de Monte Carlo et techniques de réduction de variance, application au pricing d options

Travaux dirigés d introduction aux Probabilités

Modèle de troncature gauche : Comparaison par simulation sur données indépendantes et dépendantes

MODELES DE DUREE DE VIE

Amphi 3: Espaces complets - Applications linéaires continues

TABLE DES MATIÈRES. PRINCIPES D EXPÉRIMENTATION Planification des expériences et analyse de leurs résultats. Pierre Dagnelie

Tests non-paramétriques de non-effet et d adéquation pour des covariables fonctionnelles

MCMC et approximations en champ moyen pour les modèles de Markov

Moments des variables aléatoires réelles

3. Conditionnement P (B)

Programmes des classes préparatoires aux Grandes Ecoles

PROBABILITES ET STATISTIQUE I&II

Simulation : application au système bonus-malus en responsabilité civile automobile

Capacité d un canal Second Théorème de Shannon. Théorie de l information 1/34

Exercices types Algorithmique et simulation numérique Oral Mathématiques et algorithmique Banque PT

Exercice autour de densité, fonction de répatition, espérance et variance de variables quelconques.

IFT3245. Simulation et modèles

Principe de symétrisation pour la construction d un test adaptatif

TSTI 2D CH X : Exemples de lois à densité 1

Introduction à R. Florence Yerly. Dept. de mathématiques, Université de Fribourg (CH) SP 2011

LEÇON N 7 : Schéma de Bernoulli et loi binomiale. Exemples.

Master Modélisation Aléatoire Paris VII, Cours Méthodes de Monte Carlo en nance et C++, TP n 2.

I3, Probabilités 2014 Travaux Dirigés F BM F BM F BM F BM F B M F B M F B M F B M

Filtrage stochastique non linéaire par la théorie de représentation des martingales

PROCESSUS PONCTUELS MARKOVIENS

Une introduction. Lionel RIOU FRANÇA. Septembre 2008

Loi binomiale Lois normales

Introduction à la statistique non paramétrique

La classification automatique de données quantitatives

Probabilités III Introduction à l évaluation d options

Probabilités. Rappel : trois exemples. Exemple 2 : On dispose d un dé truqué. On sait que : p(1) = p(2) =1/6 ; p(3) = 1/3 p(4) = p(5) =1/12

MATHS FINANCIERES. Projet OMEGA

Méthode de Monte Carlo pour le calcul d'options

Modélisation géostatistique des débits le long des cours d eau.

K. Ammar, F. Bachoc, JM. Martinez. Séminaire ARISTOTE - 23 octobre Palaiseau

Fonctions de plusieurs variables, intégrales multiples, et intégrales dépendant d un paramètre

Baccalauréat ES Pondichéry 7 avril 2014 Corrigé

Cours de gestion des risques d assurances et de théorie de la ruine. Stéphane Loisel

Raisonnement probabiliste

Texte Agrégation limitée par diffusion interne

Équation de Langevin avec petites perturbations browniennes ou

UNIVERSITE DES ANTILLES et DE LA GUYANE Campus de Fouillole BP Pointe-à-Pitre Cedex CONTRAT LE MASTER NOM DU DOMAINE STS

Quantification Scalaire et Prédictive

Un modèle stochastique du taux d intérêt implicite en microcrédit

Health Monitoring pour la Maintenance Prévisionnelle, Modélisation de la Dégradation

La fonction exponentielle

Agrégation des portefeuilles de contrats d assurance vie

FONCTIONS DE PLUSIEURS VARIABLES (Outils Mathématiques 4)

Contents. 1 Introduction Objectifs des systèmes bonus-malus Système bonus-malus à classes Système bonus-malus : Principes

FIMA, 7 juillet 2005

Cours d Analyse. Fonctions de plusieurs variables

Notes du cours MTH1101 Calcul I Partie II: fonctions de plusieurs variables

Problèmes d ordonnancement dans les systèmes de production. Journée Automatique et Optimisation Université de Paris Mars 2003

Résolution d équations non linéaires

Produits de crédit en portefeuille

Cours 7 : Utilisation de modules sous python

Le théorème de Perron-Frobenius, les chaines de Markov et un célèbre moteur de recherche

Exercices sur SQL server 2000

Résumé des communications des Intervenants

Structures algébriques

Chapitre 5 : Flot maximal dans un graphe

Chapitre 2. Eléments pour comprendre un énoncé

Python - introduction à la programmation et calcul scientifique

Annexe commune aux séries ES, L et S : boîtes et quantiles

Master IMA - UMPC Paris 6 RDMM - Année Fiche de TP

Les algorithmes de base du graphisme

Atelier C TIA Portal CTIA04 : Programmation des automates S7-300 Opérations numériques

MA6.06 : Mesure et Probabilités

Jean-Philippe Préaux

Exercices - Fonctions de plusieurs variables : corrigé. Pour commencer

3 Approximation de solutions d équations

Mathématique et Automatique : de la boucle ouverte à la boucle fermée. Maïtine bergounioux Laboratoire MAPMO - UMR 6628 Université d'orléans

Calcul intégral élémentaire en plusieurs variables

ACTUARIAT 1, ACT 2121, AUTOMNE 2013 #12

Chapitre 7. Récurrences

TP: Représentation des signaux binaires. 1 Simulation d un message binaire - Codage en ligne

Une méthode de classification supervisée sans paramètre pour l apprentissage sur les grandes bases de données

PRÉCIS DE SIMULATION

Baccalauréat ES Antilles Guyane 12 septembre 2014 Corrigé

L E Ç O N. Marches aléatoires. Niveau : Terminale S Prérequis : aucun

Commun à tous les candidats

Introduction aux Statistiques et à l utilisation du logiciel R

Tests d indépendance en analyse multivariée et tests de normalité dans les modèles ARMA

Web Science. Master 1 IFI. Andrea G. B. Tettamanzi. Université de Nice Sophia Antipolis Département Informatique andrea.tettamanzi@unice.

Continuité et dérivabilité d une fonction

Intérêt du découpage en sous-bandes pour l analyse spectrale

Transcription:

Simulation de variables aléatoires Anne Philippe Méthodes de Monte Carlo par chaînes de Markov Laboratoire de Mathématiques Jean Leray Université de Nantes December 9, 203 Les logiciels Jags / Openbugs / winbugs http://www.math.sciences.univ-nantes.fr/ philippe/ Anne.Philippe@univ-nantes.fr Chaînes de Markov - Idée : Il est souvent plus facile de simuler une chaîne de Markov de loi invariante f que des variables indépendantes de loi f Definition Une chaîne de Markov est une suite de variables (X t ) telle que pour tout n la loi conditionnelle de X n+ sachant (X n,...,x 0 ) et la loi conditionnelle de X n+ sachant X n coïncident. Exemple Soit (u t ) une suite de variables aléatoires iid I on pose X o 0 et X t = X t + u t (X t ) est une chaîne de Markov. I Plus généralement : on peut prendre X t = g(x t est une application mesurable, u t )oùg

Construction Une chaîne de Markov est donc définie par I la loi de X 0 I la loi de X t sachant X t (transition de la chaîne) I l espace d état E est fini : la transition est une matrice P P(i, j) =P(X = j X O = i) I l espace d état E est continu : la transition est une famille de densités {K(x, ), x 2 E} où K(X n, ) est la densité de la loi conditionnelle de X n+ sachant X n Z P(X n+ 2 A X n )= K(X n, y) dy I dans le cas général la transition est P(x, A) =P(X 2 A X O = x) I P n (x, A) probabilité que x n 2 A sachant que x 0 =0 A Notions de convergence Étant donné une loi de probabilité de densité f On cherche des transitions telles que. la loi invariante est unique et de densité f, si x n f alors x n+ f 2. la loi de x n est proche de la loi invariante f lorsque n assez grand et x 0 P 0 6= f Z P n (x, ) dp 0 (x) f TV! 0 3. Théorème ergodique T TX t= h(x (t) )! T! Z h(x)f (x) dx Algorithme de Métropolis Hasting Exemples de lois instrumentales Objectif : : On veut simuler suivant la loi de densité f Ingrédient : : q la densité d une probabilité conditionnelle telle que pour tout x supp q( x) supp f L algorithme : partant de x (t), la transition de la chaîne est ( x (t+) q( x (t) ) avec probabilité, = x (t) sinon, où =min (, ) f ( )q(x (t) ) f (x (t) )q( x (t) ). Lois indépendantes : 2. Lois symétriques : q( x) =g( ) q( x (t) )=h( x (t) ) Le taux d acceptation ne dépend pas de la loi q, =min( f ( ) f ( (t) ), ).

les marches aléatoires Illustration Un exemple de lois symétriques : partant de x (t), la transition s écrit = x (t) + " (t) où " (t) est une suite de variables aléatoires iid et indépendantes de (X 0,...,X t ) la loi de " est symétrique par rapport à zéro, par exemple I les lois gaussiennes N (0, 2 ), I les lois uniformes sur [ a, a, ] I etc... On simule un échantillon suivant une loi de densité dans le plan. f (x, y) / exp{ 0(x 2 y) 2 (y /4) 4 } L algorithme sites visités par la chaîne Nombre d itérations = 000. On utilise un algorithme d Hasting Métropolis dont la loi instrumentale est une marche aléatoire gaussienne Partant de x t, la valeur proposée est distribuée suivant 2 0 N x t, 0 2 c est à dire = x t + " t " t N 0 0, 0

Trajectoires des deux coordonnées Nombre d itérations = 000. Algorithme de Gibbs On veut simuler x f en dimension p >!!! Outil central : une décomposition de x 2 R p en m blocs telle que les lois conditionnelles x =(x,...,x m ) f j (x j x`, ` 6= j), j =,...,m sont simulables. Exemple La loi à simuler admet pour densité L algorithme : la transition de la chaîne est. x (t+) f (x x (t) 2,...,x(t) m )... i. x (t+) i f i (x x (t+),...,x (t+) i, x (t) i+,...,x(t) m )... m. x (t+) m f m (x x (t+),...,x (t+) m ) f (x, y) / e x y xy I R + R +(x, y) On calcule les deux lois conditionnelles I la loi de X sachant Y est la loi exponentielle de paramètre Y + I la loi de Y sachant X est la loi exponentielle de paramètre X + L algorithme : Initialisation y (0) E() Itération. x () E( + y (0) ) et y () E( + x () ). Intération i. x (i) E( + y (i ) ) et y (i) E( + x (i) )

Contrôle de la convergence des algorithmes Il est plus simple de simuler une chaîne de Markov de loi stationnaire f que des variables aléatoires suivant f MAIS Il faut contrôler I la convergence vers la loi stationnaire de la chaîne de Markov I la qualité de l approximation de R h(x)f (x) dx par la moyenne empirique T P T t= h(x(t) ) Deux critères d arrêt : I T le temps de chau e : on élimine les premières valeurs x (),...,x (T ) I T 2 le temps de simulation T 2 TX +T 2 t=t + Z h(x (t) ) h(x)f (x) dx Méthodes graphiques I Tracé de la série brute, I Comparaison de di érentes estimations pour une même quantité [Moyenne,...] I comparaison des estimations d une même quantité e ectuées sur des chaînes indépendantes Méthode basée sur plusieurs chaînes critère de Gelman & Rubin On simule M chaînes de Markov indépendantes (x () t )...(x (M) t ) On calcule 8 m =,...,M x (m) = TX x (m) t, x = MX x (m), T M t= Estimateurs des variances inter et intra W T = M Critère Pour T assez grand B T = M MX m= MX (x (m) x) 2 m= T TX t= (x (m) t x m ) 2 m= W T T T W T + B T

Utilisation de Jags avec la libraire rjags de R Méthodes de Monte Carlo par chaînes de Markov Les logiciels Jags / Openbugs / winbugs JAGS est un logiciel qui permet d approximer la loi a posteriori d un modèle bayésien via des algorithmes MCMC. En entrée : :. le modèle Vraisemblance + loi a priori 2. les données 3. l initialisation des chaînes de Markov [optionnel sous Jags] En sortie :. une ou plusieurs réalisations d une chaine de Markov de loi invariante la loi a posteriori Exemple Ecriture du modèle Observations : X i Poisson( ) Choix de la loi a priori. Exponential(a) pour a fixé. i =,...,n La loi a posteriori est la loi Gamma ( P X i +, n + a) 2. Modèle hierarchique : Exponential(a) et a Exponential() utilisation de l algorithme de Gibbs pour approcher la loi a posteriori I conditionnellement à (a, x,...x n ), suit une loi Gamma de paramètre ( P X i +, n + a) I conditionnellement à (, x,...x n ), suit une loi Gamma de paramètre a (2, + ) model { for( i in : N ) { x[i] ~ dpois(tau) } } tau ~ dgamma(,a) a~ dgamma(,) Ce code doit être stocké dans un fichier ici modelpoisson.r

Compilation du modèle via R Simulation des chaines library(rjags) #nombre de données N <- 0 #x contient les données #ici simulées suivant la loi de poisson de paramètre 2 x <- rpois(n, 2) jags <- jags.model( modelpoisson.r, data = list( x = x, N = N), n.chains =, n.adapt = 000) I On va simuler une chaine [ n.chains= ]. I n.adapts est le nombre d itérations pour calibrer les paramètres de l algorithme d Hasting Metropolis # période de "chauffe" > update(jags, 000) ************************************************** 00% # samp contient la chaine de markov (0000 itérations) # pour les paramètres tau et a >samp = coda.samples(jags,c( tau, a ),0000) ************************************************** 00% Exploitation des résultats Statistiques élémentaires > plot(samp).0.5 2.0 2.5 3.0 0.0 0.5.0.5 2.0 2.5 3.0 Trace of a 000 400 800 Iterations Trace of tau 000 400 800 Iterations 0.0 0.2 0.4 0.6 0.8.0 Density of a 0.0.0 2.0 3.0 N = 000 Bandwidth = 0.86 Density of tau 0.0 0.2 0.4 0.6 0.8.0.0 2.0 3.0 N = 000 Bandwidth = 0.09602 > summary(samp) Iterations = 00:2000 Thinning interval = Number of chains = Sample size per chain = 000. Empirical mean and standard deviation for each variable, plus standard error of the mean: Mean SD Naive SE Time-series SE a 0.6838 0.490 0.055 0.0753 tau.9863 0.3606 0.04 0.0225 2. Quantiles for each variable: 2.5% 25% 50% 75% 97.5% a 0.085 0.322 0.5659 0.979.955 tau.367.7277.9559 2.255 2.730

Approximation des régions HPD Critère de Gelman et Rubin > HPDinterval(samp) [[]] lower upper a 0.0457356.652573 tau.37755688 2.739469 attr(,"probability") [] 0.95 I Il faut simuler plusieurs chaines indépendantes I On execute la fonction jags.model avec le paramètre n.chain > > gelman.diag(samp) Potential scale reduction factors: Point est. Upper C.I. a tau Multivariate psrf une autre representation des trajectoires évolution des quantiles en fonction du nb d itérations xyplot(samp) cumuplot(samp) tau a tau.0.5 2.0 2.5 3.0 0.0 0.5.0.5 2.0 2.5 3.0 a 0 200 400 600 800 000.index 0.0 0.5.0.5 2.0 000 600 Iterations.5 2.0 2.5 3.0 000 600 Iterations

Estimation des marginales de la loi a posteriori limite de JAGS : loi a priori impropre densityplot(samp) Densité 0.0 0.2 0.4 0.6 0.8.0 0.0 0.2 0.4 0.6 0.8.0 tau.0.5 2.0 2.5 3.0 3.5 a 0 2 3 On ne peut pas définir des modèles avec des lois a priori impropres Une alternative est de remplacer les lois impropres par des lois de probabilité ayant une grande variance... Par exemple I pour la mesure de Lebesgue : on peut prendre une loi gaussienne centrée avec une très grande variance ( dnorm(0,0 6 ) le second paramètre est la précision) I pour la loi ( 2 )=/ 2 : on peut prendre une loi inverse gamma avec des paramètres proches de zéro. dgamma(0.00,0.00) and =/ p Reliability of 0 power plant pumps Choice of the prior The number of failures X i is assumed to follow a Poisson distribution nb of failures 5 5 0 20 40 60 80 00 20 time A conjugate gamma prior distribution is adopted for the failure rates: i Gamma(, ), i =,...,0 X i Poisson( i t i ) i =,...,0 ratio x/t 0.0.0 2.0 2 4 6 8 0 George et al (993) assume the following prior specification for the hyper parameter a where I i is the failure rate for the pump i I t i is the length of operation time of the pump Pump t i x i 94.5 5 2 5.7 3 62.9 5 4 26 4 5 5.24 3 6 3.4 9 7.05 8.05 9 2. 4 0 0.5 22 Exponential(.0) Gamma(0., ) We can implement a Gibbs sampler

Définition du modèle model { for (i in : N) { theta[i] ~ dgamma(alpha, beta) lambda[i] <- theta[i] * t[i] x[i] ~ dpois(lambda[i]) } alpha ~ dexp() beta ~ dgamma(0.,.0) } Ce code doit être stocké dans un fichier ici model.bugs Compilation du modèle N <- 0 t = c(94.3, 5.7, 62.9, 26, 5.24, 3.4,.05,.05, 2., 0.5) x = c(5,, 5, 4, 3,9,,,4,22) > jags <- jags.model( model.bugs, + data = list( x = x, t =t, N = N), + n.chains =, + n.adapt = 000, + ) Compiling model graph Resolving undeclared variables Allocating nodes Graph Size: 45 Initializing model ++++++++++++++++++++++++++++++++++++++++++++++++++ 00% > update(jags, 000) ************************************************** 00% > z = coda.samples(jags,c( theta, alpha, beta ),000) ************************************************** 00% Exploitation des résultats pour les sorties Statistiques sur la loi a posteriori > summary(z) > plot(z) Iterations = 300:4000 Thinning interval = Number of chains = Sample size per chain = 000. Empirical mean and standard deviation for each variable, plus standard error of the mean: Mean SD Naive SE Time-series SE alpha 0.69843 0.26009 0.0082248 0.095038 beta 0.92433 0.54403 0.072037 0.0373580 theta[] 0.0606 0.02409 0.000766 0.0006697 theta[2] 0.09889 0.07864 0.0024870 0.0030839 theta[3] 0.0940 0.03783 0.00962 0.0096 theta[4] 0.585 0.0308 0.0009744 0.0008655 theta[5] 0.6082 0.3897 0.000866 0.000259 theta[6] 0.6247 0.4025 0.0044350 0.0048897 theta[7] 0.89937 0.72849 0.0230369 0.0227078 theta[8] 0.89025 0.7262 0.022897 0.024796 theta[9].59729 0.76526 0.024997 0.030006 theta[0].99623 0.4496 0.0322 0.027887

Statistiques sur la loi a posteriori suite 2. Quantiles for each variable: 2.5% 25% 50% 75% 97.5% alpha 0.288329 0.5846 0.65789 0.84936.2993 beta 0.20624 0.53636 0.8742.20752 2.96 theta[] 0.08469 0.04237 0.0579 0.07463 0.7 theta[2] 0.0077 0.04034 0.07858 0.3663 0.3047 theta[3] 0.030760 0.0646 0.0868 0.584 0.767 theta[4] 0.064556 0.09444 0.2 0.3334 0.85 theta[5] 0.57434 0.36772 0.5587 0.79335.3592 theta[6] 0.364537 0.5456 0.60387 0.70302 0.9099 theta[7] 0.086953 0.36652 0.7069.2397 2.7364 theta[8] 0.074552 0.38537 0.73600.822 2.725 theta[9] 0.467774.03672.44874 2.02527 3.505 theta[0].238676.70397.99607 2.27330 2.8236 Approximation des régions HPD > HPDinterval(z) [[]] lower upper alpha 0.2385955.234348 beta 0.270480.95996 theta[] 0.048045 0.04888 theta[2] 0.00897323 0.2547897 theta[3] 0.024882522 0.643409 theta[4] 0.05534737 0.720302 theta[5] 0.05966924.2443890 theta[6] 0.353274820 0.8837728 theta[7] 0.00306533 2.35308 theta[8] 0.00275707 2.284622 theta[9] 0.369339389 3.483068 theta[0].677262 2.7426627 attr(,"probability") [] 0.95 Critère de Gelman et Rubin Il faut simuler plusieurs chaines indépendantes (ici 4) > jags <- jags.model( model.bugs, + data = list( x = x, t =t, N = N), + n.chains = 4, + n.adapt = 000, + ) Compiling model graph Resolving undeclared variables Allocating nodes Graph Size: 45 Initializing model ++++++++++++++++++++++++++++++++++++++++++++++++++ 00% > update(jags, 000) ************************************************** 00% > z = coda.samples(jags,c( theta, alpha, beta ),000) ************************************************** 00% Critère de Gelman et Rubin suite > gelman.diag(z) Potential scale reduction factors: Point est. Upper C.I. alpha.00.0 beta.0.02 theta[].00.00 theta[2].00.00 theta[3].00.00 theta[4].00.00 theta[5].00.00 theta[6].00.00 theta[7].00.00 theta[8].00.00 theta[9].00.0 theta[0].00.00 Multivariate psrf