如何解决卡尔曼滤波器与 pykalman 2d 过度拟合
我使用卡尔曼平滑器根据 GPS 点估计人的路径。不久前我有一个问题,这里回答得很好:kalman filter 2d with pykalman。但是现在我遇到了问题,即卡尔曼滤波器对这些点严重过度拟合。平均而言,到测量点的平均距离变化为 0.00016 m。 所以我的问题是,如何防止卡尔曼滤波器过度拟合?
我的代码:
#the inputgdf.geometry looks like this(swiss coord):
[[ 2613496 1265201 ]
[ 2613495 1265205 ]
[ 2613498 1265207]
...]
def get_kalman_koordinates(inputgdf):
transition_matrix = np.array([[1,1,0],[0,1],1]])
observation_matrix = np.array(
[[1,0]])
inputgdf["x_koord"]=inputgdf.geometry.x
inputgdf["y_koord"]=inputgdf.geometry.y
measurements = np.asarray(inputgdf[["x_koord","y_koord"]])
#print(measurements)
kf = pykalman.KalmanFilter(
transition_matrices=transition_matrix,observation_matrices=observation_matrix)
#kf.em(X=measurements,n_iter=5)
(smoothed_state_means,smoothed_state_covariances) = kf.smooth(measurements)
inputgdf["Kalman_x"]=smoothed_state_means[:,0]
inputgdf["Kalman_y"]=smoothed_state_means[:,1]
result = geopandas.GeoDataFrame(
inputgdf,geometry=geopandas.points_from_xy(inputgdf.Kalman_x,inputgdf.Kalman_y),crs= "epsg:2056")
return result
我还是个新手,欢迎任何反馈,我可以如何改进我的问题。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。