我正在使用 Pykalman 来拟合单变量 (1d) 卡尔曼滤波器。虽然filter_state_means
随着时间的推移不断变化,但filtered_state_covariance
在采用几个数据点收敛后,它是恒定的。
这就是我正在做的事情:
import numpy as np
import pykalman
import matplotlib.pyplot as plt
dat = np.cumsum(np.random.normal(loc=0, scale=0.01, size=100))
kf = pykalman.KalmanFilter(n_dim_obs=1, n_dim_state=1, transition_matrices=[1],
observation_matrices=[1], initial_state_mean=dat[0],
initial_state_covariance=dat[0]**2, observation_covariance=np.eye(1),
transition_covariance=np.eye(1))
state_means, state_covs = kf.filter(dat)
plt.plot(np.vstack(state_covs))
我究竟做错了什么 ?
谢谢你。