卡尔曼滤波及其java实现

卡尔曼滤波简介

卡尔曼滤波(Kalman filtering)一种利用线性系统状态方程,通过系统输入输出观测数据,对系统状态进行最优估计的算法。由于观测数据中包括系统中的噪声和干扰的影响,所以最优估计也可看作是滤波过程。虽然卡尔曼滤波在对过去值的估计、对现在值的估计以及对将来值的估计方面都有应用,但是如果直接将卡尔曼滤波运用到预测上,其实是很不适用的。在预测过程中一般将卡尔曼滤波与ARMA模型结合,可以对ARMA模型的预测值进行修正,并在一定程度上提升arma预测模型的准确度。

ARMA模型

关于ARMA模型的介绍及其实现可参考 ARIMA模型原理及其java实现。此处不再进行介绍。

结合卡尔曼滤波的ARMA模型介绍

ARIMA模型与线性空间的转换(Harvey方法)

假定ARMA(p,q)的模型为:
这里写图片描述
为了方便之后模型的推导,可以选ARMA(p,q)=ARMA(m, m-1),即
这里写图片描述
因此ARMA(m, m-1)模型为
这里写图片描述
Harvey方法中,给出了具有m
维状态向量st_的状态空间的一种形式,该状态向量的第一个元素是yt_,即
这里写图片描述
而对于st_的其他元素通过递归得到。通过上面的表达式,不难得到:
这里写图片描述
其中:
这里写图片描述
此外,考虑s_{2,t+1},有:
这里写图片描述
其中:
这里写图片描述
依次类推,分别可得到
这里写图片描述
由上面的表述,我们可求得最终s_{k,t}的递推式:

  • 1
    点赞
  • 16
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值