Rao-Blackwellized/Marginal Bootstrap Filter with inner HMMs.
More...
#include <rbpf.h>
|
using | sssv = Eigen::Matrix< float_t, dimss, 1 > |
|
using | nsssv = Eigen::Matrix< float_t, dimnss, 1 > |
|
using | osv = Eigen::Matrix< float_t, dimy, 1 > |
|
using | nsssMat = Eigen::Matrix< float_t, dimnss, dimnss > |
|
using | Mat = Eigen::Matrix< float_t, Eigen::Dynamic, Eigen::Dynamic > |
|
using | arrayMod = std::array< hmm< dimnss, dimy, float_t >, nparts > |
|
using | arrayVec = std::array< sssv, nparts > |
|
using | arrayfloat_t = std::array< float_t, nparts > |
|
using | osv = Eigen::Matrix< float_t, dimobs, 1 > |
|
using | sssv = Eigen::Matrix< float_t, dim_s_state, 1 > |
|
using | nsssv = Eigen::Matrix< float_t, dim_ns_state, 1 > |
|
using | Mat = Eigen::Matrix< float_t, Eigen::Dynamic, Eigen::Dynamic > |
|
using | func = std::function< const Mat(const nsssv &, const sssv &)> |
|
using | funcs = std::vector< func > |
|
|
static constexpr unsigned int | dim_sampled_state |
|
static constexpr unsigned int | dim_not_sampled_state |
|
static constexpr unsigned int | dim_obs |
|
template<size_t nparts, size_t dimnss, size_t dimss, size_t dimy, typename resamp_t, typename float_t>
class rbpf_hmm_bs< nparts, dimnss, dimss, dimy, resamp_t, float_t >
Rao-Blackwellized/Marginal Bootstrap Filter with inner HMMs.
- Author
- t
◆ arrayfloat_t
template<size_t nparts, size_t dimnss, size_t dimss, size_t dimy, typename resamp_t , typename float_t >
◆ arrayMod
template<size_t nparts, size_t dimnss, size_t dimss, size_t dimy, typename resamp_t , typename float_t >
using rbpf_hmm_bs< nparts, dimnss, dimss, dimy, resamp_t, float_t >::arrayMod = std::array<hmm<dimnss,dimy,float_t>,nparts> |
◆ arrayVec
template<size_t nparts, size_t dimnss, size_t dimss, size_t dimy, typename resamp_t , typename float_t >
◆ Mat
template<size_t nparts, size_t dimnss, size_t dimss, size_t dimy, typename resamp_t , typename float_t >
using rbpf_hmm_bs< nparts, dimnss, dimss, dimy, resamp_t, float_t >::Mat = Eigen::Matrix<float_t,Eigen::Dynamic,Eigen::Dynamic> |
◆ nsssMat
template<size_t nparts, size_t dimnss, size_t dimss, size_t dimy, typename resamp_t , typename float_t >
using rbpf_hmm_bs< nparts, dimnss, dimss, dimy, resamp_t, float_t >::nsssMat = Eigen::Matrix<float_t,dimnss,dimnss> |
"not sampled state size matrix"
◆ nsssv
template<size_t nparts, size_t dimnss, size_t dimss, size_t dimy, typename resamp_t , typename float_t >
using rbpf_hmm_bs< nparts, dimnss, dimss, dimy, resamp_t, float_t >::nsssv = Eigen::Matrix<float_t,dimnss,1> |
"not sampled state size vector"
◆ osv
template<size_t nparts, size_t dimnss, size_t dimss, size_t dimy, typename resamp_t , typename float_t >
using rbpf_hmm_bs< nparts, dimnss, dimss, dimy, resamp_t, float_t >::osv = Eigen::Matrix<float_t,dimy,1> |
"observation size vector"
◆ sssv
template<size_t nparts, size_t dimnss, size_t dimss, size_t dimy, typename resamp_t , typename float_t >
using rbpf_hmm_bs< nparts, dimnss, dimss, dimy, resamp_t, float_t >::sssv = Eigen::Matrix<float_t,dimss,1> |
"sampled state size vector"
◆ rbpf_hmm_bs()
template<size_t nparts, size_t dimnss, size_t dimss, size_t dimy, typename resamp_t , typename float_t >
rbpf_hmm_bs< nparts, dimnss, dimss, dimy, resamp_t, float_t >::rbpf_hmm_bs |
( |
const unsigned int & |
resamp_sched = 1 | ) |
|
The constructor.
constructor.
- Parameters
-
resamp_sched | how often to resample (e.g. once every resamp_sched time periods) |
◆ filter()
template<size_t nparts, size_t dimnss, size_t dimss, size_t dimy, typename resamp_t , typename float_t >
void rbpf_hmm_bs< nparts, dimnss, dimss, dimy, resamp_t, float_t >::filter |
( |
const osv & |
data, |
|
|
const std::vector< std::function< const Mat(const nsssv &x1tProbs, const sssv &x2t)> > & |
fs = std::vector<std::function<const Mat(const nsssv&, const sssv&)> >() |
|
) |
| |
Filter.
filters everything based on a new data point.
- Parameters
-
data | the most recent time series observation. |
fs | a vector of functions computing E[h(x_1t, x_2t^i)| x_2t^i,y_1:t] to be averaged to yield E[h(x_1t, x_2t)|,y_1:t]. Will access the probability vector of x_1t |
◆ fSamp()
template<size_t nparts, size_t dimnss, size_t dimss, size_t dimy, typename resamp_t , typename float_t >
virtual sssv rbpf_hmm_bs< nparts, dimnss, dimss, dimy, resamp_t, float_t >::fSamp |
( |
const sssv & |
x2tm1 | ) |
|
|
pure virtual |
Samples the time t second component.
Samples the time t second component.
- Parameters
-
x2tm1 | the previous time's second state component. |
- Returns
- a sssv sample of the second state component at the current time.
◆ getExpectations()
template<size_t nparts, size_t dimnss, size_t dimss, size_t dimy, typename resamp_t , typename float_t >
auto rbpf_hmm_bs< nparts, dimnss, dimss, dimy, resamp_t, float_t >::getExpectations |
( |
| ) |
const |
Get vector of expectations.
- Returns
- vector of expectations
◆ getLogCondLike()
template<size_t nparts, size_t dimnss, size_t dimss, size_t dimy, typename resamp_t , typename float_t >
float_t rbpf_hmm_bs< nparts, dimnss, dimss, dimy, resamp_t, float_t >::getLogCondLike |
( |
| ) |
const |
Get the latest conditional likelihood.
Get the latest conditional likelihood.
- Returns
- the latest conditional likelihood.
◆ initHMMProbVec()
template<size_t nparts, size_t dimnss, size_t dimss, size_t dimy, typename resamp_t , typename float_t >
virtual nsssv rbpf_hmm_bs< nparts, dimnss, dimss, dimy, resamp_t, float_t >::initHMMProbVec |
( |
const sssv & |
x21 | ) |
|
|
pure virtual |
Provides the initial mean vector for each HMM filter object.
provides the initial probability vector for each HMM filter object.
- Parameters
-
x21 | the second state componenent at time 1. |
- Returns
- a Vec representing the probability of each state element.
◆ initHMMTransMat()
template<size_t nparts, size_t dimnss, size_t dimss, size_t dimy, typename resamp_t , typename float_t >
virtual nsssMat rbpf_hmm_bs< nparts, dimnss, dimss, dimy, resamp_t, float_t >::initHMMTransMat |
( |
const sssv & |
x21 | ) |
|
|
pure virtual |
Provides the transition matrix for each HMM filter object.
provides the transition matrix for each HMM filter object.
- Parameters
-
x21 | the second state component at time 1. |
- Returns
- a transition matrix where element (ij) is the probability of transitioning from state i to state j.
◆ muSamp()
template<size_t nparts, size_t dimnss, size_t dimss, size_t dimy, typename resamp_t , typename float_t >
virtual sssv rbpf_hmm_bs< nparts, dimnss, dimss, dimy, resamp_t, float_t >::muSamp |
( |
| ) |
|
|
pure virtual |
Sample from the first sampler.
samples the second component of the state at time 1.
- Returns
- a sssv sample for x21.
◆ updateHMM()
template<size_t nparts, size_t dimnss, size_t dimss, size_t dimy, typename resamp_t , typename float_t >
virtual void rbpf_hmm_bs< nparts, dimnss, dimss, dimy, resamp_t, float_t >::updateHMM |
( |
hmm< dimnss, dimy, float_t > & |
aModel, |
|
|
const osv & |
yt, |
|
|
const sssv & |
x2t |
|
) |
| |
|
pure virtual |
How to update your inner HMM filter object at each time.
How to update your inner HMM filter object at each time.
- Parameters
-
aModel | a HMM filter object describing the conditional closed-form model. |
yt | the current time series observation. |
x2t | the current second state component. |
◆ m_expectations
template<size_t nparts, size_t dimnss, size_t dimss, size_t dimy, typename resamp_t , typename float_t >
std::vector<Mat> rbpf_hmm_bs< nparts, dimnss, dimss, dimy, resamp_t, float_t >::m_expectations |
|
private |
the vector of expectations
◆ m_lastLogCondLike
template<size_t nparts, size_t dimnss, size_t dimss, size_t dimy, typename resamp_t , typename float_t >
float_t rbpf_hmm_bs< nparts, dimnss, dimss, dimy, resamp_t, float_t >::m_lastLogCondLike |
|
private |
last conditional likelihood
◆ m_logUnNormWeights
template<size_t nparts, size_t dimnss, size_t dimss, size_t dimy, typename resamp_t , typename float_t >
the array of unnormalized log-weights
◆ m_now
template<size_t nparts, size_t dimnss, size_t dimss, size_t dimy, typename resamp_t , typename float_t >
unsigned int rbpf_hmm_bs< nparts, dimnss, dimss, dimy, resamp_t, float_t >::m_now |
|
private |
◆ m_p_innerMods
template<size_t nparts, size_t dimnss, size_t dimss, size_t dimy, typename resamp_t , typename float_t >
the array of inner closed-form models
◆ m_p_samps
template<size_t nparts, size_t dimnss, size_t dimss, size_t dimy, typename resamp_t , typename float_t >
the array of samples for the second state portion
◆ m_resampler
template<size_t nparts, size_t dimnss, size_t dimss, size_t dimy, typename resamp_t , typename float_t >
resamp_t rbpf_hmm_bs< nparts, dimnss, dimss, dimy, resamp_t, float_t >::m_resampler |
|
private |
◆ m_rs
template<size_t nparts, size_t dimnss, size_t dimss, size_t dimy, typename resamp_t , typename float_t >
unsigned int rbpf_hmm_bs< nparts, dimnss, dimss, dimy, resamp_t, float_t >::m_rs |
|
private |
The documentation for this class was generated from the following file: