def setUp(self): self.KF = CholeskyKalmanFilter self.data = load_robot()
import numpy as np import matplotlib.pyplot as pk from pykalman.datasets import load_robot from pykalman import KalmanFilter # Initialize the Kalman Filter data = load_robot() kf = KalmanFilter( data.transition_matrix, data.observation_matrix, data.initial_transition_covariance, data.initial_observation_covariance, data.transition_offsets, data.observation_offset, data.initial_state_mean, data.initial_state_covariance, random_state=0 ) # Estimate mean and covariance of hidden state distribution iteratively. This # is equivalent to # # >>> (filter_state_means, filtered_state_covariance) = kf.filter(data) n_timesteps = data.observations.shape[0] n_dim_state = data.transition_matrix.shape[0] filtered_state_means = np.zeros((n_timesteps, n_dim_state)) filtered_state_covariances = np.zeros((n_timesteps, n_dim_state, n_dim_state)) for t in range(n_timesteps - 1): if t == 0: filtered_state_means[t] = data.initial_state_mean filtered_state_covariances[t] = data.initial_state_covariance
import inspect import numpy as np from numpy import ma from numpy.testing import assert_array_almost_equal from nose.tools import assert_true from pykalman import AdditiveUnscentedKalmanFilter, UnscentedKalmanFilter from pykalman.datasets import load_robot data = load_robot() def build_unscented_filter(cls): '''Instantiate the Unscented Kalman Filter''' # build transition functions A = np.array([[1, 1], [0, 1]]) C = np.array([[0.5, -0.3]]) if cls == UnscentedKalmanFilter: f = lambda x, y: A.dot(x) + y g = lambda x, y: C.dot(x) + y elif cls == AdditiveUnscentedKalmanFilter: f = lambda x: A.dot(x) g = lambda x: C.dot(x) else: raise ValueError("How do I make transition functions for {0}?".format( cls, )) x = np.array([1, 1]) P = np.array([[1, 0.1], [0.1, 1]])
def setUp(self): self.KF = BiermanKalmanFilter self.data = load_robot()
def setUp(self): self.KF = BiermanKalmanFilter self.data = load_robot()