21/8/28 读书笔记 随机游走&卡尔曼滤波器

21/8/28 读书笔记

今天20岁了,还是一个人,果然还是不要学计算机最好……

程序员的数学2

随机过程

对于(看似)随机的时间序列,比如一段音频、股票的涨落,我们将其视作随机变量序列(即随机过程)进行研究。

从数学的角度上看,时间轴就是单纯的一条序列,但是对于处在现实中的我们来说,我们无法在当下预知未来的数据。我们可以将随机过程视作我们的命运,上帝在我们出生的时候就已经知晓了我们一生的轨迹,但是对于我们来说,命运的走向永远是一个未知数,我们所能知晓的只有过去和当下。

书中并不涉及时间序列分析(没有傅里叶变换),而是简单探讨了与时间序列相关的其他话题。

随机游走

随机游走是一个最为基本的随机过程,其基本思想在于无法通过过去的行为,对未来的行为进行预测,其实质就是在当前状态的基础上添加一个随机的向量以获得下一个状态。比如对于单纯的一元等概率移动,当前值即为其状态,每一步都是加上随机的+1或-1,状态的序列就成为了一个随机游走的时间序列。

随机游走中有一个有趣的反射定理,我们仍然考量一元等概率移动:我们一共移动20次,计算中途至少达到+5但是最终归为0的概率。可以从图中看到,经过翻转后,这个问题实际上等价于求取从0到+10的路线的出现概率。

image-20210828092051658
随机游走还有一个特点,就是随着时间的推移,**状态逆转的几率会很低**。
image-20210828101437242

我们不禁会思考一个问题:假设给定时长,状态处在正数的时间总长占总时长的比例是多少?通过理论分析,可以得出其比例小于\(\alpha\)的概率趋向于\(\frac{2\arcsin\sqrt{\alpha}}{\pi}\)。我们可以发现随机游走在极端情况下(比如95以上都是正或者负)拥有明显高于均匀分布下的概率。

我们可以发现上述的一元等概率移动是一个,这是一个博弈论中的重要概念,请参看鞅与随机过程

卡尔曼滤波器

数据滤波:去除噪声的影响,获得真实数据的所承载的信息。

采用最小平方误差进行估计的方法,通常都能够依赖正态分布获得一个合理的解。卡尔曼滤波器也是这样的一种方法,其认为噪声均符合正态分布。

卡尔曼滤波器设定解决一个动态的问题:对于我们需要估计的随机变量\(X\)​​,其在不同时刻\(t\)​​拥有不同的值\(X_t\),从而构成了一个随机过程。我们认为相邻时刻之间的改变\(W_t\)$N(0,\alpha^2)$,$X_t=X_{t-1}+W_t$。同时,我们对$X_t$的测量值记为$Y_t$,$Y_t=X_t+Z_t$,$Z_t$\(N(0,\beta^2)\)​​​表示误差。

我们考虑\(t=1\)​的情况,假设\(X_0\)~\(N(0,\sigma_0^2)\)

\[X_{1}=X_{0}+W_{1}, \quad Y_{1}=X_{1}+Z_{1}=X_{0}+W_{1}+Z_{1} \]

以上两式可以通过矩阵表述。

\[\left(\begin{array}{l} Y_{1} \\ X_{1} \end{array}\right)=\left(\begin{array}{lll} 1 & 1 & 1 \\ 0 & 1 & 1 \end{array}\right)\left(\begin{array}{c} Z_{1} \\ W_{1} \\ X_{0} \end{array}\right) \]

由于\(X_1=X_0+W_1\)​,因此\(\tau_1^2=V[X_1]=\sigma^2_0+\alpha^2\)表示\(X_1\)的方差。

如果我们给定\(Y_1\)​,我们可以得到\(X_1\)​​的条件分布\(N(\mu_1,\sigma_1^2)\)

\[\begin{aligned} \mu_{1} & \equiv \mathrm{E}\left[X_{1} \mid Y_{1}=y_{1}\right]=\frac{\tau_{1}^{2} y_{1}}{\tau_{1}^{2}+\beta^{2}} \\ \sigma_{1}^{2} & \equiv \mathrm{V}\left[X_{1} \mid Y_{1}=y_{1}\right]=\frac{\tau_{1}^{2} \beta^{2}}{\tau_{1}^{2}+\beta^{2}} \end{aligned} \]

注意这里的\(\mu_1\)​、\(\sigma_1^2\)​都是给定\(Y_1\)​的情况下得出的,尤其要区别开\(\sigma^2_1\)​与\(\tau_1^2\)​​。

由此迭代,我们可以得到\(t=2\)时有:

\[\begin{aligned} \mu_{2} & \equiv \mathrm{E}\left[X_{2} \mid Y_{2}=y_{2}, Y_{1}=y_{1}\right]=\mu_{1}+\frac{\tau_{2}^{2}\left(y_{2}-\mu_{1}\right)}{\tau_{2}^{2}+\beta^{2}}=\frac{\tau_{2}^{2} y_{2}+\beta^{2} \mu_{1}}{\tau_{2}^{2}+\beta^{2}} \\ \sigma_{2}^{2} &=\mathrm{V}\left[X_{2} \mid Y_{2}=y_{2}, Y_{1}=y_{1}\right]=\frac{\tau_{2}^{2} \beta^{2}}{\tau_{2}^{2}+\beta^{2}} \\ \tau_{2}^{2} &=\mathrm{V}\left[X_{2} \mid Y_{1}=y_{1}\right]=\sigma_{1}^{2}+\alpha^{2} \end{aligned} \]

由此我们可以在\(t\)​时刻做到以下两件事情,注意它们前提需要给定的值不同:

  • 给定\(Y_{1..n}\),我们可以知道\(X_t\)的条件分布\(N(\mu_t,\sigma_t^2)\)。这是基于\(Y_t=X_t+W_t+Z_t\)的。
  • 给定\(Y_{1..n-1}\),我们可以预测\(X_t\)的分布是\(N(\mu_{t-1},\tau_t^2)\)​。这是基于\(X_t=X_{t-1}+W_t\)的。

卡尔曼滤波假设所有的偏移\(W\)\(Z\)都是服从正态分布的,这意味着偏移不会非常极端,也就是假设状态不会发生突然的改变

posted @ 2021-08-28 10:00  neumy  阅读(519)  评论(0)    收藏  举报