Newer
Older
from numpy import ndarray
from MMAE.Estimator_Likelihood.estimator_likelihood import EstimatorLikelihood
from MMAE.Joint_Probability.joint_probability import JointProbability
class MMAE:
def __init__(self, λs, k, b, dt, H, Q, R, x0, noisy):
# Estimator likelihood simulator initialization
self.EstimatorLikelihoods = [EstimatorLikelihood(λ, k, b, dt, H, Q, R, x0, noisy) for λ in λs]
# Joint probability simulator initialization
self.JointProbability = JointProbability(λs)
def update(self, u: ndarray, z: ndarray) -> float:
pdvs = [EstimatorLikelihood.update(u, z) for EstimatorLikelihood in self.EstimatorLikelihoods]
λ_hat = self.JointProbability.update(pdvs)
return λ_hat