Skip to main content
. 2020 Feb 24;22(2):258. doi: 10.3390/e22020258
Algorithm 1 Double-Loop Bayesian Monte Carlo (DLBMC) for estimating EIG
  • 1:

    Input: Design points d, prior p(θ), standard deviation of noise σ, hyperparameters {lin,(σf)in} and {lout,(σf)out}.

  • 2:

    Data preparation: Sample {θ(j)}j=1ninp(θ) and compute G(j)=G(d,θ(j)) for j=1,,nin.

  • 3:

    Sample {y(i)}i=1noutU(min(G)σ,max(G)+σ).

  • 4:

    Compute {zin,Kin} and {zout,Kout}.

  • 5:

    fori=1,,noutdo

  • 6:

        for j=1,,nin do

  • 7:

            Compute the likelihood f(i,j)=p(y(i)|θ(j),d).

  • 8:

        end for

  • 9:

        Let f(i)=[f(i,1),,f(i,nin)]T.

  • 10:

        Compute the evidence e(i)=zinTKin1f(i).

  • 11:

        for j=1,,nin do

  • 12:

            g(i,j)=[log(f(i,j))log(e(i))]f(i,j).

  • 13:

        end for

  • 14:

        Let g(i)=[g(i,1),,g(i,nin)]T.

  • 15:

        Compute h(i)=zinTKing(i).

  • 16:

    end for

  • 17:

    Let h=[h(1),,h(nout)]T.

  • 18:

    Compute U^(d)=zoutTKout1h.

  • 19:

    Output: the estimated EIG U^(d).