Python实现卡尔曼滤波与应用案例解析——机器学习之概率论系列

作者:禅与计算机程序设计艺术

1.简介

20世纪70年代末,卡尔曼在他的博士论文中首次提出了“非线性系统的预测”的概念,由于那时工程师还没有得到计算机的普及,因此此前的预测模型只能简单地运用线性方程拟合。在20世纪90年代末,卡尔曼与戴维·普里斯特拉(Dave Greenteper)一起开发了一种卡尔曼滤波器,并且展示了如何利用这种算法进行预测和控制。到2010年代初期,卡尔曼滤波已经成为一个被广泛使用的技术,用于处理物理系统、经济指标、金融市场等多种数据。
在本篇博文中,我将从以下三个角度对卡尔曼滤波做更深入的分析和阐述:其一,它是什么,为什么重要;其二,它是如何工作的,包括传统滤波器的缺陷和优点;其三,基于卡尔曼滤波构建机器学习模型并进行实际业务应用。

2.相关概念

2.1 传统滤波器

传统滤波器(如滑动平均数滤波器、移动平均数滤波器、最小均方误差滤波器)是指根据某些历史输入信号来估计当前输入信号的简单方法。它的思想是在一段时间内不断更新当前状态,从而对新输入的估计不断向真实值靠拢。传统滤波器主要有两个缺陷,第一,它们往往采用一定窗口长度,导致滤波效果受到噪声影响;第二,它们无法解决反应延迟的问题。

2.2 卡尔曼滤波器

卡尔曼滤波器(Kalman filter),是一类递归型的预测/观察滤波器。它是由卡尔曼和高斯在1960年代提出的,是最早的一套用于非线性系统预测的算法。它的基本思路是通过依据系统运动规律,结合系统输入信号和噪声,

猜你喜欢

转载自blog.csdn.net/universsky2015/article/details/132158304
今日推荐