# Heuristic Factors

15 September 2017

In a typical sequential Monte Carlo (SMC) setting, we target a sequence of densities $(\pi_t(x_{1:t}))_{t = 1}^T$ (defined on a sequence of supports $(\mathcal X_{1:t}))_{t = 1}^T$) while assuming we can only evaluate their unnormalized version $\gamma_t(x_{1:t}) = Z_t \pi_t(x_{1:t})$ where the normalizing constant is $Z_t = \int_{\mathcal X_{1:t}} \gamma_t(x_{1:t}) \,\mathrm dx_{1:t}$.

Given an initial proposal distribution $q_1(x_1)$ and a sequence of proposal distributions $(q_t(x_t \given x_{1:t - 1}))_{t = 2}^T$ from which we can sample and whose densities we can evaluate, the SMC algorithm proceeds by the propose-weight-resample loop. The full SMC algorithm using this notation is in the first part of this note.

Since SMC is a greedy algorithm, sampling according to the original sequence of targets $\pi_t$ isn’t the best thing to do if we want to target just $\pi_T$. In this case we might want to use heuristic factors. Heuristic factors are a sequence of positive functions $(h_t(x_{1:t}))_{t = 1}^T$ which modify the sequence of normalized and unnormalized targets as follows:

• Unnormalized targets $\gamma_t'(x_{1:t}) := \gamma_t(x_{1:t}) \cdot \prod_{\tau = 1}^t h_\tau(x_{1:\tau})$,
• Normalized targets $\pi_t'(x_{1:t}) := \gamma_t'(x_{1:t}) / Z_t'$,
• Normalization constants $Z_t' := \int_{\mathcal X_{1:t}} \gamma_t'(x_{1:t})$. We require $\prod_{t = 1}^T h_t(x_{1:t}) = 1$ so that we preserve $\pi_T = \pi_T'$, $\gamma_T = \gamma_T'$ and $Z_T = Z_T'$.

Recall that when using an original sequence of targets, the intermediate weights are calculated as follows: \begin{align} w_t = \frac{\gamma_t(x_{1:t})}{\gamma_{t - 1}(x_{1:t - 1}) q_t(x_t \given x_{1:t - 1})}. \end{align} If we include the heuristic factors, the weights would be calculated as follows: \begin{align} w_t’ &= \frac{\gamma_t’(x_{1:t})}{\gamma_{t - 1}’(x_{1:t - 1}) q_t(x_t \given x_{1:t - 1})} \\ &= \frac{\gamma_t(x_{1:t}) \cdot \prod_{\tau = 1}^t h_\tau(x_{1:\tau})}{\gamma_{t - 1}(x_{1:t - 1}) \cdot \left(\prod_{\tau = 1}^{t - 1} h_\tau(x_{1:\tau})\right) \cdot q_t(x_t \given x_{1:t - 1})} \\ &= w_t h_t(x_{1:t}). \end{align}

[back]