平滑跟踪数值时,新观测未必总是同样可靠。可以显式记录当前估计的不确定程度,并让新观测的误差参数决定这一次更新应更相信旧估计还是测量。
先明确输入与规则
本例是一个自定义的一维随机游走估计模型。每步先把旧方差P加过程量Q,得到预测方差;增益K为预测方差除以预测方差加观测方差R。新估计为旧估计加K乘观测与旧估计之差,新方差为(一减K)乘预测方差。
本例的独立记录
初估计2,初方差7,每步过程量1。观测记录由数值和方差R组成。
观测、R | 旧估计 | 预测方差 | 增益 | 创新 | 新估计 | 新方差 [2, 7] | 2.000000 | 8.000000 | 0.533333 | 0.000000 | 2.000000 | 3.733333 [16, 9] | 2.000000 | 4.733333 | 0.344660 | 14.000000 | 6.825243 | 3.101942 [0, 6] | 6.825243 | 4.101942 | 0.406055 | -6.825243 | 4.053820 | 2.436329 [14, 25] | 4.053820 | 3.436329 | 0.120843 | 9.946180 | 5.255746 | 3.021073 [16, 4] | 5.255746 | 4.021073 | 0.501314 | 10.744254 | 10.641986 | 2.005254 [5, 9] | 10.641986 | 3.005254 | 0.250328 | -5.641986 | 9.229638 | 2.252954
记录中的编号只用来区分本例对象,不应与大小排名或另一组记录的身份混淆。先核对单位和边界,再跟随中间值检查结果。空结果、零值与尚未确定是不同状态;分数保留精确含义,显示小数只为方便阅读。
怎样复算
P、Q、R在例中为正,增益应严格位于零与一之间,新估计位于旧估计和观测之间。R变大时其他条件不变,观测权重会减小;预测不确定性增大则会提高观测权重。
逐步记录创新量、增益和新方差,再与固定权重平均区分。虽然输出看起来都平滑,权重来源并不相同。示例显示小数用于阅读,保存的分数可以精确复核,避免把显示舍入当成内部计算规则。
适用条件与限制
这是在明确模型与误差参数下的数值练习,没有保证真实游戏测量满足相应假设。R不是用来随意掩盖异常的开关;若运动模型与实际变化差很多,滤波可能延迟或偏离,需要检查输入和模型而不是只调一个参数。
练习时可以一次只改变一个条件,比较差异从哪个步骤开始。若自己的结果不同,先核对是否采用同样的规则,再定位第一个不一致的中间状态,不要只修改最终答案。输入与运算过程需要一起保存,才能判断结论究竟适用于哪一个具体场景。
