Skip to content

Add noise estimation #232

@lymichelle21

Description

@lymichelle21

It is important to account for uncertainty in system behavior and sensor data for more accurate models. This is handled by having process noise is added at state transition and measurement noise added at measurement (output equation). This is currently handled by manual tuning.

It would be helpful to have a feature to estimate noise in a similar way to the parameter estimation method. However, this is a challenging issue because noise is dynamic and values sample from a distribution.

Some initial exploration is documented in the add-noise-estimation-mc branch in estimate_noise.ipynb

This starts with a Monte Carlo brute force approach as a baseline, which is computationally expensive, has a large search space, and is overall unrealistic in real use cases. This is done by picking a process and measurement noise as a goal and generating “realˮ data to compare guess and estimation against. The current approach is optimized based on mean and std error.

One example run with 10,000 simulations achieved the following results:

○ Data: [1.8 process noise, 0.4 measurement noise]
○ Guess: [3 process noise, 2 measurement noise]
○ Optimized: [1.8 process noise, 2.4 measurement noise]

Next steps:

  • Update optimization to minimize a different error measure (distributional
    similarity)
  • Explore search space with heatmap visualization
  • Coarse-to-fine optimization with fewer samples or earlier stop time
  • Open to ideas → Vectorized prediction with multiple possibilities, unscented Kalman filter, sigma points

Resources:

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions