artan.smoother package


artan.smoother.linear_kalman_smoother module

class artan.smoother.linear_kalman_smoother.HasFixedLag[source]


Mixin for param for fixed lag

fixedLag = Param(parent='undefined', name='fixedLag', doc='Fixed lag')

Gets the value of fixed lag or its default value.

class artan.smoother.linear_kalman_smoother.LinearKalmanSmoother(stateSize, measurementSize)[source]

Bases: artan.state.stateful_transformer.StatefulTransformer, artan.filter.filter_params.KalmanFilterParams, artan.smoother.linear_kalman_smoother.HasFixedLag

Fixed lag linear kalman smoother using Rauch-Tung-Striebel method. The smoother is implemented with a stateful spark transformer for running parallel smoother /w spark dataframes. Transforms an input dataframe of noisy measurements to dataframe of state estimates using stateful spark transformations, which can be used in both streaming and batch applications.

At a time step k and a fixed lag N, the fixed lag linear kalman smoother computes the state estimates of a linear kalman filter based on all measurements made between step k and step k-t. For each time step k >= N, the smoother outputs an estimate for all the time steps between k and k-N. When k < N, the smoother doesn’t output any estimates. As a result, the memory requirements of this filter is N times of a linear kalman filter. Since the smoother outputs multiple estimates for a single measurement, it is advised to set event time column of the measurements with setEventTimeCol.


Sets the smoother fixed lag

Default is 2. :param value: Int :return: LinearKalmanSmoother