filter_update 后的 pykalman 尺寸不匹配

问题描述

我正在尝试使用 pykalman 对数据应用 KalmanFilter。当我自己为 KalmanFilter 编写代码时,它运行良好,但我想使用 pykalman 库。

代码如下:

初始化代码

      self.Ve=1e-3
      self.delta=1e-4
      self.Vw=self.delta/(1-self.delta)*np.eye(2)
      self.means=np.zeros((1,2))
      self.cov=np.zeros((2,2))

      self.kf = pykalman.KalmanFilter(
          n_dim_obs=1,n_dim_state=2,transition_covariance=self.Vw,observation_matrices = np.matrix([0,1]),observation_covariance=self.Ve,initial_state_mean=self.means,initial_state_covariance=self.cov,)

更新这些值的代码

self.means,self.cov=self.kf.filter_update(filtered_state_mean=self.means,filtered_state_covariance=self.cov,observation_matrix=self.x,observation=self.y[0])

我得到的结果如下: 矩阵形状的初始值:

observation - predicted_obs_mean.shape (1,1)
R.shape (2,2)
Kalman Gain.shape (2,1)
observation_matrix.shape (1,2)
filtered_state_mean.shape (2,1)
filtered_state_cov.shape (2,2)
predicted_observation_covariance.shape (1,1)
Predicted Observation Mean.shape (1,1)

状态更新后的值:

observation - predicted_obs_mean.shape (1,2)
R.shape (2,2)
filtered_state_cov.shape (2,2)

状态平均值正在改变其形状。我不明白为什么。任何帮助将不胜感激。

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...