卡尔曼滤波(Kalman filtering)一种利用线性系统状态方程,通过系统输入输出观测数据,对系统状态进行最优估计的算法。由于观测数据中包括系统中的噪声和干扰的影响,所以最优估计也可看作是滤波过程。虽然卡尔曼滤波在对过去值的估计、对现在值的估计以及对将来值的估计方面都有应用,但是如果直接将卡尔曼滤波运用到预测上,其实是很不适用的。在预测过程中一般将卡尔曼滤波与ARMA模型结合,可以对ARMA模型的预测值进行修正,并在一定程度上提升arma预测模型的准确度。
卡尔曼滤波在不确定性中融合信息
可以在任何含有不确定信息的动态系统中使用卡尔曼滤波,对系统下一步的走向做出有根据的预测,即使伴随着各种干扰,卡尔曼滤波总是能指出真实发生的情况。
给出第一个估计值,第一个估计方差以及高斯噪声方差,测量值方差,最后将这三个公式放进一个迭代循环里 。
public class Main {
private static kalmanfilter = new KalmanFilter();
public static void main(String[] arg){
kalmanfilter.initial();
ArrayList<Integer> list = new ArrayList<Integer>();
list.add(-75);
list.add(-76);
list.add(-81);
list.add(-75);
list.add(-77);
list.add(-76);
list.add(-86);
int oldvalue = list.get(0);
ArrayLis