|
EmrysFilter 0.1.0
State estimation utilities in C++23 using Eigen
|
One prediction of a HiddenMarkovFilter as a smoother needs it: the distribution the step started from, the prediction, and the matrix that moved one to the other. More...
#include <EmrysFilter/Filters/HiddenMarkovFilter.h>
Public Types | |
| using | MatrixType = typename MarkovChain<Space, Scalar>::MatrixType |
| the transitions' type | |
Public Attributes | |
| CategoricalParams< Space, Scalar > | filtered |
| \( p(x_k \mid z_{1:k}) \), the state before the step | |
| CategoricalParams< Space, Scalar > | predicted |
| the state after it, before the next update | |
| MatrixType | transitions |
| \( K \), with predicted \( = K^T \) filtered | |
One prediction of a HiddenMarkovFilter as a smoother needs it: the distribution the step started from, the prediction, and the matrix that moved one to the other.
The discrete counterpart of PredictedJoint (decisions.md [smoothing]): with \( K \) the transitions, \( \mathrm{predicted} = K^T \mathrm{filtered} \) exactly, so the joint of the values before and after the step is \( \mathrm{filtered}_i K_{ij} \). For a MarkovChain \( K \) is \( \Pi \); for a ContinuousTimeMarkovChain over \( \Delta t \) it is \( e^{Q \Delta t} \); and for an ArrivalInterval it is the step \( e^{(Q - \Lambda) \Delta t} [\Lambda] \) divided by its total, which is no longer stochastic, since the step observed something. CategoricalHistory records them.
| Space | the discrete space |
| Scalar | scalar type of the probabilities |