全部版块 我的主页
论坛 经济学论坛 三区 宏观经济学
40842 110
2012-07-16
这个帖子有两个notes,放在帖子的底部。

先科普一下什么是卡尔曼滤波(the Kalman filter)。卡尔曼滤波最开始发明是NASA的一个航天器导航算法的改进项目,在上个世纪60年代的时候。卡尔曼滤波最开始著名的应用就是在“阿波罗计划”的一系列的航天飞行器的导航系统里面进行高精度系统控制(主要是飞行器路线,位移和着陆位置的高精度估算)。后来卡尔曼滤波几乎被所有工程和科学领域都吸收了,变成控制论第一算法,用在军事上,是导弹追踪系统,雷达搜索,卫星定位等,民用可以是色彩识别,面部识别,动态追踪等。只要我们所建立的系统收到的数据有噪音,卡尔曼滤波就能用来把噪音滤掉,从而模拟不可观测值,和提高估算精度。

卡尔曼滤波有三个重要假设,我都写在notes里面了。其中有两个假设分别是正态和白噪音,这是整个卡尔曼算法的基石,我需要解释一下为什么白噪音和正态假设这么重要。比如,一枚防空导弹升空之后,对目标进行了锁定,导弹导航(missile guidance system) 会引导导弹飞向目标,但是在这个过程中有很多干扰,比如随机的空气流向,电子设备的杂音,都会干扰弹道路线。但是我们这里会做一个权衡,思考这些干扰是否会积累下来,或着很快会被相反方向的杂音所抵消,至少在小范围内随机的空气流向,还有电子器材的杂音都在长期内会被反方向的杂音所抵消,这样整体路线就不变。如果我们假设,空气流动总是朝一个方向,这样所有的误差都会被积累下来,滤波器就会失去效果。所以我们需要有个正态的假设,同时我们必须考虑到这一秒钟的干扰不能导致下一秒的干扰,所以要假设为白噪音。

卡尔曼滤波的算法的哲学思想非常直接明了,用一句话说就是:在每出现一个新观测值的时候,迭代更新系统模拟数据。但是用数学语言表达出来,可以非常复杂。但只要你仔细看清楚每个步骤的用途,卡尔曼滤波的逻辑非常容易懂,但是如果把注意力集中在数学上面,整体逻辑马上会被搞得很混乱。但是这个对于大部分初学者来说,不可避免,因为理解卡尔曼滤波的第一步必须是看懂每个数学步骤。完全熟悉数学步骤之后,过一段时间才会逐渐理解到里面的逻辑。

卡尔曼滤波是建立在state space模型上的一种迭代算法,下面就是一个time-invariant state space model,这个是一种广泛应用的线性系统,使用起来非常方便。也简化很多推导过程。所有的平稳时间序列过程都能被改写成state space model,比如ARMA模型。
ssm.jpg
在修改state space模型的基础上,改成两个prediction equations,然后用prediction equations来做one step ahead forecast,在使用update equations来迭代更新数据,就成了卡尔曼滤波算法。具体构造都写在notes里面。

我写的两个notes,一个几乎已经写成儿童读物了,一个是用暴力推导(不采用任何捷径,比如改换变量,使用定理等)的方式从最基本的几个元素开始推导。儿童读物那个notes,我觉得本科二年级学完概率论之后就能看懂。暴力推导那个需要一些矩阵分析和向量统计学的技术,特别是要对高维度的正态分布非常熟悉。

在暴力推导的那个note里面,我用的卡尔曼滤波,是在我所见过的范围内最简化的,数学难度被压制到最低的版本。但是逻辑和所有其他版本都是相通的。所以我觉得也不会对大家造成任何阅读上的难度。虽然这是名副其实的rocket science,但也不是难到所有人都看不懂。

其实在现代科学里面已经没有直接用卡尔曼滤波的科学研究和工程设计了,因为卡尔曼滤波的限制性很大,都是来自于它极其严格的假设。这些假设在真实生活环境中几乎很难实现。所以很多卡尔曼滤波的改良版,比如EKF(扩展性卡尔曼滤波),particle filter(粒子滤波),information filter(信息滤波)等等。

这里是卡尔曼滤波儿童读物:
kalman_intuition.pdf
大小:(3.53 MB)

 马上下载


这里是卡尔曼滤波暴力推导:
Kalman_derivation.pdf
大小:(226.43 KB)

 马上下载







二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

全部回复
2012-7-16 05:40:39
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2012-7-16 05:43:17
私威信fake0874
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2012-7-16 05:43:26
不错,很清晰
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2012-7-16 07:05:20
想了解一下,谢谢。
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2012-7-16 14:13:01
呵呵,又出新作品了!
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

点击查看更多内容…
相关推荐
栏目导航
热门文章
推荐文章

说点什么

分享

扫码加好友,拉您进群
各岗位、行业、专业交流群