示例#1
0
 def resample_gaussian_states(self):
     self._aBl = None  # clear any caching
     self._gaussian_normalizer, self.gaussian_states = \
         filter_and_sample(
             self.mu_init, self.sigma_init,
             self.As, self.BBTs, self.Cs, self.DDTs,
             self.data)
def check_filter_and_sample(A, B, C, d, mu_init, sigma_init, data):
    rngstate = np.random.get_state()
    ll1, sample1 = filter_and_sample(mu_init, sigma_init, A, B.dot(B.T), C, np.diag(d ** 2), data)
    np.random.set_state(rngstate)
    ll2, sample2 = filter_and_sample_diagonal(mu_init, sigma_init, A, B.dot(B.T), C, d ** 2, data)

    assert np.isclose(ll1, ll2)
    assert np.allclose(sample1, sample2)
def check_filter_and_sample(A, B, C, d, mu_init, sigma_init, data):
    rngstate = np.random.get_state()
    ll1, sample1 = filter_and_sample(mu_init, sigma_init, A, B.dot(B.T), C,
                                     np.diag(d**2), data)
    np.random.set_state(rngstate)
    ll2, sample2 = filter_and_sample_diagonal(mu_init, sigma_init, A,
                                              B.dot(B.T), C, d**2, data)

    assert np.isclose(ll1, ll2)
    assert np.allclose(sample1, sample2)
示例#4
0
def dense_sample_states(sigmasq_states, sigmasq_obs, mu_init, sigmasq_init, data):
    T, n = data.shape

    # construct corresponding dense model
    A = np.eye(n)
    sigma_states = np.diag(sigmasq_states)
    C = np.eye(n)
    sigma_obs = np.diag(sigmasq_obs)
    sigma_init = np.diag(sigmasq_init)

    return filter_and_sample(
        mu_init, sigma_init, A, sigma_states, C, sigma_obs, data)
示例#5
0
def dense_sample_states(sigmasq_states, sigmasq_obs, mu_init, sigmasq_init, data):
    T, n = data.shape

    # construct corresponding dense model
    A = np.eye(n)
    sigma_states = np.diag(sigmasq_states)
    C = np.eye(n)
    sigma_obs = np.diag(sigmasq_obs)
    sigma_init = np.diag(sigmasq_init)

    return filter_and_sample(
        mu_init, sigma_init, A, sigma_states, C, sigma_obs, data)
示例#6
0
def check_filter_and_sample(A, B, sigma_states, C, D, sigma_obs, mu_init,
                            sigma_init, inputs, data):
    rngstate = np.random.get_state()
    ll1, sample1 = filter_and_sample(mu_init, sigma_init, A, B, sigma_states,
                                     C, D, sigma_obs, inputs, inputs)
    np.random.set_state(rngstate)
    ll2, sample2 = filter_and_sample_diagonal(mu_init, sigma_init, A, B,
                                              sigma_states, C, D,
                                              np.diag(sigma_obs), inputs, data)

    assert np.isclose(ll1, ll2)
    assert np.allclose(sample1, sample2)
示例#7
0
def dense_sample_states(sigmasq_states, sigmasq_obs, mu_init, sigmasq_init,
                        data):
    T, n = data.shape
    inputs = np.zeros((T, 0))

    # construct corresponding dense model
    A = np.eye(n)
    B = np.zeros((n, 0))
    sigma_states = np.diag(sigmasq_states)
    C = np.eye(n)
    D = np.zeros((n, 0))
    sigma_obs = np.diag(sigmasq_obs)
    sigma_init = np.diag(sigmasq_init)

    return filter_and_sample(mu_init, sigma_init, A, B, sigma_states, C, D,
                             sigma_obs, inputs, data)