在卡尔曼滤波器上调节过程噪声的好的方法是什么?


Answers:


10

您可以获取实验数据,并进行一些统计分析以确定过程噪声(时间步长之间的噪声)和传感器噪声(与实际情况相比)。

为了获得传感器噪声的真实情况,您要么需要更精确的传感器,要么进行实验测试,同时将感兴趣的状态保持在已知(通常是固定的)值。

如果没有实验数据,则可以使用每个传感器的数据表或规格来确定其噪声。在这种情况下,过程噪声将更加困难,但是如果执行器是过程噪声的主要来源,则您可以通过假设一定量的噪声(例如由执行器引起)来猜测其值。


另一种方法是考虑允许估计的最大建立时间。这将确定过程噪声和传感器噪声之间的比率。这样可以在满足建立时间要求的同时,发挥最大的过滤效果。

请注意,这并不是调节不同传感器之间或不同状态之间的比率的好方法,因此并不完美。


基本上,如果您有实验数据,则可以获得最佳性能。否则,您只能通过假设过程噪声的主要贡献者噪声或确定所需的最低性能(不是最佳性能,但至少获得所需的最低性能)来计算过程噪声。


1

在机器学习领域,我们将卡尔曼滤波器视为潜在变量模型的推理算法。测量值是可见的,但真实状态是隐藏的。您现在想推断出真实状态。

通常,此方法依赖于一组参数,并且-原则上-获得参数最佳点估计的方法是查看数据的可能性(给定参数)并优化参数以获取最大值。这为您提供了最大似然估计。

不幸的是,在卡尔曼滤波器的情况下,这种方法在封闭形式下不是那么容易且难以处理。这是因为我们没有观察到隐藏状态。因此,必须运用一些技巧。其中一种方法是使用Expecation Maximization(EM)算法,这是一种迭代方法:第一步,在当前参数下,计算隐藏状态最可能的值(期望值)。在第二步中,将隐藏状态保持固定,并优化参数以获得最高可能性的解决方案。重复这些步骤,直到收敛为止。

您可以在一大堆有关机器学习的教科书中阅读EM的一般概念(只有一个例子:David Barber的“贝叶斯推理和机器学习”)。Zoubin Ghahramani和Geoffrey Hinton技术报告中很好地描述了推导线性动力系统参数的过程(为您提供模型的卡尔曼滤波器类型)。


By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.