fusion
fusion
¶
Fusion of HMM and Kalman Filter outputs.
Combines discrete state posteriors (HMM) with continuous estimates (Kalman) using inverse-variance weighting — optimal under Gaussian independence.
fuse_estimates
¶
fuse_estimates(
hmm_mean: float,
hmm_var: float,
kf_mean: float,
kf_var: float,
) -> tuple[float, float]
Fuse a single HMM estimate with a single Kalman estimate.
Uses inverse-variance weighting: fused_mean = (hmm_mean/hmm_var + kf_mean/kf_var) / (1/hmm_var + 1/kf_var) fused_var = 1 / (1/hmm_var + 1/kf_var)
| PARAMETER | DESCRIPTION |
|---|---|
hmm_mean
|
HMM expected points (from state posterior weighted emission means).
TYPE:
|
hmm_var
|
HMM variance (law of total variance over state posterior).
TYPE:
|
kf_mean
|
Kalman filtered point estimate.
TYPE:
|
kf_var
|
Kalman filtered uncertainty (posterior variance).
TYPE:
|
| RETURNS | DESCRIPTION |
|---|---|
fused_mean
|
TYPE:
|
fused_var
|
TYPE:
|
Source code in fplx/inference/fusion.py
fuse_sequences
¶
fuse_sequences(
hmm_gamma: ndarray,
kalman_x: ndarray,
kalman_P: ndarray,
emission_params: dict,
) -> tuple[ndarray, ndarray]
Fuse full sequences of HMM posteriors and Kalman estimates.
| PARAMETER | DESCRIPTION |
|---|---|
hmm_gamma
|
Smoothed state posteriors from HMM.
TYPE:
|
kalman_x
|
Kalman filtered estimates.
TYPE:
|
kalman_P
|
Kalman filtered uncertainties.
TYPE:
|
emission_params
|
{state_index: (mean, std)} from HMM.
TYPE:
|
| RETURNS | DESCRIPTION |
|---|---|
fused_mean
|
TYPE:
|
fused_var
|
TYPE:
|