def kalman(): filter = KalmanFilter(dim_x=2, dim_z=1) x = array([0., 1.]) P = eye(2) * 100. enf = EnsembleKalmanFilter(x=x, P=P, dim_z=1, dt=1., N=20, hx=hx, fx=fx) measurements = [] results = [] ps = [] kf_results = [] for i in range(len(data)): z = data.iloc[i].as_array() enf.predict() enf.update(asarray([z])) filter.predict() filter.update(asarray([[z]])) results.append (enf.x[0]) kf_results.append (kf.x[0,0]) measurements.append(z) ps.append(3*(enf.P[0,0]**.5)) results = asarray(results) ps = asarray(ps)