Il existe une grande variété de méthodes de simulation géostatistique. Pour les regrouper, on peut proposer la subdivision suivante :
Méthodes gaussiennes :
Méthodes matricielles basées sur une décomposition de la matrice de covariance
Méthode gaussienne séquentielle
Moyennes mobiles
Bandes tournantes
Méthodes autorégressives
Méthodes fréquentielles
Etc.
Méthodes non-gaussiennes :
Recuit simulé
Simulation séquentielle d’indicatrices
Méthodes utilisant des champs de probabilité (« p-fields »)
Méthode multipoints (« Multiple-point statistics (MPS) »)
Etc.
Dans la suite, nous examinerons quelques-unes de ces méthodes.
Méthode de simulation matricielle (LU, décomposition de Cholesky)¶
Cette méthode est simple à programmer et efficace pour simuler de petits champs. Elle permet de réaliser facilement des simulations conditionnelles comme non-conditionnelles.
Simulations non-conditionnelles¶
Soit points à simuler, pour lesquels on souhaite générer une réalisation d’un champ aléatoire dont la covariance est . On commence par construire la matrice de covariance de taille en évaluant la covariance entre chaque point de simulation. Cette matrice est donc similaire à celle utilisée pour le krigeage simple, mais elle est ici construite à partir des points à simuler plutôt que des points observés.
Une fois la matrice obtenue, on procède à sa décomposition de Cholesky :
où est une matrice triangulaire inférieure.
On génère ensuite valeurs indépendantes pour , qui forment le vecteur gaussien centré réduit .
La réalisation simulée est alors donnée par :
Cette réalisation possède bien la covariance souhaitée, puisque :
Ainsi, le vecteur simulé est une réalisation non conditionnelle du champ gaussien de covariance .
Simulations conditionnelles¶
Le principe de la simulation conditionnelle est similaire à celui de la simulation non conditionnelle, mais l’on distingue cette fois deux ensembles de points :
les points conditionnants, pour lesquels les valeurs sont observées ;
les points à simuler, dont on souhaite générer une réalisation conforme aux observations.
On commence par construire la matrice de covariance globale de taille , en plaçant d’abord les points conditionnants, puis les points à simuler. Sur cette matrice, on effectue la décomposition de Cholesky :
Ici, on divise la matrice triangulaire issue de la décomposition de Cholesky en trois blocs destinés au conditionnement. Le bloc correspond aux points conditionnants, le bloc aux points à simuler, et le bloc décrit la liaison entre ces deux groupes. Cette structure permet de séparer clairement la contribution des observations de celle de la variabilité aléatoire.
Pour imposer un conditionnement exact, on doit déterminer le vecteur tel que :
où est le vecteur des observations. On obtient directement :
On génère ensuite un vecteur aléatoire composé de variables indépendantes suivant .
La simulation complète s’écrit alors :
Comme les valeurs observées sont connues, et que l’on peut déduire , seule la partie simulée varie d’une réalisation à l’autre :
Enfin, remarquez que le terme est constant pour toutes les réalisations conditionnelles : il n’a donc à être calculé qu’une seule fois, ce qui accélère considérablement la génération de simulations conditionnelles.
Cette méthode est particulièrement efficace, car elle ne requiert qu’une seule inversion de matrice — celle de — pour traiter l’ensemble des réalisations. Une fois cette étape effectuée, les simulations additionnelles sont produites très rapidement et à faible coût computationnel. Sa principale limitation est la mémoire : la taille totale reste limitée à quelques milliers de points, faute de quoi la matrice devient trop volumineuse pour être stockée ou factorisée. De plus, doit être non singulière pour permettre la décomposition de Cholesky, ce qui signifie notamment que les points à simuler ne doivent pas coïncider exactement avec les points observés.
D’autres décompositions sont possibles pour générer les simulations, notamment celles fondées sur les valeurs propres et les vecteurs propres de , mais la décomposition de Cholesky demeure l’approche la plus efficace dans les cas où elle est applicable.
Méthode de simulation séquentielle gaussienne (SGS)¶
La méthode SGS est une méthode de simulation conditionnelle, le cas non conditionnel n’étant qu’une situation particulière où aucune donnée n’est imposée. Le principe général consiste à simuler les valeurs séquentiellement, point par point, en utilisant à chaque étape une distribution conditionnelle dérivée du krigeage simple (KS). Cette distribution, gaussienne, sert alors à tirer aléatoirement une valeur au point considéré.
Supposons que l’on dispose de points conditionnants, décrits par une covariance , et que l’on souhaite simuler points inconnus dans un domaine. L’algorithme commence par :
Générer un ordre aléatoire (souvent appelé chemin de simulation) pour visiter successivement les points à simuler. Cet ordre importe, car chaque valeur simulée devient immédiatement une nouvelle donnée conditionnante pour les étapes suivantes.
À partir de cet ordre aléatoire, parcourir les points un par un et, pour chaque point , considérer comme données conditionnantes l’ensemble des valeurs déjà disponibles soit les observations initiales, ainsi que les valeurs simulées aux points .
Effectuer un krigeage simple au point , à l’aide du modèle de covariance (ou variogramme) spécifié.
Le krigeage simple fournit :
La valeur krigée (espérance conditionnelle) :
La variance de krigeage (variance conditionnelle) :
Ces deux quantités définissent la distribution gaussienne locale à partir de laquelle sera tirée la valeur simulée.
**Simuler la valeur au point ** en tirant un nombre aléatoire selon la loi normale conditionnelle obtenue :
Ajouter immédiatement la valeur simulée à l’ensemble des données conditionnantes. Elle influencera donc le krigeage simple des points suivants, ce qui confère à la méthode son caractère pleinement conditionnel et séquentiel.
Répéter les étapes 2 à 5 jusqu’à ce que tous les points du chemin de simulation aient été visités, ce qui fournit une réalisation complète compatible avec les valeurs observées, le modèle spatial (variogramme) et la distribution gaussienne imposée.
Remarques importantes¶
Il est important de rappeler que, dans la méthode SGS, la taille des systèmes de krigeage augmente progressivement, car le nombre de points connus — comprenant à la fois les points conditionnants initiaux et les points déjà simulés — s’accroît à chaque étape du processus. Pour éviter que les calculs ne deviennent trop lourds, on restreint généralement le krigeage à une fenêtre locale de voisinage, tirant parti de l’effet d’écran : les points éloignés ont peu d’influence sur l’estimation et peuvent être ignorés sans perte significative de précision.
Lorsque le modèle de covariance inclut un effet de pépite, un traitement particulier s’impose. Dans le cas non conditionnel, il est préférable d’ajouter cet effet après la simulation, sous forme d’un bruit indépendant de variance , afin de ne pas perturber la structure spatiale simulée. En revanche, dans le cas conditionnel, une telle correction n’est pas possible, car les observations incluent déjà l’effet de pépite et doivent être reproduites exactement. Certains modèles de covariance, comme les modèles sphériques ou gaussiens, peuvent d’ailleurs être plus difficiles à reproduire fidèlement dans un cadre séquentiel.
L’ordre de visite des points joue également un rôle non négligeable. Un parcours systématique, par exemple selon une direction fixe, peut créer des artefacts ou induire une anisotropie artificielle dans la réalisation. C’est pourquoi il est recommandé d’utiliser un ordre aléatoire, et même, pour améliorer la qualité des simulations, de procéder en plusieurs passes : une première passe aléatoire sur une maille plus grossière permettant de capturer les grandes structures, suivie d’une ou de plusieurs passes aléatoires sur des mailles plus fines pour affiner progressivement la réalisation. Cette stratégie multi-échelle permet souvent d’obtenir des simulations plus réalistes et exemptes d’effets directionnels artificiels.
Démonstration que la méthode SGS fournit les bons variogrammes (ou covariogrammes)¶
On utilise un argument inductif : supposons que points ont été simulés par la méthode SGS et qu’ils possèdent la bonne structure spatiale (covariogramme). Nous montrons que cela implique que, à l’étape , les points simulés auront aussi la bonne structure.
Soit un vecteur contenant les variables aléatoires simulées aux points déjà simulés. On suppose que leur covariance est la bonne, c’est-à-dire :
Étape : krigeage et simulation¶
La valeur krigée au point s’écrit :
où
avec la covariance entre les points déjà simulés et le point .
La méthode SGS simule la valeur au point selon :
où est un bruit d’erreur indépendant, de moyenne nulle et de variance .
Calcul des covariances¶
On calcule la covariance entre le point simulé et les points déjà simulés :
ce qui correspond bien à la covariance souhaitée.
De plus, la variance au point vaut :
ce qui correspond aussi à la variance de la fonction de covariance à simuler.
Notes importantes¶
L’algorithme SGS repose sur l’utilisation de distributions conditionnelles, ce qui rend l’hypothèse de normalité particulièrement commode : si la variable est gaussienne, alors le krigeage simple fournit exactement les paramètres (moyenne et variance) de la loi conditionnelle de donnée l’information disponible. Toutefois, la démonstration par induction présentée précédemment ne dépend pas de la normalité de . Elle utilise uniquement les propriétés linéaires du krigeage simple, et non le fait que celui-ci corresponde à une loi conditionnelle gaussienne exacte. L’algorithme reste donc valide même si la variable n’est pas strictement gaussienne.
Dans ce cadre, il est tout à fait possible de simuler un bruit de moyenne nulle et de variance sans imposer qu’il soit normal. Le variogramme cible sera alors correctement reproduit. En revanche, l’histogramme des valeurs simulées aura tendance à devenir plus « normal » que celui des données initiales. Cela s’explique par le fait que la valeur krigée est une combinaison linéaire de nombreuses observations, ce qui, par un argument proche du théorème central limite, tire naturellement les distributions vers une forme plus gaussienne.
Enfin, il est très simple de combiner l’algorithme SGS avec la méthode matricielle LU présentée dans la section précédente. Cette combinaison permet notamment de simuler simultanément plusieurs variables corrélées en de multiples points, tout en respectant les relations de covariance entre variables. Cela ouvre la voie à des simulations multivariées plus complexes et plus réalistes.
Méthode de recuit simulé¶
La méthode du recuit simulé (simulated annealing) est une technique d’optimisation extrêmement flexible, largement utilisée en simulation géostatistique lorsqu’il faut reproduire non seulement les moments d’ordre 1 ou 2 (histogramme, variogramme), mais également des caractéristiques plus complexes du phénomène.
Principe général¶
Le principe consiste à définir une fonction objectif que l’on cherche à minimiser. Cette fonction mesure l’écart entre la réalisation simulée et les propriétés que l’on souhaite lui imposer. Un exemple classique consiste à minimiser la différence entre :
le variogramme expérimental des données simulées,
le variogramme théorique souhaité.
La fonction objectif peut être enrichie pour intégrer d’autres contraintes, par exemple :
le respect d’une courbe tonnage–teneur en contexte minier,
l’intégration de relations déterministes entre variables,
des contraintes géologiques imposant des structures ou des contacts,
ou encore des statistiques d’ordre supérieur (connectivité, proportion de phases, asymétries spatiales).
Il existe de nombreuses variantes de la méthode, qui diffèrent selon la manière dont la fonction objectif est formulée, les contraintes qu’elle inclut et la stratégie utilisée pour explorer l’espace des solutions. Cette grande flexibilité fait du recuit simulé une approche particulièrement adaptée lorsqu’aucune méthode géostatistique classique (telle que SGS ou les simulations matricielles) ne permet de satisfaire simultanément toutes les contraintes imposées.
Algorithme de recuit simulé¶
Initialisation :
On tire aléatoirement une valeur pour chaque point à simuler en respectant l’histogramme désiré.
On place ensuite les valeurs conditionnantes (points observés) dans le champ.
On calcule le variogramme expérimental avec toutes ces valeurs.
On évalue la fonction objectif qui combine la distance entre le variogramme expérimental et le modèle théorique, ainsi que la différence entre l’histogramme simulé et l’histogramme attendu.Itération :
i) On tire au hasard un point du champ.Si c’est un point conditionnant, on ne change rien.
Sinon, on tire une nouvelle valeur selon une distribution globale (par exemple, l’histogramme cible).
On calcule la nouvelle valeur de la fonction objectif .
ii) On décide d’accepter ou non cette nouvelle valeur selon la règle :
oùest la “température” (paramètre contrôlant la probabilité d’acceptation).
Si , on accepte toujours (car ).
Sinon, on accepte avec la probabilité , sinon on rejette (on remet la valeur précédente).
Refroidissement :
La température diminue lentement au fil des itérations, ce qui réduit progressivement la probabilité d’accepter des solutions moins bonnes.
Ce mécanisme permet d’échapper aux minima locaux en début d’algorithme et de converger vers un optimum global.Critère d’arrêt :
On arrête l’algorithme lorsque la fonction objectif atteint un certain seuil ou après un nombre maximal d’itérations.
Remarques¶
Il est souvent avantageux d’amorcer le recuit simulé avec une réalisation obtenue par une autre méthode de simulation — par exemple une réalisation SGS ou matricielle — plutôt qu’avec un champ initial entièrement aléatoire. Ce choix permet de réduire le nombre d’itérations nécessaires et d’accélérer la convergence vers une solution satisfaisant les contraintes imposées. La fonction objectif du recuit simulé peut d’ailleurs être enrichie très facilement pour intégrer des contraintes spécifiques au problème étudié, qu’il s’agisse de contraintes géologiques, de relations déterministes, d’exigences sur les proportions, la connectivité ou la variabilité. Cette grande flexibilité constitue l’un des atouts majeurs de la méthode. En contrepartie, le recuit simulé est généralement plus coûteux en temps de calcul que les méthodes matricielles ou séquentielles classiques, car l’algorithme explore un grand nombre de configurations avant d’en accepter une qui minimise suffisamment la fonction objectif.