Procedure: Use simulation to recursively update the dynamic emulator mean and variance in the approximation method

Description and Background

This page is concerned with task of emulating a dynamic simulator, as set out in the variant thread on dynamic emulation (ThreadVariantDynamic).

The approximation procedure for iterating the single step emulator (ProcApproximateIterateSingleStepEmulator) recursively defines

\[\begin{split}\mu_{t+1} &= \mathrm{E}[ m^*(w_t,a_{t+1},\phi)|f(D)], \\ V_{t+1} &= \mathrm{E}[ v^*\{(w_t,a_{t+1},\phi),(w_t,a_{t+1},\phi)\}|f(D)] + \mathrm{Var}[m^*(w_t,a_{t+1},\phi)|f(D)],\end{split}\]

where the expectations and variances are taken with respect to \(w_{t}\), with \(w_{t} \sim N_r(\mu_{t},V_{t})\). If the single step emulator has a linear mean and a separable Gaussian covariance function, then \(\mu_{t+1}\) and \(V_{t+1}\) can be computed explicitly, as described in the procedure page for recursively updating the dynamic emulator mean and variance (ProcUpdateDynamicMeanAndVariance). Otherwise, simulation can be used, which we describe here.

Inputs

  • \(\mu_{t}\) and \(V_{t}\)
  • The single step emulator, conditioned on training inputs \(D \), and hyperparameters \(\theta\), with posterior mean and covariance functions \(m^*(\cdot)\) and \(v^*(\cdot,\cdot)\) respectively.

Outputs

  • Estimates of \(\mu_{t+1}\) and \(V_{t+1}\)

Procedure

We describe a Monte Carlo procedure using \(N\) Monte Carlo iterations. For discussion of the choice of \(N\), see the discussion page on Monte Carlo estimation (DiscMonteCarlo).

  1. For \(i=1,\ldots,N\), sample \(w_t^{(i)}\) from \(N(\mu_t,V_t)\)

  2. Estimate \(\mu_{t+1}\) by \(\hat{\mu}_{t+1}=\frac{1}{N}\sum_{i=1}^N m^*(w_t^{(i)},a_{t+1},\phi)\)

  3. Estimate \(V_{t+1}\) by

    \[\hat{V}_{t+1}=\frac{1}{N}\sum_{i=1}^N v^*\{(w_t^{(i)},a_{t+1},\phi),(w_t^{(i)},a_{t+1},\phi)\} +\frac{1}{N-1}\sum_{i=1}^N\left(m^*(w_t^{(i)},a_{t+1},\phi)-\hat{\mu}_{t+1}\right)^2\]