Ordinary smoother

Ordinary smoother (univariate)

Notations

$a_t, P_t, C_t \left(=P_t Z_t’ \right), f_t, e_t$ are quantities obtained in the filtering process. $r_t, r_{0t}, r_{1t}$ are auxiliary row-matrices, while $N_t,N_{0t},N_{1t}, N_{2t}$ are auxiliary square matrices. Except $r_{0t},N_{0t}$ which are initialised with the last values of $r_t,N_t$, those objects are set to 0 at the beginning of the process.

The following notations are used:

Normal recursions

Observed t
Missing t
Smoothed states
Smoothed disturbances

Implementation details

The ordinary smoother for univariate models is implemented in the class demetra.ssf.univariate.OrdinarySmoother of the library demetra-ssf

The current implementation computes successively the following quantities (observed case; operations marked with an asterisk don’t imply actual matrix computations; they use functional forms):

xl operator

The operator $xl(y) = y(T_t - K_t Z_t)$ is computed as follows

It can be applied on each row of a matrix

Implementation

The ordinary smoother is implemented in the classes demetra.ssf.univariate.OrdinarySmoother and demetra.ssf.multivariate.MultivariateOrdinarySmoother.