particles.smoothing.smoothing_worker

particles.smoothing.smoothing_worker(method=None, N=100, fk=None, fk_info=None, add_func=None, log_gamma=None)[source]

Generic worker for off-line smoothing algorithms.

This worker may be used in conjunction with utils.multiplexer in order to run in parallel off-line smoothing algorithms.

Parameters:
  • method (string) –
    [‘FFBS_ON’, ‘FFBS_ON2’, ‘FFBS_QMC’,
    ’two-filter_ON’, ‘two-filter_ON_prop’, ‘two-filter_ON2’]
  • N (int) – number of particles
  • fk (Feynman-Kac object) – The Feynman-Kac model for the forward filter
  • fk_info (Feynman-Kac object (default=None)) – the Feynman-Kac model for the information filter; if None, set to the same Feynman-Kac model as fk, with data in reverse
  • add_func (function, with signature (t, x, xf)) – additive function, at time t, for particles x=x_t and xf=x_{t+1}
  • log_gamma (function) – log of function gamma (see book)
Returns:

est: a ndarray of length T cpu_time

Return type:

a dict with fields