# How to approximate (log-)likelihood from model specification using particle filters

In Calvet et al., "Robust Filtering" (JASA, 2015), the authors obtain (pseudo?) maximum likelihood estimates of the parameters of a time series model of the trading volume of a futures contract. The model is specified by

$$V_t = e^{x_t+\epsilon_t}, \epsilon \sim \mathcal{N}(-\sigma^2_y/2,\sigma^2_y);$$

$$x_t = a + bx_{t-1} + \sigma_x|x_{t-1}|w_t, w \sim \mathcal{N}(0,1);$$

$$y_t = \log(V_t).$$

Here $V$ is trading volume, $x$ is the system state, and $y$ is the observation. The parameters to be estimated are $a$, $b$, $\sigma_x$, and $\sigma_y$.

I am familiar with basic closed-form maximum likelihood estimation, but the likelihood is in this case not available in closed form. How can I go about approximating the likelihood to numerically estimate the parameters?

The authors indicate that they employ the downhill simplex algorithm for the actual estimation (once the likelihood approximation has been computed), which I believe I could figure out how to use, but I struggle with the step of simulating a numerical approximation to the likelihood in the first place. Neither the paper nor the online appendix gives any more details about the simulation process itself. The paper is about particle filters, and the authors obtain different likelihoods for different particle filters. Below are their simulated likelihoods. My understanding is that these likelihoods are the result of simulations of the particle filter (state trajectories for each parameter value). But this simulation requires some parameter values to be run in the first place, so it seems circular. How these initial parameters are obtained is central to my question. Do they just start with random parameters and then compute the likelihoods in order to determine which parameters give a bitter fit? Wouldn't this introduce a dependence of the estimates on the initial conditions?

Any hints as to how to obtain these likelihood approximations and the role played in the process by the particle filter would be much appreciated.

• Could you explain why the likelihood is in this case not available in closed form? It seems to me that, because you know the distributions of $w$ and $\epsilon$, closed form solution is available. Sep 7, 2016 at 14:24
• I do mean approximating the likelihood by simulations. Only the observations (y) are observed. Corrected this in the question. Sep 17, 2016 at 9:37
• I added a link to the paper you cite (this is considered polite to do!). You should also add the state-space tag to your post. Are you certain of your formula for the PDF of $w_t$? In a version I downloaded, that formula is given as the PDF of $y_t|x_t$ (i.e. from the equation $y_t=x_t+\epsilon_t$). This makes more sense, as then $x_t$ is not on both sides of your equation. Sep 27, 2016 at 16:59
• Thank you for adding the link, will include one myself next time. You are, of course, correct about the distribution of $w$. I have corrected this in the question. Sep 27, 2016 at 19:58
• Even though they say it is in the paper, I don't think this is pseudo-ML. Usually that means you fit an approximate model with a closed-form algorithm. This is fitting the exact model with an approximate algorithm. Sep 25, 2017 at 3:07

You can think of these different particle filters as different pieces of measurement equipment (like scales or rulers). When we're outside of pure geometry, it's difficult to know exactly how big an object is, and we might get slightly different answers if we measure it a few times with different equipment. Similarly, when we don't have the closed form of the likelihood, we might get different answers depending on exactly how we measure.

When the full likelihood is difficult to compute exactly, particle filters can give an approximate likelihood by walking through the steps of your simulated process and estimating the likelihood associated with each step. Then you can get the full likelihood by multiplying the steps together (or adding up the log-likelihoods), as they suggest just after "step 3" of their description in section 3.5.2.

These are Monte Carlo estimates, so there will be some sampling error (e.g. the jaggedness in the red lines of your figure), but they should asymptotically converge to the true value as the number of particles increases.

The authors were concerned about how well this algorithm will perform when the number of samples is small/finite, so they give it a tweak that makes it less noisy. This tweak changes the estimates of the likelihood (hopefully by bringing them closer to the true value). If we think of the particle filter as a scale that weighs objects, their robust version is like a scale that tries to minimize random noise (e.g. from air currents occasionally pushing down on the scale), but which might introduce other artifacts.

• So the likelihood is the result of running a simulation based on the state evolution process (and an initial starting state) and then applying the observation likelihood to the state sequence? Sep 27, 2016 at 19:38
• Yes, the (estimated) likelihood is calculated via simulating the state evolution process. Sep 27, 2016 at 19:42
• I'm familiar with the general idea of state estimation via a particle filter when parameters are known, but can't quite tie it back to model parameter estimation yet. In Section 4.4.2, what they seem to be doing is: (1) Estimate the parameters from the in-sample period using a particle filter, so that they can then (2) use a particle filter for prediction over the out-of-sample period, correct? Sep 27, 2016 at 19:53
• [Cont'd] Also, is the ML estimation based on a single trajectory of states for each parameter value? Should the same seed then be used for all the different parameter values for which the likelihood is evaluated? If you can connect state estimation and parameter estimation a little more clearly, I'll be happy to accept the answer. Sep 27, 2016 at 19:53
• From what I can tell, the key is the brief mention of "the Downhill simplex minimization algorithm". Basically, they'd try some parameter values, estimate the likelihood, and then try a new set of parameter values. Apart from the random starting point, each new set of values is determined by the simplex algorithm (which is probably better known as Nelder-Mead optimization en.wikipedia.org/wiki/Nelder%E2%80%93Mead_method) Sep 27, 2016 at 20:22

Differing from your model, I can give you some ideas based on my experience. Let's say you have a state space model:

$y_t = ax_t + \alpha_t$

$x_{t+1} = bx_t + e_t, \quad e_t \sim N(0, 1)$

A regular assumption on a state space model is that $\alpha_t$ is also a random variable from Gaussian distribution, e.g., $N(0, 2)$. We can use the maximum likelihood method to estimate parameters $a$ and $b$ under a Gaussian distributed on $\alpha_t$. However, if we consider $\alpha_t$ is a random number from an $\alpha$ stable distribution, then the pdf is not analytically expressible.

A possible way to handle this kind of problem is to use Approximate Bayesian Computation (ABC) method. Please read the following link to learn this method if you like.

https://en.wikipedia.org/wiki/Approximate_Bayesian_computation