# Tempered Particle Filter

The tempered particle filter is a particle filtering method which can approximate the log-likelihood value implied by a general (potentially non-linear) state space system (with potentially non-Gaussian innovations) of the following representation:

### General State Space System

```
s_{t+1} = Phi(s_t, eps_t) (transition equation)
y_t = Psi(s_t) + u_t (measurement equation)
eps_t ~ F_{eps}( . ; 0)
u_t ~ N(0, E)
Cov(eps_t, u_t) = 0
```

Notice above that unlike the Kalman filter, which requires one’s model be linear and shocks `eps_t`

to be Gaussian, the tempered particle filter does not impose such restrictions.

Documentation and code are located in src/filters/tempered_particle_filter. An example script is located in docs/examples/tempered_particle_filter.

### Installation and Versioning

`StateSpaceRoutines.jl`

is a registered Julia package in the general registry, currently compatible with Julia `v1.0`

and `v1.1`

. To install, open your Julia REPL, type `]`

(enter Julia’s package manager), and run

```
pkg> add StateSpaceRoutines
```