卡尔曼滤波简介
卡尔曼滤波(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}的递推式: