mrpt.bayes

mrpt-bayes Python API — particle filter configuration and Bayesian estimation.

The CParticleFilter class configures and drives a particle filter; the actual PDF being estimated must implement CParticleFilterCapable (in C++) or be driven via the mrpt.slam RBPF classes from Python.

Package Contents

class mrpt.bayes.CParticleFilter

C++ API: class mrpt::bayes::CParticleFilter

property options: TParticleFilterOptions

Algorithm options (TParticleFilterOptions)

class mrpt.bayes.CParticleFilterCapable

C++ API: class mrpt::bayes::CParticleFilterCapable

ESS() → float

Effective sample size, in the range [0,1]

static computeResampling(method: TParticleResamplingAlgorithm, log_weights: list[float], out_particle_count: int = 0) → list[int]

Compute resampling indexes from log-weights. Returns a list of particle indices after resampling.

getW(i: int) → float

Returns the log-weight of particle i

static logWeightsToLinear(log_weights: list[float]) → list[float]

Convert log-weights to normalized linear weights (sum=1).

normalizeWeights() → float

Normalizes the log-weights so the maximum is 0. Returns the max log-weight before normalizing.

particlesCount() → int
setW(i: int, w: float) → None

Sets the log-weight of particle i

class mrpt.bayes.TParticleFilterAlgorithm(value: int)

Members:

StandardProposal

AuxiliaryPFStandard

OptimalProposal

AuxiliaryPFOptimal

pfStandardProposal

pfAuxiliaryPFStandard

pfOptimalProposal

pfAuxiliaryPFOptimal

property name: str
property value: int
AuxiliaryPFOptimal: ClassVar[TParticleFilterAlgorithm]
AuxiliaryPFStandard: ClassVar[TParticleFilterAlgorithm]
OptimalProposal: ClassVar[TParticleFilterAlgorithm]
StandardProposal: ClassVar[TParticleFilterAlgorithm]
pfAuxiliaryPFOptimal: ClassVar[TParticleFilterAlgorithm]
pfAuxiliaryPFStandard: ClassVar[TParticleFilterAlgorithm]
pfOptimalProposal: ClassVar[TParticleFilterAlgorithm]
pfStandardProposal: ClassVar[TParticleFilterAlgorithm]
class mrpt.bayes.TParticleFilterOptions

Bases: mrpt.config.CLoadableOptions

property BETA: float

Resampling threshold: resample when ESS < BETA (default=0.5)

property PF_algorithm: TParticleFilterAlgorithm

The particle filter algorithm to use

property adaptiveSampleSize: bool

If true, enable adaptive number of particles

property resamplingMethod: TParticleResamplingAlgorithm

The resampling scheme (default=prMultinomial)

property sampleSize: int

Initial number of particles (relevant for adaptiveSampleSize=false)

class mrpt.bayes.TParticleFilterStats
property ESS_beforeResample: float

Effective sample size (ESS) before resampling step

property weightsVariance_beforeResample: float

Weight variance before resampling

class mrpt.bayes.TParticleResamplingAlgorithm(value: int)

Members:

Multinomial

Residual

Stratified

Systematic

prMultinomial

prResidual

prStratified

prSystematic

property name: str
property value: int
Multinomial: ClassVar[TParticleResamplingAlgorithm]
Residual: ClassVar[TParticleResamplingAlgorithm]
Stratified: ClassVar[TParticleResamplingAlgorithm]
Systematic: ClassVar[TParticleResamplingAlgorithm]
prMultinomial: ClassVar[TParticleResamplingAlgorithm]
prResidual: ClassVar[TParticleResamplingAlgorithm]
prStratified: ClassVar[TParticleResamplingAlgorithm]
prSystematic: ClassVar[TParticleResamplingAlgorithm]