Module bayes_estimate::estimators::sir[][src]

Expand description

Sampling Importance Resampleing estimation. Also know as a weighted Booststrap.

References [1] “Novel approach to nonlinear-non-Guassian Bayesian state estimation” NJ Gordon, DJ Salmond, AFM Smith IEE Proceeding-F Vol.140 No.2 April 1993 [2] Building Robust Simulation-based Filter for Evolving Data Sets“ J Carpenter, P Clifford, P Fearnhead Technical Report Unversity of Oxford

A variety of resampling algorithms can be used for SIR. There are implementations for two algorithms: standard_resample: Standard resample algorithm from [1] systematic_resample: A Simple stratified resampler from [2]

NOTES: SIR algorithms is sensitive to the PRNG properties. In particular we require that the uniform random number range be [0..1) NOT [0..1]. Quantisation generated random number must not approach the sample size. This will result in quantisation of the resampling. For example if random identically equal to 0 becomes highly probable due to quantisation this will result in the first sample being selectively draw whatever its likelihood.

Numerics: Resampling requires comparisons of normalised likelihoods. These may become insignificant if likelihoods have a large range. Resampling becomes ill conditioned for these samples.

Structs

Sample state.

Functions

Update ‘s’ by selectively copying resamples. Uses a in-place copying algorithm: First copy the live samples (those resampled) to end of s. Replicate live sample in-place start an the begining of s.

Generate as sampling function for normally distributed noise.

Generate as sampling function for normally distributed coupled noise.

Roughen sample state using min max roughening of the samples.

Couple noise roughening.

Standard resampler from [1]. Algorithm: A sample is chosen once for each time its cumulative likelihood intersects with a uniform random draw. Complexity is that of Vec::sort, O(n * log(n)) worst-case. This complexity is required to sort the uniform random draws made, this allows comparing of the two ordered lists w(cumulative) and ur (the sorted random draws).

Systematic resample algorithm from [2]. Algorithm: A particle is chosen once for each time its cumulative likelihood intersects with an equidistant grid. A uniform random draw is chosen to position the grid within the cumulative likelihoods. Complexity O(n)

Type Definitions

likelihoods.

A resampling function.

Resample count.

A roughening function.

State samples.