artan.smoother package¶
Submodules¶
artan.smoother.linear_kalman_smoother module¶
-
class
artan.smoother.linear_kalman_smoother.HasFixedLag[source]¶ Bases:
pyspark.ml.param.ParamsMixin for param for fixed lag
-
fixedLag= Param(parent='undefined', name='fixedLag', doc='Fixed lag')¶
-
-
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.HasFixedLagFixed 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.