前几天偶然看到一个叫卡尔曼滤波的家伙,闲来无事搜来看看,看的是迷迷糊糊,一会儿这里说是做时间序列平滑的,一会儿这里是说滤波的,一会儿说可以预测未来值,但预测不又需要当前的观测值么,那能不能进行多步预测呢,反正搞得是迷迷糊糊。直到我在百度百科上看到一句话,让我醍醐灌顶!
就是说,卡尔曼滤波对于过去位置的估计叫插值或平滑,对当前位置的估计叫滤波,感觉这俩差别不大,因为都可以搞到观测值嘛;再者对未来位置的估计叫预测,这个预测呢,就是根据递推方程作出的对未来位置的预测,不是最优估计哈!因为未来的最优估计需要综合未来的预测和对未来的观测,可是观测我们没观测数据呀!下面咋们浅浅的从公式来看一下呗!这里引用一下https://www.likecs.com/show-143711.html,对公式里每个字母都有解释,看起来方便,不然一会这个字母一会那个字母,早搞糊涂了!
先记住卡尔曼滤波始终贯穿一句话,那就是当前的预测和当前的观测值综合起来才为当前的最优估计!而当前的预测又和上一时刻的最优估计有关,如式(1)所示,这就递推上了!
(1)(2)是用来预测未来状态的,(那么这个(1)式你也可以替代成你的预测方程,什么线性模型,机器学习预测模型啦(线性),非线性问题就扩展卡尔曼滤波咯,对非线性函数(也就是这里的式(1))的Taylor展开式进行一阶线性化截断,将非线性问题转化为线性)
(3)(4)(5)是用来校正预测值的,(1)就是递推预测出来的当前状态的预测值,但不是最优值,(4)才是经过观测值校正后得到的最优值,也就是说卡尔曼滤波可以做预测,但是对未来的预测只能止步于(1)得到一个预测值,达不到(4)最优估计,因为没有观测值是吧。
理解完预测,平滑插值和滤波就很好理解啦,他们都有观测值,就是综合当前预测值和观测值得到最优估计啦,网上看到有句话说其实就是加权,没毛病哈!加权了波动变小了,就平滑了,噪声波也被过滤掉了!
那我们想把这个加到论文里的话,或者打比赛什么的,
思路一就是先用卡尔曼滤波对时间序列做平滑处理,或者有缺失值的可以做插值处理,然后再去预测;
思路二就是将你的线性预测模型和卡尔曼滤波结合起来构造一个动态预测模型,是不是高级了,当然只能得到一个预测值,而不是最优估计,最优估计需要观测值去校正。这个下一时刻其实是可以自己定义的,比如你定义5分钟为一个度量,那你就可以预测下一个5分钟;
思路三想到再扩展吧!
版权归原作者 JamesHuaZai 所有, 如有侵权,请联系我们删除。