Skip to content
Snippets Groups Projects
Commit 174c9cc3 authored by Anton Kullberg's avatar Anton Kullberg
Browse files

bug: fixed IMM bug

parent 04990551
No related branches found
No related tags found
No related merge requests found
"""Contains filter implementations. """Contains filter implementations.
""" """
import pdb
import numpy as np import numpy as np
import scipy.stats as stats import scipy.stats as stats
import jax import jax
...@@ -111,10 +112,11 @@ class IMM: ...@@ -111,10 +112,11 @@ class IMM:
""" """
# Calc. mixing probabilities # Calc. mixing probabilities
mu = self.transition_prob*self.mode_probabilities[-1][:, None] mu = self.transition_prob*self.mode_probabilities[-1][:, None]
mu = mu/np.sum(mu, axis=0) # Normalize mu = mu/np.sum(mu, axis=1, keepdims=True) # Normalize
# Mixed state # Mixed state
xp = np.hstack([x@mu[:, [k]] for k in range(self.nmodes)]) xp = np.hstack([x@mu[[k], :].T for k in range(self.nmodes)])
Pp = np.zeros(P.shape) Pp = np.zeros(P.shape)
for i in range(self.nmodes): for i in range(self.nmodes):
xdiff = x-xp[:, [i]] xdiff = x-xp[:, [i]]
covxp = np.stack([xdiff[:, [k]]@xdiff[:, [k]].T for k in range(self.nmodes)], axis=2) covxp = np.stack([xdiff[:, [k]]@xdiff[:, [k]].T for k in range(self.nmodes)], axis=2)
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment