钟形曲线的滤波器
当状态做线性变动、噪声都是钟形时,会出现一个好结果:关于状态的信念永远是一条钟形曲线。钟形曲线只需要两个数,均值 m 和方差 P,所以滤波器只要带着这两个数就行。这就是卡尔曼滤波,在这种设定下它给出的是精确答案。它每天走两步。预测:均值不变,方差增加 q。更新:观测 y 把均值朝自己拉近一个比例 K(称为增益),方差随之减小。
P−=P+q,K=P−+rP−,m=m−+K(y−m−),P=(1−K)P−(1) 更新其实就是加权平均:新均值为 (1−K)m−+Ky。增益 K 在 0 与 1 之间。当预测很不确定(P− 大)或观测很精确(r 小)时,K 接近 1,你更相信数据;反之接近 0,你更相信预测。差值 y−m− 是“意外”,称为新息。每次更新都会减小方差(因为 1−K<1),每次预测又使其增加 q。运行足够久之后,两者在一个稳定水平上达到平衡。
两天的滤波取信念
N(0,2)、
q=0.5、
r=1,第一个观测
y1=2。预测:
P−=2.5。增益:
K=2.5/3.5=0.714。更新:
m1=0+0.714×2=1.429,
P1=(1−0.714)×2.5=0.714。第二天
y2=1:预测
P−=0.714+0.5=1.214,
K=1.214/2.214=0.548。意外为
1−1.429=−0.429,所以
m2=1.429−0.548×0.429=1.194。长期来看,预测方差稳定在满足
P−=q+P−r/(P−+r) 的位置,对这组数恰好是
1,稳态增益为
0.5。
同一个滤波器还能跟踪随时间变化的贝塔。状态是像随机游走一样漂移的贝塔 βt,观测是股票收益 yt=βtmt+et,其中 mt 是市场收益。唯一的改变是增益变成 K=P−mt/(P−mt2+r):市场大幅波动的日子对贝塔很有信息,mt≈0 的日子几乎没有信息。2005 年以来苹果对 SPY 的全样本贝塔是 1.07,而 q=10−3 的卡尔曼滤波给出:2008 年底 0.77,2018 年底 1.42,最后一天 0.40,标准误差约 0.25。
- 每天两个数:一切都是线性且钟形时,均值和方差就够了。
- 增益是信任旋钮:K 接近 1 信任新数据,接近 0 信任预测。
- 局限:如果波动率本身是隐藏的,或噪声有厚尾,信念就不再是钟形,需要用粒子。
实验:评分内容
- 第一个增益15 分
- 更新后的均值15 分
- 更新后的方差10 分
- 第二天15 分
- 稳态水平10 分
- 噪声更大的观测10 分
- 配对术语10 分
- 为什么更新会减小方差15 分