SciTech-BigDataAIML-Python Time Series Handbook - Kalman filter:( Optimal Recursive Data Processing Algorithm): 卡尔曼滤波器算法(也称“最优的递归数据处理算法”)
Kalman Filter(卡尔曼滤波器算法)
SciTech-BigDataAIML-Python Time Series Handbook
Kalman filter is also known as:
Optimal Recursive Data Processing Algorithm.
最优的递归数据处理算法
网上文档:
Python时间序列手册: 有ipynb和PDF文件:
https://filippomb.github.io/python-time-series-handbook/notebooks/07/kalman-filter.htmlIllinois University PDF: Understanding the Basis of the Kalman Filter Via a …
PDF: Standford University: Lecture 8 The Kalman filter - Stanford University
ArXiv:
PDF: An Elementary Introduction to Kalman Filtering - arXiv.org
PDF: A Step by Step Mathematical Derivation and Tutorial on …
Overview
This lecture will cover the following topics:
- Introduction to the Kalman Filter.
- Model components and assumptions.
- The Kalman Filter algorithm.
- Application to static and dynamic one-dimensional data.
- Application to higher-dimensional data.
What is a Kalman Filter?
- The Kalman Filter (KF) is an algorithm that uses a series of measurements observed over time, containing statistical noise and other inaccuracies.
- It produces estimates of unknown variables that tend to be more accurate than those based only on measurements.
- Developed by Rudolf E. Kálmán in the late 1950s.
- Applications:
tracking objects (Auto EV, GPS, self driving cars).
image processing.
economic and financial modeling.
Theoretical foundations
- Dynamic systems are systems that change over time.
- They are described by a set of equations that predict the future state of the system based on its current state.
- The KF assumes the system is a linear dynamic system with Gaussian noise.
- Gaussian distributions are used because of their nice properties when dealing with averages and variances.
What are the ingredients?
State
- The true value of the variables we want to estimate.
- The state vector represents all the information needed to describe the current state of the system.
Observation model
*Relates the current state to the measurements or observations.
Noisy measurements
The process noise and measurement noise (assumed to be Gaussian) represent the uncertainty in our models and measurements.
Example:
- Car moving at a constant velocity.
- Model: Car position = velocity × time + system noise.
- Measurements: position and velocity (which are also noisy).
The role of noise
- The tradeoff between the influence of the model and the measurements is determined by noise.
- If the model has relatively large errors, more importance is given to the latest measurements in computing the current estimate.
- If the measurements have larger errors, more importance is given to the model in making the current estimate.
- Therefore, you need to estimate not only your state but also the errors
Update strategy
KF is a recursive algorithm:
- Uses information from previous time step to update the estimates.
- Does not keep in memory all the data acquired so far.
Has predictor-corrector structure:
Make a prediction based on the model.
Update the prediction with the measurements.
Repeat.
Fundamental assumptions
The Kalman filter approach is based on three fundamental assumptions:
- The system can be described or approximated by a linear model.
- All noise (from both the system and the measurements) is white, i.e., the values are not correlated.
All noise is Gaussian.
Assumption 1: linearity
- Each variable at the current time is a linear function of the variables at previous times.
- Many systems can be approximated this way.
- Linear systems are easy to analyze.
Nonlinear systems can often be approximated by linear models around a current estimate (extended KF).
Assumption 2: Whiteness
- The noise values are not correlated in time.
If you know the noise at time, it doesn't help you to predict the noise at future times. - White noise is a reasonable approximation of the real noise.
The assumption makes the mathematics tractable.
Note White noise contains a mix of all the different frequencies at the same intensity blended together.
This is similar to how white light contains all the colors of the rainbow combined.
Assumption 3: Gaussian noise
At any point in time, the probability density of the noise is a Gaussian.
System and measurement noise are often a combination of many small sources of noise.
The combination effect is approximately Gaussian.
If only mean and variance are known (typical case in engineering systems), Gaussian distribution is a good choice as these two quantities completely determine the Gaussian distribution.
Gaussian distribution have nice properties and are easy to treat mathematically.
Technical details
Combining two sources
Assume a car has a certain initial position and initial velocity.
If the speed is constant, we have:
SciTech-BigDataAIML-Python Time Series Handbook - Kalman filter:( Optimal Recursive Data Processing Algorithm): 卡尔曼滤波器算法(也称“最优的递归数据处理算法”)的更多相关文章
- 卡尔曼滤波器 Kalman Filter (转载)
在学习卡尔曼滤波器之前,首先看看为什么叫“卡尔曼”.跟其他著名的理论(例如傅立叶变换,泰勒级数等等)一样,卡尔曼也是一个人的名字,而跟他们不同的是,他是个现代人! 卡 尔曼全名Rudolf Emil ...
- 对Kalman(卡尔曼)滤波器的理解
1.简单介绍(Brief Introduction) 在学习卡尔曼滤波器之前,首先看看为什么叫"卡尔曼". 跟其它著名的理论(比如傅立叶变换.泰勒级数等等)一样.卡尔曼也是一个人的 ...
- 对Kalman(卡尔曼)滤波器的理解@@zz
1.简介(Brief Introduction) 在学习卡尔曼滤波器之前,首先看看为什么叫“卡尔曼”.跟其他著名的理论(例如傅立叶变换,泰勒级数等等)一样,卡尔曼也是一个人的名字,而跟他们不同的是,他 ...
- 泡泡一分钟:Robust Attitude Estimation Using an Adaptive Unscented Kalman Filter
张宁 Robust Attitude Estimation Using an Adaptive Unscented Kalman Filter 使用自适应无味卡尔曼滤波器进行姿态估计链接:https: ...
- 卡尔曼滤波—Simple Kalman Filter for 2D tracking with OpenCV
之前有关卡尔曼滤波的例子都比较简单,只能用于简单的理解卡尔曼滤波的基本步骤.现在让我们来看看卡尔曼滤波在实际中到底能做些什么吧.这里有一个使用卡尔曼滤波在窗口内跟踪鼠标移动的例子,原作者主页:http ...
- 卡尔曼滤波器【Kalman Filter For Dummies】
搬砖到此: A Quick Insight As I mentioned earlier, it's nearly impossible to grasp the full meaning o ...
- GMM+Kalman Filter+Blob 目标跟踪
转 http://www.cnblogs.com/YangQiaoblog/p/5462453.html ==========图片版================================== ...
- [Scikit-learn] Dynamic Bayesian Network - Kalman Filter
看上去不错的网站:http://iacs-courses.seas.harvard.edu/courses/am207/blog/lecture-18.html SciPy Cookbook:http ...
- (二). 细说Kalman滤波:The Kalman Filter
本文为原创文章,转载请注明出处,http://www.cnblogs.com/ycwang16/p/5999034.html 前面介绍了Bayes滤波方法,我们接下来详细说说Kalman滤波器.虽然K ...
- 机器人学 —— 机器人感知(Kalman Filter)
对于机器人感知任务而言,经常需要预判物体的运动,保证机器人在物体与自身接触之前进行规避.比如无人机与障碍物的碰撞,足球机器人判断足球的位置.预判的前提是对当前状态进行准确的估计,比如足球的速度,障碍物 ...
随机推荐
- 在IIS发布.net9 api程序踩坑总结
参照:.NET 9.0 WebApi 发布到 IIS 详细步骤_webapi发布到iis-CSDN博客 环境搭建: 注意安装与程序版本对应的Windows Server Hosting,安装完成之后, ...
- sql学习day3——case when的使用
1,当前表 course_master open_course ...
- CTF实验吧认真一点 SQL盲注
实验吧地址 http://ctf5.shiyanbar.com/web/earnest/index.php 很明显的返回两个不同得页面,判断为SQL盲注 并且 过滤了敏感字符 测试的时候还发现过滤了s ...
- 最新Typora1.9.5破解版下载与使用教程(Windows+Mac)
一.Typora是什么? 一款 Markdown 编辑器和阅读器,能知道Typora的小伙伴,肯定也会用的 二.使用步骤 1.下载软件 夸克网盘:https://pan.quark.cn/s/2d6d ...
- SQL 强化练习 (二)
继续 sql 搞起来, 面向过程来弄, 重点是分析的思路, 涉及的的 left join, inner join, group by +_ having, case when ... 等场景, 也是比 ...
- VitePress 集成 Twikoo 评论
Twikoo 是一个简洁.安全.免费的静态网站评论系统. 主要特点:免费搭建,部署简单,功能很完善,隐私护安全,通知发邮件,管理有内嵌,总之免费又方便 关于后端部署,大家可以看官网,或者这篇 Vite ...
- C#中无法将文件”obj\debug\XXX.dll复制到“bin\Debug\XXX.dll” 拒绝访问
较为方便有效的方法就是,把项目属性中的"应用程序集"的"程序集名称"修改为另一个名称即可.
- 【FAQ】HarmonyOS SDK 闭源开放能力 —Vision Kit (3)
1.问题描述: 通过CardRecognition识别身份证拍照拿到的照片地址,使用该方法获取不到图片文件,请问如何解决? 解决方案: //卡证识别实现页,文件名为CardDemoPage,需被引入至 ...
- X86C++反汇编01.IDA和提取签名
https://bpsend.net/thread-415-1-1.html 用VC6.0新建一个控制台工程 编译成 debug 和 Release 2个版本 应ida分别查看2种版本的程序 高版本i ...
- 【公众号搬运】React-Native开发鸿蒙NEXT(3)
.markdown-body { line-height: 1.75; font-weight: 400; font-size: 16px; overflow-x: hidden; color: rg ...