• Aucun résultat trouvé

Simulation des processus de Gibbs

Méthode de Metropolis Hastings

L’algorithme de Metropolis-Hastings génère une chaîne de Markov dont les états successifs sont des semis de points et la limite le processus ponctuel à simuler. Il appartient à la famille des algorithmes MCMC (Monte Carlo Markov Chains) qui consistent à générer des suites 𝑌𝑛 d’approximations d’une distribution cible. Le

caractère markovien de la suite vient du fait que chaque état 𝑌𝑛 ne dépend que du

précédent. A condition que la suite soit réversible et irréductible, elle tend vers la distribution cible. La réversibilité signifie que relativement à la distribution cible la probabilité que la chaine aille d’un état A vers un état B est égale à la probabi- lité que la chaine aille de B vers A. L’irréductibilité signifie que tous les états possibles de 𝑌𝑛 peuvent être atteints, quel que soit le point de départ 𝑌0.

Le passage d’un état de la suite au suivant est réalisé selon l’algorithme suivant :

Partant de l’état 𝑌𝑛, un état candidat 𝑌� est généré selon un noyau de propo-

sition 𝑞�𝑌𝑛, 𝑌�� dont la densité de probabilité est connue.

Le ratio de Hastings est le rapport :

ρ = 𝑝�𝑌��𝑞�𝑌�, 𝑌𝑛�

𝑝(𝑌𝑛)𝑞�𝑌𝑛, 𝑌�� (121)

Pour assurer la réversibilité de la chaîne, la probabilité de passer de 𝑌𝑛 à 𝑌� est min (1, ρ) : le candidat 𝑌� est retenu en tant que 𝑌𝑛+1 avec une probabilité

d’autant plus grande que le ratio de Hastings est grand. S’il n’est pas rete- nu, 𝑌𝑛+1 = 𝑌𝑛.

Les probabilités des différents semis de points ne sont pas connues mais leur rapport l’est dans certains cas :

Si le passage de 𝑌𝑛 à 𝑌� consiste à ajouter un point 𝑥 au semis 𝑋, le rapport de probabilités est l’intensité conditionnelle de Papangelou, équation (107) : 𝜆∗(𝑋, 𝑥). Le rapport est inverse si on supprime un point.

• Si le passage consiste à déplacer un point le rapport des fonctions d’interaction, équation (108), du nouveau et de l’ancien point sont simples à calculer : les fonctions d’interaction n’interviennent qu’entre les points et leurs voisins.

Algorithme pour un processus de Markov conditionné au nombre de points

On tire 𝑌0 l’état initial dans un processus binomial contenant le bon nombre de

points 𝑛(𝑌0). Ensuite, partant de 𝑌𝑛, on choisit un des points au hasard et on le

remplace par un nouveau point tiré uniformément dans 𝐴.

On calcule 𝑝�𝑌�� 𝑝(𝑌⁄ 𝑛) en prenant simplement en compte les interactions de

l’ancien point et du nouveau point avec leurs voisins. Le noyau de proposition est symétrique (𝑞�𝑌�, 𝑌𝑛� = 𝑞�𝑌𝑛, 𝑌��) : sa valeur est le produit de la probabilité de choi-

sir un point particulier (1 𝑛(𝑌⁄ 𝑛)) pour le supprimer et de la densité de probabilité

de le recréer à son nouvel emplacement (1 𝐴⁄ ). Le ratio de Hastings est donc sim- plement égal au rapport des probabilités, ce qui signifie qu’une configuration plus probable sera systématiquement retenue, comme dans l’algorithme de Tomppo, mais la réversibilité est assurée par la possibilité de retenir avec une probabilité égale à ρ une configuration moins probable (qui augmente l’énergie totale du mo- dèle).

Algorithme de simulation

L’algorithme de naissance et mort de points est présenté ici. Il peut être combiné avec l’algorithme de déplacement (Møller et Waagepetersen, 2004, algorithme 7.5, page 115). Dans R, un tirage au sort entre déplacement et naissance-mort est fait avant un tirage éventuel entre naissance et mort si le déplacement n’a pas été retenu.

𝑌0 l’état initial peut être quelconque, y compris égal à ∅.

On choisit une probabilité 𝑞 arbitraire de réaliser une mort de point, 1 − 𝑞 étant la probabilité de naissance (par défaut dans R, 𝑞 = 0,5).

Partant de 𝑌𝑛, on tire 𝑢𝑚𝑜𝑟𝑡 dans une variable aléatoire uniforme sur [0; 1] :

Si 𝑢𝑚𝑜𝑟𝑡 ≤ 𝑞, on tente de faire disparaître un point 𝑥 :

o Il est tiré uniformément dans le semis avec la probabilité 𝑞𝑚𝑜𝑟𝑡(𝑌𝑛, 𝑥) = 1 𝑛(𝑌⁄ 𝑛). Le candidat 𝑌� est 𝑌𝑛\{𝑥}.

o Pour la réversibilité de la chaîne, il faut calculer la densité de pro- babilité de naissance de 𝑥 dans le semis de points ne le contenant plus : 𝑞𝑛𝑎𝑖𝑠𝑠𝑎𝑛𝑐𝑒�𝑌�, 𝑥� = 1 𝐴⁄ puisque le processus est homogène.

o On peut donc écrire le ratio de Hastings : ρ𝑚𝑜𝑟𝑡 =(1 − 𝑝)𝑞𝜆(𝑌 𝑛𝑎𝑖𝑠𝑠𝑎𝑛𝑐𝑒(𝑌𝑛\{𝑥}, 𝑥)

𝑛\{𝑥}, 𝑥)𝑝 𝑞𝑚𝑜𝑟𝑡(𝑌𝑛, 𝑥) (122)

o on tire 𝑢𝑐𝑜𝑛𝑓𝑖𝑟𝑚𝑎𝑡𝑖𝑜𝑛 dans une variable aléatoire uniforme sur [0; 1].

o Si 𝑢𝑐𝑜𝑛𝑓𝑖𝑟𝑚𝑎𝑡𝑖𝑜𝑛< ρ𝑚𝑜𝑟𝑡, le point 𝑥 est effectivement supprimé et

𝑌𝑛+1 = 𝑌�, sinon 𝑌𝑛+1 = 𝑌𝑛.

Si 𝑢𝑚𝑜𝑟𝑡 > 𝑞, on tente de faire apparaître un point 𝑥 :

o Il est tiré uniformément dans 𝐴 avec la densité de probabilité 𝑞𝑛𝑎𝑖𝑠𝑠𝑎𝑛𝑐𝑒(𝑌𝑛, 𝑥) = 1 𝐴⁄ . Le candidat 𝑌� est 𝑌𝑛∪ {𝑥}.

o Pour la réversibilité de la chaîne, il faut calculer la densité de pro- babilité de mort de 𝑥 dans 𝑌�: 𝑞𝑚𝑜𝑟𝑡�𝑌�, 𝑥� = 1 [𝑛(𝑌⁄ 𝑛) + 1].

o On peut donc écrire le ratio de Hastings : ρ𝑛𝑎𝑖𝑠𝑠𝑎𝑛𝑐𝑒 =𝜆

(𝑌

𝑛, 𝑥)𝑝 𝑞𝑚𝑜𝑟𝑡(𝑌𝑛∪ {𝑥}, 𝑥)

(1 − 𝑝) 𝑞𝑛𝑎𝑖𝑠𝑠𝑎𝑛𝑐𝑒(𝑌𝑛, 𝑥) (123)

o on tire 𝑢𝑐𝑜𝑛𝑓𝑖𝑟𝑚𝑎𝑡𝑖𝑜𝑛 dans une variable aléatoire uniforme sur [0; 1].

o Si 𝑢𝑐𝑜𝑛𝑓𝑖𝑟𝑚𝑎𝑡𝑖𝑜𝑛 < ρ𝑛𝑎𝑖𝑠𝑠𝑎𝑛𝑐𝑒, le point 𝑥 est effectivement créé, sinon

Pour améliorer l’efficacité de l’algorithme, la probabilité 𝑝 peut varier selon l’état de la chaîne de Markov, par exemple en augmentant la probabilité de naissance quand le nombre de points diminue. En pratique, l’algorithme décrit ici est suffi- sant pour les cas courants. La question de la convergence n’a pas de réponse claire : R propose 500 000 itérations par défaut. En réalité, le temps d’obtention du résultat est aléatoire et non borné.

Simulation dans R

La fonction rmh(model, start, control, verbose=TRUE, ...) du module Spatstat simule des processus de Gibbs par déplacements, naissances et morts de points. Paramètres :

model : modèle décrivant le processus à simuler,

start : paramètres de départ, notamment le nombre de points, control: paramètres de contrôle du fonctionnement de l’algorithme, verbose : affichage ou non de la progression,

• … : paramètres supplé- mentaires passés au mo- dèle.

La description du modèle est faite dans une liste, dont les éléments sont :

cif : chaîne de caractère contenant le nom du mo- dèle, par exemple "Strauss" ou "Straush" pour un processus de Strauss normal ou hardcore. La liste des mo- dèles utilisables est dans l’aide de R et évolue à me- sure des nouvelles implé- mentations.

par : vecteur contenant les paramètres du modèle.

Le contrôle du fonctionnement de l’algorithme est décrit dans une liste dont les éléments utiles sont :

p : la probabilité que l’algorithme propose un déplacement plutôt qu’une naissance ou mort. Fixer p=1 et partir d’un semis de points tiré dans un processus binomial permet de simuler un processus conditionné au nombre de points,

q : la probabilité que l’algorithme propose une mort de point plutôt qu’une naissance,

nrep : le nombre d’itérations

># Description du modèle

>modStrauss <- list(cif="strauss",par=list(beta=1, gamma=0.5, r=1), w=c(0,10,0,10));

># Simulation, 500 000 itérations

>pppStrauss <- rmh(model=modStrauss, start=list(n.start=80), control=list(nrep=5e5));

>plot(pppStrauss)

Le résultat de la simulation est montré Figure 48.

Simulation parfaite

La simulation par MCMC n’apporte pas de garantie de convergence du résultat. En pratique, ce problème est peu gênant parce qu’il est possible de réaliser un très grand nombre d’itération en très peu de temps de calcul. Des algorithmes de simulation parfaite ont été développés récemment (Møller et Waagepetersen, 2004). Leur résultat est à coup

sûr une réalisation du processus attendu.

La fonction rStrauss(beta, gamma = 1, R = 0, W = owin()) simule un processus de Strauss par simulation exacte (Figure 49). Paramètres : • beta : paramètre d’intensité, • gamma : paramètre d’interaction, • R : distance d’interaction, W : fenêtre de simulation.

># Simulation parfaite d’un processus de Strauss

>pp <- rStrauss (1, 0.5, 1, W = owin(c(0,10),c(0,10)))

>plot(pp)

La simulation exacte est encore

0 1 2 3 4 5 6 7 8 9 10 0 1 2 3 4 5 6 7 8 9 10

« expérimentale » d’après la documentation de Spatstat. Le seul processus im- plémenté est celui de Strauss, la fenêtre est obligatoirement rectangulaire… Les développements mathématiques sont récents et les algorithmes compliqués. Ac- tuellement, il est plus efficace de multiplier les itérations d’une simulation MCMC plutôt que de recourir à la simulation parfaite.

A

NNEXE

2 :

M

ÉTHODES ALTERNATIVES EN