Module bayes_estimate::estimators::sir
source · Expand description
Sampling Importance Resampleing estimation. Also know as a weighted Booststrap.
References [1] “Novel approach to nonlinear-non-Gaussian 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 University 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.
- Sample state and a PRNG to draw from.
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 Aliases
- likelihoods.
- A resampling function.
- Resample count.
- A roughening function.
- State samples.