Skip to main content
Log in

A new patchwork simulation method with control of the local-mean histogram

  • Original Paper
  • Published:
Stochastic Environmental Research and Risk Assessment Aims and scope Submit manuscript

Abstract

We present a new stochastic simulation method that builds two-dimensional images by assembling together square image pieces called blocks. The blocks are taken from a reference image. Our method, called patchwork simulation method (PSM), enforces pattern continuity in the image. Moreover, PSM allows to control the image local-mean histogram. This histogram bin-frequencies can be set to user-defined target values that may differ from the reference image local-mean histogram. This flexibility enhances the PSM generality by enlarging the set of all possible simulations. The local-mean histogram control is achieved by adjusting suitably the transition probabilities that associate a new block to an existing neighborhood in the partly simulated image. For several types of synthetic images and one polymer blend image, we show that PSM reproduces faithfully the reference image visual appearance (i.e. patterns are correctly shaped) and that simulated images are statistically compatible with the target local-mean histogram. Moreover, we show that our method has the ability to produce simulations that respect conditional hard data as well as a target local-mean histogram.

This is a preview of subscription content, log in via an institution to check access.

Access this article

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

Fig. 1
Fig. 2
Fig. 3
Fig. 4
Fig. 5
Fig. 6
Fig. 7
Fig. 8
Fig. 9
Fig. 10
Fig. 11
Fig. 12
Fig. 13
Fig. 14
Fig. 15
Fig. 16
Fig. 17
Fig. 18
Fig. 19

Similar content being viewed by others

Notes

  1. The correlation length is closely related to the variogram range.

  2. In this case, this corresponds to choosing the value of \({\user2{S}}(0)\) according to the probability (1).

Abbreviations

\({\user2{a}}({\user2{s}})\) :

Patch-state associated to the lower-right square-shaped part of size 3 L /4 of the block-state \({\user2{s}}.\)

\(A({\user2{u}}_{j})\) :

Set of all block-states \({\user2{s}}\in \fancyscript{S}_r\) such that \({\user2{u}}({\user2{s}})\) is closest to \({\user2{u}}.\)

\(A_{n}({\user2{u}})\) :

Subset of \(\fancyscript{S}_r\) that honors the local hard-data at step n and such that \({\user2{u}}({\user2{s}})\) is closest to \({\user2{u}}.\)

\(A_{n}^{*}({\user2{u}})\) :

Subset of \(\fancyscript{S}_{r}^{*}\) that honors the local hard-data at step n and such that \({\user2{u}}^*({\user2{s}}^*)\) is closest to \({\user2{u}}.\)

\(A^{\dag}({\user2{u}}_{j})\) :

Set of all block-states \({\user2{s}}\in \fancyscript{S}_r\) such that \({\user2{u}}({\user2{s}}) = {\user2{u}}_{j}.\)

\(A^{\prime}({\user2{u}}_{j})\) :

Set of all block-states \({\user2{s}}\in \fancyscript{S}_r\) such that \({\user2{u}}({\user2{s}})\) is closest to \({\user2{u}}_{j},\) using a weighted metric.

\(c({\user2{s}})\) :

Number of occurrences \(c({\user2{s}}) \in {\mathbb{N}}\) of the block-state \({\user2{s}}\) in the reference image.

C i :

ith local-mean class, i  ∈ { 1, 2, …, M}, defined by \(C_i = \left\{{\user2{s}} \in \fancyscript{S}_r: \varphi_{i-1} \leq \phi({\user2{v}}({\user2{s}})) < \varphi_i \right\}.\)

\(d\left({\user2{u}}_i, {\user2{u}}_{j}\right)\) :

Distance between the L-states \({\user2{u}}_i\; \text{and}\; {\user2{u}}_{j}.\)

\({\user2{f}}\) :

Array \({\user2{f}} \in {\mathbb{R}}^M\) containing the local-mean bin relative frequencies for a simulated image.

L :

Size of a block, which is a square-shaped region in an image (L = 4 nn  ∈ {1, 2 , …}).

m :

Dimension of an array \({\user2{u}} \in \fancyscript{U}_r.\)

M :

Number M  ∈ { 2, 3, … } of local-mean histogram bins.

N :

Number of simulation steps.

\({\user2{p}}\) :

Array \({\user2{p}} \in {\mathbb{R}}^M\) containing the simulated image local-mean bin probabilities.

\({\user2{p}}_{r}\) :

Array \({\user2{p}}_{r} \in {\mathbb{R}}^M\) containing the reference image local-mean bin probabilities.

\({\user2{p}}_t\) :

Array \({\user2{p}}_t \in {\mathbb{R}}^M\) containing the target local-mean bin probabilities.

\({\user2{p}}_{t}^{\prime}\) :

Array \({p}_{t}^{\prime} \in {\mathbb{R}}^M\) containing the modulated target local-mean bin probabilities.

p j,k :

Transition probability p j,k  ∈ [0, 1] defined by \(p_{j,k} := P\left[{\user2{S}(n)}= {\user2{s}}_{k} |{\user2{U}(n)}={\user2{u}}_{j} \right]\).

\({\user2{s}}\) :

Block-state (i.e. array of pixel values) associated to a square-shaped support of size L.

\({\user2{s}}_k\) :

kth element of the set \(\fancyscript{S}_r.\)

\({\user2{s}}^*\) :

Extended block-state used for hard data conditioning.

\({\user2{s}}\) :

A random block-state \({\user2{s}} \in \fancyscript{S}_s\) chosen randomly in a simulated image.

\(\fancyscript{S}_r\) :

Set of all distinct block-states \({\user2{s}}\) found in the reference image.

\(\fancyscript{S}_{r, n}\) :

Subset of \(\fancyscript{S}_r\) containing states that honor the local hard-data at step n.

\(\fancyscript{S}_{r}^{*}\) :

Set of all distinct extended block-states \({\user2{s}}^*\) found in the reference image.

\(\fancyscript{S}_{r, n}^{*}\) :

Subset of \(\fancyscript{S}_{r}^{*}\) containing states that honor the local hard-data at step n.

\(\fancyscript{S}_s\) :

Set of all distinct block-states \({\user2{s}}\) found in the simulated image.

\(\fancyscript{U}_r\) :

Set of all distinct L-states \({\user2{u}}\) found in the reference image.

\({\user2{S}}_{r}\) :

Random block-state \({\user2{S}}_{r} \in \fancyscript{S}_r\) obtained by picking randomly and equiprobably a block in the reference image.

\({\user2{S}}_{t}\) :

target random vector.

\({\user2{S}(n)}\) :

Block-state \({\user2{S}}(n) \in \fancyscript{S}_r\) used to build the image at the nth simulation step, n  ∈ { 1, 2, 3, …, N. }.

\({\user2{u}}\) :

L-state associated to a L-shaped support of size L in an image.

\({\user2{u}}_j\) :

jth element of the set \(\fancyscript{U}_r.\)

\({\user2{u}}({{s}})\) :

L-state associated to the L-shaped part of the block-state \({\user2{s}}.\)

\({\user2{u}}^{\user2{*}}({\user2{s}}^{\user2{*}})\) :

L-state associated to the L-shaped part of the extended block-state \({\user2{s}}^*.\)

\({\user2{U}(n)}\) :

L-state \({\user2{U}}(n) \in \fancyscript{U}_r\) used to build the image at the nth simulation step, n  ∈ { 1, 2, 3, …, N. }.

\({\user2{v}}({\user2{s}})\) :

Quarter-state associated to the lower-right square-shaped part of size \(\frac{L}{2}\) of block-state \({\user2{s}}.\)

\({\user2{V}}(n)\) :

A quarter-state at the nth simulation step.

\({\user2{V}}_{n}\) :

Quarter-state found in the support of \({\user2{v}}({\user2{S}{(n)}})\) after the simulation is finished.

w(i):

ith weight used in the definition of the norm \( \left\| \ldots \right\|\) given by equation (5).

\({\user2{x}}\) :

An array \({\user2{x}} \in {\mathbb{R}}^N.\)

α:

Normalisation constant.

φ i :

ith histogram bin-boundary \(\varphi_i \in {\mathbb{R}}, i \in \{ 0, 1,\ldots, M \},\) with φ M  = ∞.

\(\phi({\user2{x}})\) :

Arithmetic average \(\phi({\user2{x}}) \in {\mathbb{R}}\) of the components of the array \({\user2{x}} \in {\mathbb{R}}^N.\)

\({\varvec{\omega}}(i)\) :

Strictly positive weight, i  ∈ {1, 2, …, M }.

\({\varvec{\omega}}^*\) :

Array \({\varvec{\omega}}^* \in {\mathbb{R}}^M\) of optimal weights.

χ2 :

chi-square statistic used to assess the control on the local-mean histogram.

\(\underline{\underline{{\text{d}}}} \) :

Equality in probability distribution.

References

  • Arpat S, Caers J (2007) Conditional simulation with patterns. Math Geol 39(2):177–203

    Article  Google Scholar 

  • Boucher A, Stright L (2008) Downscaling with training image and search tree partitioning. In: Proceeding of Geostats 2008. Santiago, Chile

  • Deutsch CV, Journel AG (1998) GSLIB: geostatistical Software library and user’s guide, 2 edn. Oxford University Press

  • Emery X (2004) Properties and limitations of sequential indicator simulation. Stoch Environ Res Risk Assess 18:414–424

    Article  Google Scholar 

  • Guardiano F, Srivastava RM (1993) Multivariate geostatistics: beyond bivariate moments. Geostatistics-Troia 1:133–144. in Soares

    Google Scholar 

  • Liu T, Moore AW, Gray A, Yang K (2004) An investigation of practical approximate nearest neighbor algorithms. In: Proceedings of NIPS 2004. Vancouver

  • Ouassini AE (2006) Une nouvelle approche pour la reconstruction statistique des images: le rapiage de motifs stochastiques. Master’s thesis, École Polytechnique de Montréal

  • Ouassini AE, Saucier A, Marcotte D, Favis BD (2008) A patchwork approach to stochastic simulation: A route towards the analysis of morphology in multiphase systems. Chaos Solitons Fractals 36(2):418–436

    Article  Google Scholar 

  • Parra A, Ortiz JM (2011) Adapting a texture synthesis algorithm for conditional multiple point geostatistical simulation. Stoch Environ Res Risk Assess 25:1101–1111

    Article  Google Scholar 

  • Pickard DK (1980) Unilateral Markov fields. Adv Appl Probab 12(3):655–671

    Article  Google Scholar 

  • Press WH, Teukolsky SA, Vetterling WT, Flannery BP (2007) Numerical recipes: the art of scientific computing, 3 edn. Cambridge Univ Press

  • Razlighi QR, Kehtarnavaz N, Nosratinia A (2009) Computation of image spatial entropy using quadrilateral Markov random field. IEEE Trans Image Process 18(12):2629–2639

    Article  Google Scholar 

  • Saito H, McKenna SA, Zimmerman DA, Coburn TC (2005) Geostatistical interpolation of object counts collected from multiple strip transects: Ordinary kriging versus finite domain kriging. Stoch Environ Res Risk Assess 19:71–85

    Article  Google Scholar 

  • Strebelle S (2000) Sequential simulation drawing structures from training images. PhD thesis, Stanford University

  • Strebelle S (2002) Conditional simulation of complex geological structures using multiple-point statistics. Math Geol 34(1):1–21

    Article  Google Scholar 

  • Strebelle S (2003) New multiple-point statistics simulation implementation to reduce memory and cpu-time demand. In: Conference of the international association for mathematical geology. Portsmouth, UK, September, vol 7, p 12

  • Tuanfeng Z, Stein IP, McCormick D (2008) Patched path and recursive servo system in multi-point geostatistical simulation. In: Proceeding of geostats 2008. Santiago, Chile

  • Wei LY, Levoy M (2000) Fast texture synthesis using tree-structured vector quantization. In Proceedings of the 27th annual conference on Computer graphics and interactive techniques. ACM Press/Addison-Wesley Publishing Co., New York, NY, USA, pp 479–488

  • Wu J, Boucher A, Zhang T (2008) A SGeMS code for pattern simulation of continuous and categorical variables: FILTERSIM. Comput Geosci 34:1863–1876

    Article  CAS  Google Scholar 

  • Zhang C, Li W (2008) A comparative study of nonlinear Markov chain models for conditional simulation of multinomial classes from regular samples. Stoch Environ Res Risk Assess 22:217–230

    Article  Google Scholar 

  • Zhang T, Switzer P, Journel AG (2006) Filter-based classification of training image patterns for spatial simulation. Math Geol 38(1):63–80

    Google Scholar 

Download references

Acknowledgements

The authors thank the two anonymous reviewers for their comments, which were helpful to improve significantly the original manuscript. This work was financed by the NSERC discovery research grants of the two coauthors.

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Antoine Saucier.

Appendix 1

Appendix 1

1.1 (a) Determination of \({\varvec{\omega}}\)

The bin-probabilities \({\user2{p}}\) of images simulated using the corrected transition probabilities (30) depend on \( {\varvec{\omega}}.\) The problem is to find a weight vector \( {\varvec{\omega}}^{\varvec{*}}\) such that \({\user2{p}}({\varvec{\omega}}^{\varvec{*}})={\user2{p}}_{t}.\) This is a root-finding problem that we tackle with a variant of Newton’s method, i.e via a linearization of the function \({\user2{p}}({\varvec{\omega}})\) around a point \( {\varvec{\omega}} = \hat{{\varvec{\omega}}}^{(0)}\). For \(\parallel { {\varvec{\omega}} - \hat{{\varvec{\omega}}}^{(0)}\parallel }\) small enough, \({\user2{p}}({\varvec{\omega}})\) can be approximated by its first order Taylor series around the point \( {\varvec{\omega}} = \hat{ {\varvec{\omega}}}^{(0)}\), i.e. \( {\user2{p}}({\varvec{\omega}}) \approx {\user2{p}}(\hat{ {\varvec{\omega}}}^{(0)}) + B \left({\varvec{\omega}} -\hat{ {\varvec{\omega}}}^{(0)}\right) \) for \(\parallel {{\varvec{\omega}} - \hat{{\varvec{\omega}}}^{(0)}\parallel } < \varepsilon, \) where \(\varepsilon >0\) and B is the M × M Jacobian matrix of \({\user2{p}}({\varvec{\omega}})\) evaluated at \({\varvec{\omega}} = \hat{{\varvec{\omega}}}^{(0)}.\) Since both \({\user2{p}}(\hat{{\varvec{\omega}}}^{(0)})\) and B are unknown, it can be assumed equivalently that

$$ {\user2{p}}({\varvec{\omega}}) \approx {\user2{a}} + B\,{\varvec{\omega}} \quad \text {for} \ \parallel{{\varvec{\omega}} - \hat{{\varvec{\omega}}}^{(0)} \parallel} < \varepsilon, $$
(31)

where \({{\user2{ a}} \in \mathbb{R}^M}\) and B are unknown parameters. Newton’s method consists in using the linear extrapolation (31) to estimate the root of \({\user2{p}}({\varvec{\omega}}) - {\user2{p}}_{t} = 0\). More precisely, if \(\parallel{ {\varvec{\omega}} - \hat{ {\varvec{\omega}}}^{(0)} \parallel} < \varepsilon\) and if (31) holds, then \({\user2{p}}({\varvec{\omega}}) = {\user2{p}}_{t} \Rightarrow {\user2{a}}+ B {\varvec{\omega}} \approx {\user2{p}}_{\user2{t}} \Rightarrow {\varvec{\omega}} \approx B^{-1} \left( {\user2{p}}_{\user2{t}} - {\user2{ a}} \right) := \hat{{\varvec{\omega}}}^{(1)},\) as long as B −1 exists. If \(\hat{{\varvec{\omega}}}^{(0)}\) is close enough to \({\varvec{\omega}}^{\varvec{*}},\) then \(\hat{{\varvec{\omega}}}^{(1)}\) is a better estimate of \( {\varvec{\omega}}^{\varvec{*}}\) than \(\hat{{\varvec{\omega}}}^{(0)}.\) This linearisation and extrapolation procedure can be repeated around the point \({\varvec{\omega}} = \hat{{\varvec{\omega}}}^{(1)}\) to produce an even better estimate \(\hat{{\varvec{\omega}}}^{(2)}\) of \({\varvec{\omega}}^{\varvec{*}}.\)

In the context of our problem, the difficulty is that the function \({\user2{p}}( {\varvec{\omega}})\) is not known. At each step of the method, we must estimate the parameters \({\user2{a}}\) and B by performing a multidimensional linear regression in the neighborhood of the best estimate of \({\varvec{\omega}}^{\varvec{*}}.\) At the nth step, we choose a neighborhood \({\varvec{\omega}}(\hat{{\varvec{\omega}}}^{(n-1)}, \Updelta {\varvec{\omega}})\) that has the shape of a rectangular parallepiped centered on \(\hat{{\varvec{\omega}}}^{(n-1)},\) and for which the widths in each direction are specified by the array \(\Updelta {\varvec{\omega}} := (\delta {\varvec{\omega}}, \ldots, \delta {\varvec{\omega}})^T,\) where \(\delta {\varvec{\omega}} = \frac{\alpha}{M}\) and \(\alpha \in ]0,1[\) is an adjustable parameter. The width \(\delta {\varvec{\omega}}\) must small enough for \({\user2{p}}({\varvec{\omega}})\) to be approximately linear within \({\varvec{\omega}}(\hat{{\varvec{\omega}}}^{(n-1)}, \Updelta {\varvec{\omega}}).\)

The estimation of \(({\user2{a}}, B)\) at the nth step is based on Q(n) simulated images generated using distinct weight vectors \({\varvec{\omega}}_q, q=1,\ldots,Q(n),\) which all belong to the box \({\varvec{\omega}}(\hat{{\varvec{\omega}}}^{(n-1)}, \Updelta {\varvec{\omega}}).\) For each image we compute the bin-frequencies \({\user2{f}}_{\user2{q}}({\varvec{\omega}}_q),\) which are estimates of the bin probabilities \({\user2{p}}({\varvec{\omega}}_q). \) Since \({\user2{f}}_q( {\varvec{\omega}}_q)\) and \({\user2{p}}({\varvec{\omega}}_q)\) differ by a random fluctuation, it follows from (31) that \({\user2{f}}_q({\varvec{\omega}}_q)\) is related to \({\varvec{\omega}}_q \) by the model

$$ {\user2{f}}_q({\varvec{\omega}}_q) = {\user2{a}} + B\,{\varvec{\omega}}_q+ {\user2{W}}_q, \ \ q=1,\ldots,Q(n), $$
(32)

where \({{\user2{W}}_q \in \mathbb{R}^M}\) is a random noise that includes both the random fluctuation and the linearization error. Using model (32), the least-squares estimate \((\hat{ {\user2{a}}},\hat{ B})\) of \(({\user2{a}}, B)\) is

$$ (\hat{{\user2{a}}}, \hat{ B}) = \mathop{\text{argmin}}\limits_{{\user2{a}}, B} \ \ \frac{1}{2} \sum_{q=1}^{Q(n)} \left\| {\user2{f}}_q ({\varvec{\omega}}_q) - {\user2{a}} - B {\varvec{\omega}}_q \right\|^2. $$
(33)

The multidimensional linear regression used to obtain \((\hat{{\user2{a}}},\hat{ B})\) from (33) is discussed in the Appendix 1(b). Note that the condition Q(n) ≥ M + 1 must be satisfied for each n for the problem (33) to be well posed. To reduce the variance of \(\hat{{\user2{a}}}\) and \(\hat B,\) we use Q(n) ≥ Q min > M + 1, where the value Q min := M + 20 was used in our simulations. The resulting estimate \(\hat{{\varvec{\omega}}}^{(n)}\) of \({\varvec{\omega}}^{\varvec{*}}\) is

$$ \hat{{\varvec{\omega}}}^{(n)} = \hat{B}^{-1} \left({\user2{p}}_{t} - \hat{{\user2{a}}}\right). $$
(34)

At each step, the weight vector \({\varvec{\omega}}_q\) must be suitably chosen. The iteration is initiated with uniform weights, i.e. with \(\hat{{\varvec{\omega}}}^{(0)} = (1/M,\ldots,1/M)^T\). Note that the choice \({\varvec{\omega}}= \hat{{\varvec{\omega}}}^{(0)}\) usually gives a fair approximation of \({\varvec{\omega}}^{\varvec{*}}\) in the case where \({\user2{p}}_{{t}} = {\user2{p}}_{{r}} .\) In the first iteration, i.e. for n = 1, we generate randomly Q(1) = Q min values of \({\varvec{\omega}}\) that lie in the box \({\varvec{\omega}}(\hat{{\varvec{\omega}}}^{(0)}, \Updelta {\varvec{\omega}}).\) More precisely, the \({\varvec{\omega}}_q\)s are generated with

$$ {\varvec{\omega}}_q= {\frac{\hat{{\varvec{\omega}} }^{(n-1)} + \delta{\varvec{\omega}} \, {\varvec{\varepsilon}}_q^{(n)}}{\sum_{i=1}^{M} \hat{\varvec{\omega}}^{(n-1)}(i) + \delta {\varvec{\omega}} \ \varepsilon_{q}^{(n)}(i) }} $$
(35)

q = 1, …, Q(1), where the \(\varepsilon_{q}^{(n)}(i)\)s are mutually independent random variables uniformly distributed in [ − 1/2,1/2]. The denominator in (35) insures that the normalization constraint on the weights is satisfied. The estimation is performed from the values of \({\varvec{\omega}}\) contained in the list \({\mathbb{L}_1 := \{ {\varvec{\omega}}_1, \ldots, {\varvec{\omega}}_{Q(1)} \},}\) which leads to the first estimate \(\hat{{\varvec{\omega}}}^{(1)}.\)

In the next iterations, i.e. for n ≥ 2, the updated box \({\varvec{\Omega}}(\hat{{\varvec{\omega}}}^{(n-1)}, \Updelta{\varvec{\omega}})\) is centered on the latest estimate \(\hat{{\varvec{\upomega}}}^{(n-1)}\) and contains a subset of the \({\varvec{\upomega}}_q\)s contained in \({\mathbb{L}_{n-1}.}\) Indeed, the box displacement may cause the exclusion of some \({\varvec{\upomega}}_q\)s. If the number k of \({\varvec{\upomega}}_q\)s in \({ \mathbb{L}_{n-1} \cap {\varvec{\Omega}}(\hat{{\varvec{\upomega}}}^{(n-1)}, \Updelta {\varvec{\upomega}})}\) is less than Q min , then we generate randomly a complementary list \({\mathbb{L}_{n}^{*}}\) of at least Q min  − k new values of \({\varvec{\omega}}\) contained in \({\varvec{\Omega}}(\hat{ {\varvec{\upomega}}}^{(n-1)}, \Updelta {\varvec{\upomega}}).\) If k ≥ Q min , then we generate only one additional value of \( {\varvec{\upomega}}\) contained in \({\varvec{\Omega}}(\hat{{\varvec{\omega}}}^{(n-1)}, \Updelta {\varvec{\omega}}).\) In both cases, the new values of \( {\varvec{\omega}}\) are generated via (35). The new estimate \(\hat{ {\varvec{\omega}}}^{(n)}\) is computed from the values of \({\varvec{\omega}}\) contained in the updated list \({\mathbb{L}_n}\) defined by

$$ {\mathbb{L}}_n := \{{\varvec{\omega}}_q \in {\mathbb{L}}_{n-1} \cap {\varvec{\Omega}}(\hat{{\\varvec{\omega}}}^{(n-1)}, \Updelta {\varvec{\omega}}) \} \cup {\mathbb{L}}_{n}^{*}, $$
(36)

which always contains at least Q min elements. Note that we do not include in \({\mathbb{L}_n}\) the estimates \(\hat{ {\varvec{\omega}}}^{(1)}, \hat{{\varvec{\omega}}}^{(2)}, \ldots,\hat{{\varvec{\omega}}}^{(n-1)},\) which results in a homogeneous distribution of the \({\varvec{\omega}}\)s in \({\varvec{\Omega}}(\hat{{\varvec{\omega}}}^{(n-1)}, \Updelta {\varvec{\omega}}).\)

As n increases, the box movement slows down and comes to a near-stop around the optimal solution. For n large enough, the box position is nearly constant and the number of \({\varvec{\Omega}}_q\)s in \({\varvec{\omega}}(\hat{{\varvec{\omega}}}^{(n-1)}, \Updelta {\varvec{\omega}})\) increases. We stop iterating when \(|\mathbb{L}_{n}|=Q(n)=Q_{{\rm max}},\) which occurs for n = n max, and we keep \(\hat{{\varvec{\omega}}}^{(n_{{\rm max}})}\) as the best estimate of \({\varvec{\omega}}^{\varvec{*}}.\) The value of Q max depends on the accuracy needed for the estimate \({\varvec{\omega}}^{\varvec{*}}.\)

Note that the box size \(\delta {\varvec{\omega}} = \frac{\alpha}{M}\) must be small enough for the linear model (32) to be valid within the box. To test this condition, we repeat the estimation process with a series of decreasing values of α, e.g. {1/2, 1/4, 1/8, …, 1/2n, …}, and we stop when the estimate of \({\varvec{\omega}}^{\varvec{*}}\) no longer changes significantly with α.

1.2 (b) Estimation of \({\user2{a}}\) and B

To find the least-squares estimates \((\hat{{\user2{ a}}},\hat B)\) of the parameters \(({\user2{a}}, B),\) we search for the minimum of the function

$$ \begin{array}{l} E({\user2{a}}, B) = \frac{1}{2} \sum\limits_{q=1}^Q \left\| \hat{{\user2{p}}}_q -{\user2{ a}} - B {\varvec{\omega}}_q\right\|^2 \\ =\frac{1}{2}\sum\limits_{q=1}^Q\sum\limits_{i=1}^M \left(\hat{p}_q(i) - a(i) - \sum\limits_{j=1}^M b_{i,j} {\varvec{\omega}}_q(j)\right)^2 \end{array} $$
(37)

with respect to \({\user2{a}}\) and B. In (37), the b i,j s are the elements of the Jacobian matrix B. The unknown parameters are the M components of \({\user2{a}}\) and the M 2 matrix elements of B, for a total of M + M 2 = M(M + 1) unknowns. Note that the minimum value \(E({\user2{a}}, B) = 0\) can be obtained if

$$ \hat{{\user2{p}}}_q - {\user2{a}} - B\,{\varvec{\omega}}_q = 0, \quad \quad q \in \{ 1,2,\ldots,Q \}. $$
(38)

The vectors in (38) are M-dimensional, hence (38) is a linear system of Q M equations that has a unique solution if the number of equations is equal to the number of unknowns, i.e. if Q M = M (M + 1) ⇒ Q = M + 1. Hence we expect the minimization problem (33) to be uniquely determined if Q = M + 1, in which case \(E(\hat{{\user2{a}}}, \hat{B}) = 0,\) and over-determined if Q > M + 1, in which case \(E(\hat{{\user2{a}}}, \hat{B}) \ge 0.\)

The gradient of E vanishes at the minimum of E. The conditions \(\frac{\partial E}{\partial a_i}=0\) and \(\frac{\partial E}{\partial b_{i,j}}=0\) lead respectively to the equations

$$ \begin{array}{l} Q a(i) + \sum\limits_{j=1}^M b_{i,j} \sum\limits_{q=1}^Q{\varvec{\omega}}_q(j) = \sum\limits_{q=1}^Q \hat{p}_q(i) \quad \quad \ \\ a_i \sum\limits_{q=1}^Q {\varvec{\omega}}_q(j) + \sum\limits_{k=1}^M b_{i,k} \sum\limits_{q=1}^Q {\varvec{\omega}}_q(k) {\varvec{\omega}}_q(j) = \sum\limits_{q=1}^Q \hat{p}_q(i) {\varvec{\omega}}_q(j) \end{array} $$
(39)

for \(i,j\in \{1,\ldots,M\}.\) The equations (39) can be rewritten in the equivalent matrix form

$$ \left( \begin{array}{cc} Q & \sum_{q=1}^Q {\varvec{\omega}}_q^T\\ \sum_{q=1}^Q {\varvec{\omega}}_q & \sum_{q=1}^Q {\varvec{\omega}}_q {\varvec{\omega}}_q^T \end{array} \right) \ \left( \begin{array}{l} {\user2{a}}^T \\ B^T \end{array} \right) = \left( \begin{array}{c} \sum_{q=1}^Q \hat{{\user2{p}}}_q^T\\ \sum_{q=1}^Q {\varvec{\omega}} _q \hat{{\user2{p}} }_{q}^{T} \end{array} \right).$$
(40)

If Q ≥ M + 1, the linear systems of equations (40) can be solved numerically for \({\user2{a}}\) and B.

Rights and permissions

Reprints and permissions

About this article

Cite this article

Faucher, C., Saucier, A. & Marcotte, D. A new patchwork simulation method with control of the local-mean histogram. Stoch Environ Res Risk Assess 27, 253–273 (2013). https://doi.org/10.1007/s00477-012-0586-9

Download citation

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s00477-012-0586-9

Keywords

Navigation