Skip to main content
Typo correction
Source Link

What you are referring to is called fixed-lag smoothing (see the Wikipedia article on the topic). The idea of fixed-lag smoothing is to use $k$ observations to infer the hidden state at time $k-N$. In other words, you wait for a time $N$ (which is called the lag) to gather more information about the state at time $k-N$. Having gathered your $k$ observations, you then perform smoothing (i.e. a forward-backward procedure to compute $p(x_{k-N}|o_1 \dots o_k)$) instead of filtering (i.e. a forward procedure to compute $p(x_{k-N}|o_1 \dots o_{k-N})$).

The estimation improvement is going to depend on your system. Generally, smoothing is more precise than filtering, but also more complex: you will have to find a trade-off between estimation accuracy and computational complexity. Running simulations might be of help. An interesting reference on the subject:

Moore, J. B. (1973). Discrete-time fixed-lag smoothing algorithms. Automatica, 9(2), 163-173.

Just a side comment : by "live estimate for the state", I guess that your are referring to filtering. Most filtering methods are not online (i.e. they cannot be used on the fly as observations are being recorded), since their algorithmic complexity increases with the number of acquired observations. Some approximations need to be done to make the complexity time-independent.

What you are referring to is called fixed-lag smoothing (see the Wikipedia article on the topic). The idea of fixed-lag smoothing is to use $k$ observations to infer the hidden state at time $k-N$. In other words, you wait for a time $N$ (which is called the lag) to gather more information about the state at time $k-N$. Having gathered your $k$ observations, you then perform smoothing (i.e. a forward-backward procedure to compute $p(x_{k-N}|o_1 \dots o_k)$) instead of filtering (i.e. a forward procedure to compute $p(x_{k-N}|o_1 \dots o_{k-N})$).

The estimation improvement is going to depend on your system. Generally, smoothing is more precise than filtering, but also more complex: you will have to find a trade-off between estimation accuracy and computational complexity. Running simulations might of help. An interesting reference on the subject:

Moore, J. B. (1973). Discrete-time fixed-lag smoothing algorithms. Automatica, 9(2), 163-173.

Just a side comment : by "live estimate for the state", I guess that your are referring to filtering. Most filtering methods are not online (i.e. they cannot be used on the fly as observations are being recorded), since their algorithmic complexity increases with the number of acquired observations. Some approximations need to be done to make the complexity time-independent.

What you are referring to is called fixed-lag smoothing (see the Wikipedia article on the topic). The idea of fixed-lag smoothing is to use $k$ observations to infer the hidden state at time $k-N$. In other words, you wait for a time $N$ (which is called the lag) to gather more information about the state at time $k-N$. Having gathered your $k$ observations, you then perform smoothing (i.e. a forward-backward procedure to compute $p(x_{k-N}|o_1 \dots o_k)$) instead of filtering (i.e. a forward procedure to compute $p(x_{k-N}|o_1 \dots o_{k-N})$).

The estimation improvement is going to depend on your system. Generally, smoothing is more precise than filtering, but also more complex: you will have to find a trade-off between estimation accuracy and computational complexity. Running simulations might be of help. An interesting reference on the subject:

Moore, J. B. (1973). Discrete-time fixed-lag smoothing algorithms. Automatica, 9(2), 163-173.

Just a side comment : by "live estimate for the state", I guess that your are referring to filtering. Most filtering methods are not online (i.e. they cannot be used on the fly as observations are being recorded), since their algorithmic complexity increases with the number of acquired observations. Some approximations need to be done to make the complexity time-independent.

Source Link

What you are referring to is called fixed-lag smoothing (see the Wikipedia article on the topic). The idea of fixed-lag smoothing is to use $k$ observations to infer the hidden state at time $k-N$. In other words, you wait for a time $N$ (which is called the lag) to gather more information about the state at time $k-N$. Having gathered your $k$ observations, you then perform smoothing (i.e. a forward-backward procedure to compute $p(x_{k-N}|o_1 \dots o_k)$) instead of filtering (i.e. a forward procedure to compute $p(x_{k-N}|o_1 \dots o_{k-N})$).

The estimation improvement is going to depend on your system. Generally, smoothing is more precise than filtering, but also more complex: you will have to find a trade-off between estimation accuracy and computational complexity. Running simulations might of help. An interesting reference on the subject:

Moore, J. B. (1973). Discrete-time fixed-lag smoothing algorithms. Automatica, 9(2), 163-173.

Just a side comment : by "live estimate for the state", I guess that your are referring to filtering. Most filtering methods are not online (i.e. they cannot be used on the fly as observations are being recorded), since their algorithmic complexity increases with the number of acquired observations. Some approximations need to be done to make the complexity time-independent.